Einricht von Openflow Connector für SharePoint¶
Bemerkung
Der Konnektor unterliegt den Bedingungen für Konnektoren.
Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector für SharePoint beschrieben.
Voraussetzungen¶
Stellen Sie sicher, dass Sie Openflow Connector für SharePoint gelesen haben.
Stellen Sie sicher, dass Sie Openflow eingerichtet haben.
Die Anmeldeinformationen erhalten¶
Führen Sie als SharePoint-Administrator die folgenden Aktionen durch:
Stellen Sie sicher, dass Sie eine Microsoft Graph-Anwendung mit den folgenden Microsoft Graph Berechtigungen haben:
Sites.Selected: schränkt den Zugriff nur auf bestimmte Websites ein.
Files.SelectedOperations.Selected: schränkt den Zugriff nur auf Dateien in angegebenen Websites ein.
GroupMember. Read.All: wird für die Auflösung von SharePoint-Gruppenberechtigungen verwendet.
User.ReadBasic.All: wird für die Auflösung von Microsoft365-Benutzer-E-Mail–Adressen verwendet.
Konfigurieren Sie SharePoint, um die OAuth-Authentifizierung zu aktivieren, wie in „Zugriff ohne Benutzer“ beschrieben. Der Konnektor verwendet die folgenden Microsoft Graph-APIs, um Daten von SharePoint abzurufen:
Rufen Sie die Website-URL Ihrer Microsoft 365 SharePoint-Website mit den Dateien oder Ordnern auf, die Sie in Snowflake aufnehmen möchten, sowie die Anmeldedaten von Ihrem Azure- oder Office 365-Kontoadministrator.
Snowflake-Konto einrichten¶
Als Administrator eines Snowflake-Kontos führen Sie die folgenden Aufgaben manuell oder mithilfe des unten aufgeführten Skripts aus:
Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle und erteilen Sie die Berechtigungen von Datenbanken.
Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE.
Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben.
Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 2.
Snowflake empfiehlt diesen Schritt dringend. Konfigurieren Sie einen von Openflow unterstützten Geheimnismanager, z. B. AWS, Azure und Hashicorp, und speichern Sie die öffentlichen und privaten Schlüssel im Geheimnisspeicher.
Bemerkung
Wenn Sie aus irgendeinem Grund keinen Geheimnismanager verwenden möchten, sind Sie dafür verantwortlich, die für die Schlüsselpaar-Authentifizierung verwendeten öffentlichen und privaten Schlüsseldateien gemäß den Sicherheitsrichtlinien Ihrer Organisation zu schützen.
Nachem der Geheimnismanager konfiguriert ist, legen Sie fest, wie Sie sich bei ihm authentifizieren möchten. Auf AWS wird empfohlen, die mit Openflow verknüpfte EC2-Instanzrolle zu verwenden, da auf diese Weise keine weiteren Geheimnisse gespeichert werden müssen.
Konfigurieren Sie in Openflow einen mit diesem Geheimnismanager verknüpften Parameter Provider über das Hamburger-Menü oben rechts. Navigieren Sie zu Controller Settings » Parameter Provider, und rufen Sie Ihre Parameterwerte ab.
Zu diesem Zeitpunkt können alle Anmeldeinformationen mit den zugehörigen Parameterpfaden referenziert werden, und es müssen keine sensiblen Werte innerhalb von Openflow aufbewahrt werden.
Wenn andere Snowflake-Benutzer Zugriff auf die vom Konnektor aufgenommenen Rohdokumente und -tabellen benötigen (z. B. für die benutzerdefinierte Verarbeitung in Snowflake), weisen Sie diesen Benutzern die in Schritt 1 erstellte Rolle zu.
Bestimmen Sie ein Warehouse, das der Konnektor verwenden soll. Beginnen Sie mit der kleinsten Warehouse-Größe und experimentieren Sie dann mit der Größe in Abhängigkeit von der Anzahl der zu replizierenden Tabellen und der Menge der übertragenen Daten. Große Tabellenzahlen lassen sich in der Regel besser mit Multi-Cluster-Warehouses skalieren als mit größeren Warehouse-Größen.
Beispiel-Setup¶
--The following script assumes you'll need to create all required roles, users, and objects. --However, you may want to reuse some that are already in existence. --Create a Snowflake service user to manage the connector USE ROLE USERADMIN; CREATE USER <openflow_service_user> TYPE=SERVICE COMMENT='Service user for Openflow automation'; --Create a pair of secure keys (public and private). For more information, see --key-pair authentication. Store the private key for the user in a file to supply --to the connector’s configuration. Assign the public key to the Snowflake service user: ALTER USER <openflow_service_user> SET RSA_PUBLIC_KEY = '<pubkey>'; --Create a role to manage the connector and the associated data and --grant it to that user USE ROLE SECURITYADMIN; CREATE ROLE <openflow_connector_admin_role>; GRANT ROLE <openflow_connector_admin_role> TO USER <openflow_service_user>; --The following block is for USE CASE 2 (Cortex connect) ONLY --Create a role for read access to the cortex search service created by this connector. --This role should be granted to any role that will use the service CREATE ROLE <cortex_search_service_read_only_role>; GRANT ROLE <cortex_search_service_read_only_role> TO ROLE <whatever_roles_will_access_search_service>; --Create the database the data will be stored in and grant usage to the roles created USE ROLE ACCOUNTADMIN; --use whatever role you want to own your DB CREATE DATABASE IF NOT EXISTS <destination_database>; GRANT USAGE ON DATABASE <destination_database> TO ROLE <openflow_connector_admin_role>; --Create the schema the data will be stored in and grant the necessary privileges --on that schema to the connector admin role: USE DATABASE <destination_database>; CREATE SCHEMA IF NOT EXISTS <destination_schema>; GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>; GRANT CREATE TABLE, CREATE DYNAMIC TABLE, CREATE STAGE, CREATE SEQUENCE, CREATE CORTEX SEARCH SERVICE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>; --The following block is for CASE 2 (Cortex connect) ONLY --Grant the Cortex read-only role access to the database and schema GRANT USAGE ON DATABASE <destination_database> TO ROLE <cortex_search_service_read_only_role>; GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <cortex_search_service_read_only_role>; --Create the warehouse this connector will use if it doesn't already exist. Grant the --appropriate privileges to the connector admin role. Adjust the size according to your needs. CREATE WAREHOUSE <openflow_warehouse> WITH WAREHOUSE_SIZE = 'MEDIUM' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE; GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE <openflow_connector_admin_role>;Copy
Anwendungsfall 1: Den Konnektor nur zur Aufnahme von Dateien verwenden¶
Verwenden Sie den Anschluss, um:
Benutzerdefinierte Verarbeitung von aufgenommenen Dateien durchführen
SharePoint-Dateien und -Berechtigungen aufzu nehmen und auf dem neuesten Stand zu halten
Einrichten des Konnektors¶
Führen Sie als Data Engineer die folgenden Aufgaben aus, um den Konnektor zu konfigurieren:
Konnektor installieren¶
Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.
Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.
Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.
Wählen Sie Add aus.
Bemerkung
Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.
Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.
Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.
Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.
Konnektor konfigurieren¶
Befüllen Sie die Prozessgruppenparameter
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameter aus.
Geben Sie die erforderlichen Parameterwerte ein, wie unter Aufnahmeparameter für SharePoint, Zielsystemparameter für SharePoint und Quellsystemparameter für SharePoint beschrieben.
Quellsystemparameter für SharePoint¶
Parameter |
Beschreibung |
---|---|
SharePoint-Website-URL |
URL oder SharePoint-Website, von denen der Konnektor Inhalte aufnehmen wird |
SharePoint Client ID |
Microsoft Entra Client ID. Informationen über die Client-ID und wie man sie in Microsoft Entra findet, finden Sie unter Anwendungs-ID (Client-ID). |
SharePoint Client Secret |
Microsoft Entra Client Secret. Informationen über ein Client-Geheimnis und wie man es in Microsoft Entra findet, finden Sie unter Zertifikate und Geheimnisse. |
SharePoint Tenant ID |
Microsoft Entra Tenant ID. Weitere Informationen zur Mandanten-ID und wie Sie sie in Microsoft Entra finden, finden Sie unter So finden Sie Ihre Microsoft 365-Mandanten-ID. |
SharePoint Application Private Key |
Ein generierter privater Anwendungsschlüssel im PEM-Format. Der Schlüssel muss unverschlüsselt sein. |
SharePoint Site Domain |
Ein Domänenname der synchronisierten SharePoint-Website. |
SharePoint Application Certificate |
Ein generiertes Anwendungszertifikat im PEM-Format. |
SharePoint Destination Parameters¶
Parameter |
Beschreibung |
---|---|
Destination Database |
Die Datenbank, in der die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein |
Destination Schema |
Das Schema, in dem die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein |
Snowflake Account Identifier |
Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden |
Snowflake Authentication Strategy |
Strategie zur Authentifizierung bei Snowflake. Mögliche Werte: SNOWFLAKE_SESSION_TOKEN – wenn wir den Ablauf auf SPCS ausführen, KEY_PAIR, wenn wir den Zugriff mit einem privaten Schlüssel einrichten wollen |
Snowflake Private Key |
Der private RSA Schlüssel, der für die Authentifizierung verwendet wird. Der RSA-Schlüssel muss nach den PKCS8-Standards formatiert sein und den Standard-PEM-Header und -Footer enthalten. Beachten Sie, dass entweder Snowflake Private Key File oder Snowflake Private Key definiert sein muss |
Snowflake Private Key File |
Die Datei, die den privaten RSA-Schlüssel enthält, der für die Authentifizierung bei Snowflake verwendet wird. Sie ist nach den PKCS8-Standards formatiert und hat die Standard-PEM-Header und -Footer. Die Header beginnt mit |
Snowflake Private Key Password |
Das Kennwort, das mit der Snowflake Private Key-Datei verknüpft ist |
Snowflake Role |
Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird |
Snowflake-Benutzername |
Benutzername für die Verbindung zur Snowflake-Instanz |
Snowflake Warehouse |
Snowflake Warehouse zur Ausführung von Abfragen |
Aufnahmeparameter für SharePoint¶
Parameter |
Beschreibung |
---|---|
SharePoint Site Groups Enabled |
Gibt an, ob die Funktion „Site Groups“ aktiviert ist. |
SharePoint Source Folder |
Unterstützte Dateien aus diesem Ordner und allen seinen Unterordnern werden in Snowflake aufgenommen. Der Ordnerpfad ist relativ zur Bibliothek „Gemeinsame Dokumente“. |
File Extensions To Ingest |
Eine durch Kommas getrennte Liste, die die zu übernehmenden Dateierweiterungen angibt. Der Konnektor versucht, die Dateien zunächst in das -PDF-Format zu konvertieren, falls möglich. Die Erweiterung wird jedoch anhand der ursprünglichen Dateierweiterung überprüft. Informationen zu den Formaten, die konvertiert werden können, finden Sie unter Formatoptionen. Wenn einige der angegebenen Dateierweiterungen von Cortex Parse Document nicht unterstützt werden, ignoriert der Konnektor diese Dateien, protokolliert eine Warnmeldung in einem Ereignisprotokoll und fährt mit der Verarbeitung anderer Dateien fort. |
SharePoint Document Library Name |
Eine Bibliothek auf der SharePoint-Website, aus der Dateien aufgenommen werden sollen. |
Snowflake File Hash Table Name |
Name der Tabelle zum Speichern von Datei-Hashwerten, um festzustellen, ob sich der Inhalt geändert hat. Dieser Parameter sollte im Allgemeinen nicht geändert werden. |
Führt den Ablauf aus.
Starten Sie die Prozessgruppe. Der Ablauf erstellt alle erforderlichen Objekte innerhalb von Snowflake.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start.
Anwendungsfall 2: Die Konnektordefinition verwenden, um Dateien zu importieren und mit Cortex zu verarbeiten¶
Verwenden Sie die vordefinierte Ablaufdefinition, um:
AI-Assistenten für öffentliche Dokumente auf der SharePoint-Website Ihrer Organisation zu erstellen.
Ihren AI-Assistenten die Einhaltung der Zugriffskontrollen zu ermöglichen, die auf der SharePoint-Website Ihres Unternehmens festgelegt sind.
Einrichten des Konnektors¶
Führen Sie als Data Engineer die folgenden Aufgaben aus, um den Konnektor zu konfigurieren:
Konnektor installieren¶
Erstellen Sie in Snowflake eine Datenbank und ein Schema für den Konnektor, um die aufgenommenen Daten zu speichern. Erteilen Sie der im ersten Schritt erstellten Rolle die erforderlichen Berechtigungen von Datenbanken. Ersetzen Sie den Platzhalter für die Rolle durch den tatsächlichen Wert und verwenden Sie die folgenden SQL-Befehle:
CREATE DATABASE DESTINATION_DB; CREATE SCHEMA DESTINATION_DB.DESTINATION_SCHEMA; GRANT USAGE ON DATABASE DESTINATION_DB TO ROLE <CONNECTOR_ROLE>; GRANT USAGE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>; GRANT CREATE TABLE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>;
Copy
Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.
Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.
Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.
Wählen Sie Add aus.
Bemerkung
Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.
Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.
Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.
Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.
Konnektor konfigurieren¶
Befüllen Sie die Prozessgruppenparameter
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameter aus.
Geben Sie die erforderlichen Parameterwerte ein, wie in Quellsystemparameter für Sharepoint Cortex Connect, Zielsystemparameter für Sharepoint Cortex Connect und Aufnahmeparameter Sharepoint Cortex Connect beschrieben.
Quellsystemparameter für SharePoint Cortex Connect¶
Parameter |
Beschreibung |
---|---|
SharePoint-Website-URL |
URL oder SharePoint-Website, von denen der Konnektor Inhalte aufnehmen wird |
SharePoint Client ID |
Microsoft Entra Client ID. Informationen über die Client-ID und wie man sie in Microsoft Entra findet, finden Sie unter Anwendungs-ID (Client-ID). |
SharePoint Client Secret |
Microsoft Entra Client Secret. Informationen über ein Client-Geheimnis und wie man es in Microsoft Entra findet, finden Sie unter Zertifikate und Geheimnisse. |
SharePoint Tenant ID |
Microsoft Entra Tenant ID. Weitere Informationen zur Mandanten-ID und wie Sie sie in Microsoft Entra finden, finden Sie unter So finden Sie Ihre Microsoft 365-Mandanten-ID. |
SharePoint Application Private Key |
Ein generierter privater Anwendungsschlüssel im PEM-Format. Der Schlüssel muss unverschlüsselt sein. |
SharePoint Site Domain |
Ein Domänenname der synchronisierten SharePoint-Website. |
SharePoint Application Certificate |
Ein generiertes Anwendungszertifikat im PEM-Format. |
Zielsystemparameter für SharePoint Cortex Connect¶
Parameter |
Beschreibung |
---|---|
Destination Database |
Die Datenbank, in der die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein |
Destination Schema |
Das Schema, in dem die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein |
Snowflake Account Identifier |
Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden |
Snowflake Authentication Strategy |
Strategie zur Authentifizierung bei Snowflake. Mögliche Werte: SNOWFLAKE_SESSION_TOKEN – wenn wir den Ablauf auf SPCS ausführen, KEY_PAIR, wenn wir den Zugriff mit einem privaten Schlüssel einrichten wollen |
Snowflake Private Key |
Der private RSA Schlüssel, der für die Authentifizierung verwendet wird. Der RSA-Schlüssel muss nach den PKCS8-Standards formatiert sein und den Standard-PEM-Header und -Footer enthalten. Beachten Sie, dass entweder Snowflake Private Key File oder Snowflake Private Key definiert sein muss |
Snowflake Private Key File |
Die Datei, die den privaten RSA-Schlüssel enthält, der für die Authentifizierung bei Snowflake verwendet wird. Sie ist nach den PKCS8-Standards formatiert und hat die Standard-PEM-Header und -Footer. Die Header beginnt mit |
Snowflake Private Key Password |
Das Kennwort, das mit der Snowflake Private Key-Datei verknüpft ist |
Snowflake Role |
Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird |
Snowflake-Benutzername |
Benutzername für die Verbindung zur Snowflake-Instanz |
Snowflake Warehouse |
Snowflake Warehouse zur Ausführung von Abfragen |
Aufnahmeparameter für SharePoint Cortex Connect¶
Parameter |
Beschreibung |
---|---|
SharePoint Site Groups Enabled |
Gibt an, ob die Funktion „Site Groups“ aktiviert ist. |
SharePoint Source Folder |
Unterstützte Dateien aus diesem Ordner und allen seinen Unterordnern werden in Snowflake aufgenommen. Der Ordnerpfad ist relativ zur Bibliothek „Gemeinsame Dokumente“. |
File Extensions To Ingest |
Eine durch Kommas getrennte Liste, die die zu übernehmenden Dateierweiterungen angibt. Der Konnektor versucht, die Dateien zunächst in das -PDF-Format zu konvertieren, falls möglich. Die Erweiterung wird jedoch anhand der ursprünglichen Dateierweiterung überprüft. Informationen zu den Formaten, die konvertiert werden können, finden Sie unter Formatoptionen. Wenn einige der angegebenen Dateierweiterungen von Cortex Parse Document nicht unterstützt werden, ignoriert der Konnektor diese Dateien, protokolliert eine Warnmeldung in einem Ereignisprotokoll und fährt mit der Verarbeitung anderer Dateien fort. |
SharePoint Document Library Name |
Eine Bibliothek auf der SharePoint-Website, aus der Dateien aufgenommen werden sollen. |
Snowflake File Hash Table Name |
Name der Tabelle zum Speichern von Datei-Hashwerten, um festzustellen, ob sich der Inhalt geändert hat. Dieser Parameter sollte im Allgemeinen nicht geändert werden. |
OCR Mode |
Der OCR-Modus, der beim Parsen von Dateien mit der Funktion Cortex PARSE_DOCUMENT verwendet wird. Der Wert kann |
Snowflake Cortex Search Service User Role |
Ein Bezeichner einer Rolle, der Nutzungsberechtigungen für den Cortex Search Service zugewiesen sind. |
Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.
Anwendungsfall 3: Anpassen der Konnektordefinition¶
Passen Sie die Definition des Anschlusses an, um:
die aufgenommenen Dateien mit Document AI zu verarbeiten.
benutzerdefinierte Verarbeitungen an importierten Dateien durchzuführen.
Einrichten des Konnektors¶
Führen Sie als Data Engineer die folgenden Aufgaben aus, um den Konnektor zu konfigurieren:
Konnektor installieren¶
Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.
Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.
Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.
Wählen Sie Add aus.
Bemerkung
Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.
Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.
Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.
Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.
Konnektor konfigurieren¶
Passen Sie die Definition des Anschlusses an.
Entfernen Sie die folgenden Prozessgruppen:
Check If Duplicate Content
Snowflake Stage and Parse PDF
Update Snowflake Cortex
(Optional) Process Microsoft365 Groups
Hängen Sie eine beliebige benutzerdefinierte Verarbeitung an die Ausgabe der Prozessgruppe
Process SharePoint Metadata
an. Jedes FlowFile stellt eine einzelne SharePoint-Dateiänderung dar.
Füllen Sie die Parameter der Prozessgruppe aus. Folgen Sie demselben Prozess wie bei Anwendungsfall 1. Beachten Sie, dass nach dem Ändern der Konnektordefinition möglicherweise nicht alle Parameter erforderlich sind.
Führt den Ablauf aus.
Starten Sie die Prozessgruppe. Der Ablauf erstellt alle erforderlichen Objekte innerhalb von Snowflake.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start.
Aktivieren von SharePoint-Website-Gruppen¶
Microsoft Graph-Anwendung für Website-Gruppen¶
Führen Sie zusätzlich zu den Schritten, die unter Abrufen der Anmeldeinformationen beschrieben sind, folgende Schritte aus:
Fügen Sie die Berechtigung Sites.Selected SharePoint hinzu.
Bemerkung
Sie sollten
Sites.Selected
sowohl in den Microsoft Graph- als auch in SharePoint-Berechtigungen sehen.Erzeugen Sie ein Schlüsselpaar. Alternativ können Sie auch ein selbstsigniertes Zertifikat mit
openssl
erstellen, indem Sie den folgenden Befehl ausführen:openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
CopyBemerkung
Der obige Befehl verschlüsselt den generierten privaten Schlüssel nicht. Entfernen Sie das
-nodes
-Argument, wenn Sie einen verschlüsselten Schlüssel erzeugen möchten.Hängen Sie das Zertifikat an die Microsoft Graph-Anwendung an.
Abfrage des Cortex Search Service¶
Sie können den Cortex Search Service nutzen, um Chat- und Suchanwendungen zu erstellen, mit denen Sie mit Ihren Dokumenten in SharePoint chatten oder diese abfragen können.
Nachdem Sie den Konnektor installiert und konfiguriert haben, und er mit dem Aufnahme von Inhalten aus SharePoint beginnt, können Sie den Cortex Search Service abfragen. Weitere Informationen zur Verwendung von Cortex Search finden Sie unter Einen Cortex Search Service abfragen.
Antworten filtern
Um die Antworten des Cortex Search Service auf Dokumente zu beschränken, auf die ein bestimmter Benutzer in SharePoint Zugriff hat, können Sie bei der Abfrage der Cortex Search einen Filter angeben, der die Benutzer-ID oder die E-Mail-Adresse des Benutzers enthält. Beispiel: filter.@contains.user_ids
oder filter.@contains.user_emails
. Der Name des vom Konnektor erstellten Cortex Search Service lautet search_service
im Schema Cortex
.
Führen Sie den folgenden SQL-Code in einem SQL-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von Ihrer SharePoint-Website aufgenommen wurden.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.your_question
: Die Frage, auf die Sie Antworten erhalten möchten.number_of_results
: Maximale Anzahl der Ergebnisse, die in der Antwort zurückgegeben werden sollen. Der Höchstwert ist 1000 und der Standardwert ist 10.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "<your_question>",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": <number_of_results>
}'
)
)['results'] AS results
Hier finden Sie eine vollständige Liste der Werte, die Sie für columns
eingeben können:
Spaltenname |
Typ |
Beschreibung |
---|---|---|
|
String |
Der vollständige Pfad zur Datei aus dem Stammverzeichnis der SharePoint-Website-Dokumente. Beispiel: |
|
String |
Eine URL, die eine SharePoint-Originaldatei in einem Browser anzeigt. |
|
String |
Datum und Uhrzeit, zu denen das Element zuletzt geändert wurde. |
|
String |
Ein Textabschnitt aus dem Dokument, der mit der Abfrage der Cortex Search übereinstimmt. |
|
Array |
Eine Reihe von Microsoft 365-Benutzer-IDs, die Zugriff auf das Dokument haben. Es enthält auch Benutzer-IDs aus allen Microsoft 365-Gruppen, die dem Dokument zugeordnet sind. Um eine bestimmte Benutzer-ID zu finden, siehe Einen Benutzer abrufen. |
|
Array |
Eine Reihe von Microsoft 365-Benutzer-E-Mails-IDs, die Zugriff auf das Dokument haben. Es enthält auch die Benutzer-E-Mails-IDs von allen Microsoft 365-Gruppen, die dem Dokument zugeordnet sind. |
Beispiel: Abfrage eines AI-Assistenten zu Personalinformationen (HR)
Mit Cortex Search können Sie einen AI-Assistenten für Mitarbeiter abfragen, um mit den neuesten Versionen von HR Informationen wie Onboarding, Verhaltenskodex, Teamprozesse und Organisationsrichtlinien zu chatten. Mithilfe von Antwortfiltern können Sie auch HR-Teammitgliedern die Abfrage von Mitarbeiterverträgen gestatten und dabei die in SharePoint konfigurierten Zugriffskontrollen einhalten.
Führen Sie Folgendes in einem SQL-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von SharePoint eingelesen wurden. Wählen Sie die Datenbank als Namen Ihrer Anwendungsinstanz und Cortex als Schema aus.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": 1
}'
)
)['results'] AS results
Führen Sie den folgenden Code in einem Python-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von SharePoint eingelesen wurden. Stellen Sie sicher, dass Sie das Paket snowflake.core
zu Ihrer Datenbank hinzufügen.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.
import snowflake.snowpark as snowpark
from snowflake.snowpark import Session
from snowflake.core import Root
def main(session: snowpark.Session):
root = Root(session)
# fetch service
my_service = (root
.databases["<application_instance_name>"]
.schemas["cortex"]
.cortex_search_services["search_service"]
)
# query service
resp = my_service.search(
query="What is my vacation carry over policy?",
columns = ["chunk", "web_url"],
filter = {"@contains": {"user_emails": "<user_emailID>"} },
limit=1
)
return (resp.to_json())
Führen Sie den folgenden Code in einer Befehlszeilenschnittstelle aus, um den Cortex Search Service mit Dateien abzufragen, die Sie von Ihrem SharePoint aufgenommen haben. Für den Zugriff auf Snowflake REST-APIs benötigen Sie eine Authentifizierung über ein Schlüsselpaar-Authenthifizierung und OAuth. Weitere Informationen dazu finden Sie unter Rest API und Authentifizierung von Snowflake REST APIs mit Snowflake.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.account_url
: Ihre Snowflake-Konto-URL. Anweisungen zum Auffinden Ihrer Konto-URL finden Sie unter Suchen von Organisations- und Kontonamen eines Kontos.
curl --location "https://<account_url>/api/v2/databases/<application_instance_name>/schemas/cortex/cortex-search-services/search_service" \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer <CORTEX_SEARCH_JWT>" \
--data '{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"limit": 1
}'
Beispielantwort:
{
"results" : [ {
"web_url" : "https://<domain>.sharepoint.com/sites/<site_name>/<path_to_file>",
"chunk" : "Answer to the question asked."
} ]
}