Einricht von Openflow Connector für SharePoint

Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector für SharePoint beschrieben.

Voraussetzungen

  1. Stellen Sie sicher, dass Sie Allgemeine Informationen zu Openflow Connector for SharePoint gelesen haben.

  2. Ensure that you have Openflow einrichten – BYOC or Set up Openflow - Snowflake Deployments.

  3. If using Openflow - Snowflake Deployments, ensure that you’ve reviewed configuring required domains and have granted access to the required domains for the SharePoint connector.

Die Anmeldeinformationen erhalten

Führen Sie als SharePoint-Administrator die folgenden Aktionen durch:

  1. Ensure that you have a Microsoft Graph application with the appropriate Microsoft Graph permissions based on your use case:

    For ACL connectors:

    1. Sites.Selected: schränkt den Zugriff nur auf bestimmte Websites ein.

    2. Files.SelectedOperations.Selected: schränkt den Zugriff nur auf Dateien in angegebenen Websites ein.

    3. GroupMember. Read.All: wird für die Auflösung von SharePoint-Gruppenberechtigungen verwendet.

    4. User.ReadBasic.All: wird für die Auflösung von Microsoft365-Benutzer-E-Mail–Adressen verwendet.

    For no-ACL connectors:

    1. Sites.Selected: schränkt den Zugriff nur auf bestimmte Websites ein.

    2. Files.SelectedOperations.Selected: schränkt den Zugriff nur auf Dateien in angegebenen Websites ein.

    Bemerkung

    No-ACL connectors do not fetch user permissions or group information, so they do not require the GroupMember.Read.All and User.ReadBasic.All permissions.

  2. Configure SharePoint to enable OAuth authentication as described in Get access without a user. The connector uses the following Microsoft Graph APIs to fetch data from SharePoint:

    1. driveItem-Inhalt herunterladen

    2. driveItem-Metadaten abrufen

    3. driveItem: delta

    4. driveItem-Berechtigungsliste

    5. Gruppe: delta

    6. Liste der Gruppenmitglieder

    7. Benutzer abrufen

  3. 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:

  1. Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle und erteilen Sie die Berechtigungen von Datenbanken.

  2. Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE.

  3. Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben.

  4. Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 2.

  5. 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.

    1. 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.

    2. Konfigurieren Sie in Openflow über das Hamburger-Menü oben rechts einen Parameteranbieter, der mit diesem Secrets Manager verbunden ist. Navigieren Sie zu Controller Settings » Parameter Provider und rufen Sie dann Ihre Parameterwerte ab.

    3. 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.

  6. 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.

  7. 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

Use case 1: Ingest files only

Use a connector to:

  • Ingest and continuously update Sharepoint files for custom processing within Snowflake

  • Optionally ingest file permissions (ACL connectors) to persist access controls downstream

Einrichten des Konnektors

Führen Sie als Data Engineer die folgenden Aufgaben aus, um den Konnektor zu konfigurieren:

Konnektor installieren

Bemerkung

There are multiple variants of the SharePoint connector. Choose the variant that best fits your use case as described in Variants of the Openflow Connector for SharePoint.

  1. Navigate to the Openflow overview page. In the Featured connectors section, select View more connectors.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click Add.

    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.

  4. 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.

  5. 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

  1. Befüllen Sie die Prozessgruppenparameter

    1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameter aus.

    2. 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

For all connectors:

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.

For ACL connectors only:

Parameter

Beschreibung

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

Erforderlich

Destination Database

Die Datenbank, in der die Daten als persistent gespeichert werden. Muss bereits in Snowflake vorhanden sein. Beim Namen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Bezeichnern ohne Anführungszeichen geben Sie den Namen in Großbuchstaben an.

Ja

Destination Schema

Das Schema, in dem Daten beibehalten werden, muss bereits in Snowflake vorhanden sein. Beim Namen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Bezeichnern ohne Anführungszeichen geben Sie den Namen in Großbuchstaben an.

Sehen Sie sich die folgenden Beispiele an:

  • CREATE SCHEMA SCHEMA_NAME oder CREATE SCHEMA schema_name: verwenden Sie SCHEMA_NAME

  • CREATE SCHEMA "schema_name" oder CREATE SCHEMA "SCHEMA_NAME": verwenden Sie schema_name bzw. SCHEMA_NAME.

Ja

Snowflake Authentication Strategy

Bei Verwendung von:

  • Snowflake Openflow Deployment or BYOC: Use SNOWFLAKE_SESSION_TOKEN. This token is managed automatically by Snowflake. BYOC deployments must have previously configured runtime roles to use SNOWFLAKE_SESSION_TOKEN.

  • BYOC: Alternatively BYOC can use KEY_PAIR as the value for authentication strategy.

Ja

Snowflake Account Identifier

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Snowflake-Kontoname im Format [Organisationsname]-[Kontoname], wobei die Daten persistent gespeichert werden.

Ja

Snowflake Private Key

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Muss der RSA private Schlüssel sein, der für die Authentifizierung verwendet wird.

    Der RSA-Schlüssel muss entsprechend den PKCS8-Standards formatiert sein und standardmäßige PEM-Header und Footer haben. Beachten Sie, dass entweder eine private Snowflake-Schlüsseldatei oder ein privater Snowflake-Schlüssel definiert werden muss.

Nein

Snowflake Private Key File

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Die private Schlüsseldatei muss leer sein.

  • KEY_PAIR: Laden Sie die Datei hoch, die den RSA Private Key für die Authentifizierung bei Snowflake enthält, formatiert nach PKCS8-Standards und mit Standard-PEM-Header und -Footer. Die Header-Zeile beginnt mit -----BEGIN PRIVATE. Aktivieren Sie das Kontrollkästchen Reference asset, um die Private Key-Datei hochzuladen.

Nein

Snowflake Private Key Password

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Provide the password associated with the Snowflake private key file.

Nein

Snowflake Role

Bei Verwendung von:

  • Session Token Authentication Strategy: Use your runtime role. You can find your runtime role in the Openflow UI, by navigating to View Details for your Runtime.

  • KEY_PAIR Authentifizierungsstrategie: Verwenden Sie eine gültige Rolle, die für Ihren Dienstbenutzer konfiguriert ist.

Ja

Snowflake-Benutzername

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Geben Sie den Benutzernamen an, der für die Verbindung mit der Snowflake-Instanz verwendet wird.

Ja

Snowflake Warehouse

Snowflake Warehouse, das für die Ausführung von Abfragen verwendet wird.

Ja

Aufnahmeparameter für SharePoint

For all connectors:

Parameter

Beschreibung

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.

For ACL connectors only:

Parameter

Beschreibung

SharePoint Site Groups Enabled

Gibt an, ob die Funktion „Site Groups“ aktiviert ist.

  1. Führt den Ablauf aus.

    1. Starten Sie die Prozessgruppe. Der Ablauf erstellt alle erforderlichen Objekte innerhalb von Snowflake.

    2. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start.

Use case 2: Ingest files and perform processing with Cortex

Verwenden Sie die vordefinierte Ablaufdefinition, um:

  • Create AI assistants for documents within your organization’s SharePoint site

  • Enable your AI assistants to adhere to access controls specified in your organization’s SharePoint site

Einrichten des Konnektors

Führen Sie als Data Engineer die folgenden Aufgaben aus, um den Konnektor zu konfigurieren:

Konnektor installieren

  1. 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
  1. Navigate to the Openflow overview page. In the Featured connectors section, select View more connectors.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click Add.

    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.

  4. 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.

  5. 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

  1. Befüllen Sie die Prozessgruppenparameter

    1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameter aus.

    2. 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

For all connectors:

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.

For ACL connectors only:

Parameter

Beschreibung

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

Erforderlich

Destination Database

Die Datenbank, in der die Daten als persistent gespeichert werden. Muss bereits in Snowflake vorhanden sein. Beim Namen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Bezeichnern ohne Anführungszeichen geben Sie den Namen in Großbuchstaben an.

Ja

Destination Schema

Das Schema, in dem Daten beibehalten werden, muss bereits in Snowflake vorhanden sein. Beim Namen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Bezeichnern ohne Anführungszeichen geben Sie den Namen in Großbuchstaben an.

Sehen Sie sich die folgenden Beispiele an:

  • CREATE SCHEMA SCHEMA_NAME oder CREATE SCHEMA schema_name: verwenden Sie SCHEMA_NAME

  • CREATE SCHEMA "schema_name" oder CREATE SCHEMA "SCHEMA_NAME": verwenden Sie schema_name bzw. SCHEMA_NAME.

Ja

Snowflake Authentication Strategy

Bei Verwendung von:

  • Snowflake Openflow Deployment or BYOC: Use SNOWFLAKE_SESSION_TOKEN. This token is managed automatically by Snowflake. BYOC deployments must have previously configured runtime roles to use SNOWFLAKE_SESSION_TOKEN.

  • BYOC: Alternatively BYOC can use KEY_PAIR as the value for authentication strategy.

Ja

Snowflake Account Identifier

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Snowflake-Kontoname im Format [Organisationsname]-[Kontoname], wobei die Daten persistent gespeichert werden.

Ja

Snowflake Private Key

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Muss der RSA private Schlüssel sein, der für die Authentifizierung verwendet wird.

    Der RSA-Schlüssel muss entsprechend den PKCS8-Standards formatiert sein und standardmäßige PEM-Header und Footer haben. Beachten Sie, dass entweder eine private Snowflake-Schlüsseldatei oder ein privater Snowflake-Schlüssel definiert werden muss.

Nein

Snowflake Private Key File

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Die private Schlüsseldatei muss leer sein.

  • KEY_PAIR: Laden Sie die Datei hoch, die den RSA Private Key für die Authentifizierung bei Snowflake enthält, formatiert nach PKCS8-Standards und mit Standard-PEM-Header und -Footer. Die Header-Zeile beginnt mit -----BEGIN PRIVATE. Aktivieren Sie das Kontrollkästchen Reference asset, um die Private Key-Datei hochzuladen.

Nein

Snowflake Private Key Password

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Provide the password associated with the Snowflake private key file.

Nein

Snowflake Role

Bei Verwendung von:

  • Session Token Authentication Strategy: Use your runtime role. You can find your runtime role in the Openflow UI, by navigating to View Details for your Runtime.

  • KEY_PAIR Authentifizierungsstrategie: Verwenden Sie eine gültige Rolle, die für Ihren Dienstbenutzer konfiguriert ist.

Ja

Snowflake-Benutzername

Bei Verwendung von:

  • Strategie für die Authentifizierung mit Sitzungstoken: Muss leer sein.

  • KEY_PAIR: Geben Sie den Benutzernamen an, der für die Verbindung mit der Snowflake-Instanz verwendet wird.

Ja

Snowflake Warehouse

Snowflake Warehouse, das für die Ausführung von Abfragen verwendet wird.

Ja

Aufnahmeparameter für SharePoint Cortex Connect

For all connectors:

Parameter

Beschreibung

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 Parsing documents with AI_PARSE_DOCUMENT verwendet wird. Der Wert kann OCR oder LAYOUT sein. Im OCR-Modus wird nur der reine Textinhalt extrahiert, wobei Formatierungen und Tabellenstrukturen ignoriert werden. Im LAYOUT-Modus behält die Ausgabe die Tabellenstrukturen als Markdown bei.

Snowflake Cortex Search Service User Role

Ein Bezeichner einer Rolle, der Nutzungsberechtigungen für den Cortex Search Service zugewiesen sind.

For ACL connectors only:

Parameter

Beschreibung

SharePoint Site Groups Enabled

Gibt an, ob die Funktion „Site Groups“ aktiviert ist.

  1. Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.

  2. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.

  3. Einen Cortex Search Service abfragen.

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

  1. Navigate to the Openflow overview page. In the Featured connectors section, select View more connectors.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click Add.

    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.

  4. 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.

  5. 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

  1. Passen Sie die Definition des Anschlusses an.

    1. Entfernen Sie die folgenden Prozessgruppen:

      • Check If Duplicate Content

      • Snowflake Stage and Parse PDF

      • Update Snowflake Cortex

      • (Optional) Process Microsoft365 Groups

    2. 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.

  2. 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.

  3. Führt den Ablauf aus.

    1. Starten Sie die Prozessgruppe. Der Ablauf erstellt alle erforderlichen Objekte innerhalb von Snowflake.

    2. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start.

  4. Einen Cortex Search Service abfragen.

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:

  1. 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.

  2. 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
    
    Copy

    Bemerkung

    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.

  3. 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
Copy

Hier finden Sie eine vollständige Liste der Werte, die Sie für columns eingeben können:

For all connectors:

Spaltenname

Typ

Beschreibung

full_name

String

Der vollständige Pfad zur Datei aus dem Stammverzeichnis der SharePoint-Website-Dokumente. Beispiel: folder_1/folder_2/file_name.pdf.

web_url

String

Eine URL, die eine SharePoint-Originaldatei in einem Browser anzeigt.

last_modified_date_time

String

Datum und Uhrzeit, zu denen das Element zuletzt geändert wurde.

chunk

String

Ein Textabschnitt aus dem Dokument, der mit der Abfrage der Cortex Search übereinstimmt.

For ACL connectors only:

Spaltenname

Typ

Beschreibung

user_ids

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.

user_emails

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
Copy

Suchen von Dateien im Stagingbereich

Im Stagingbereich gespeicherte Dateien können unlesbare Namen haben. Um bestimmte Dateien zu finden, nutzen Sie die Metadatentabellen als Quelle der Wahrheit. Diese Tabellen enthalten die Zuordnung zwischen den Dateinamen und den entsprechenden Dateien-IDs im Stagingbereich.

Verwenden Sie für Cortex-aktivierte Konfigurationen die folgende Abfrage, um Dateien zu finden:

SELECT DISTINCT METADATA:id FROM DOCS_CHUNKS WHERE METADATA:fullName LIKE '%<file_name>%';
Copy

Für Nicht-Cortex-Konfigurationen verwenden Sie die folgende Abfrage:

SELECT FILE_ID FROM DOC_METADATA WHERE FILE_NAME = '<file_name>';
Copy

Ersetzen Sie <file_name> mit dem Namen oder einem Teil des Namens der Datei, nach der Sie suchen.

Die Dateien im Stagingbereich beginnen mit der ID, die von diesen Abfragen zurückgegeben wird.