Einrichten des Openflow Connector für Google Drive¶
Bemerkung
Der Konnektor unterliegt den Bedingungen für Konnektoren.
Unter diesem Themawerden die Schritte zum Einrichten von Openflow Connector für Google Drive beschrieben.
Voraussetzungen¶
Stellen Sie sicher, dass Sie Openflow Connector für Google Drive gelesen haben.
Stellen Sie sicher, dass Sie Openflow eingerichtet haben.
Die Anmeldeinformationen erhalten¶
Die Einrichtung des Konnektors erfordert bestimmte Berechtigungen und Kontoeinstellungen für Snowflake Openflow-Prozessoren, um Daten von Google zu lesen. Dieser Zugriff wird teilweise durch die Einrichtung eines Dienstkontos und eines Schlüssels für Openflow zur Authentifizierung als dieses Dienstkonto bereitgestellt. Weitere Informationen dazu finden Sie unter:
Führen Sie als Google Drive-Administrator die folgenden Schritte aus:
Voraussetzungen¶
Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:
Sie haben einen Google Benutzer mit Super Admin-Berechtigungen
Sie haben ein Google Cloud-Projekt mit den folgenden Rollen:
Organisation Policy Administrator
Organisation Administrator
Erstellung von Schlüsseln für Dienstkonten aktivieren¶
Standardmäßig deaktiviert Google die Erstellung von Schlüsseln für Dienstkonten. Damit Openflow das JSON-Dienstkonto verwenden kann, muss diese Schlüsselerstellungsrichtlinie deaktiviert werden.
Melden Sie sich bei der Google Cloud Console mit einem Super-Admin-Konto an, das über die Rolle „Organizational Policy Admin“ verfügt.
Stellen Sie sicher, dass Sie sich in dem Projekt befinden, das Ihrer Organisation zugeordnet ist, und nicht in dem Projekt innerhalb Ihrer Organisation.
Klicken Sie auf Organization Policies.
Wählen Sie die Richtlinie Disable service account key creation aus.
Klicken Sie auf Manage Policy, und schalten Sie die Durchsetzung aus.
Klicken Sie auf Set Policy.
Dienstkonto und Schlüssel erstellen¶
Öffnen Sie die Google Cloud Console und authentifizieren Sie sich mit einem Benutzer, der über die Berechtigung zum Erstellen von Dienstkonten verfügt.
Stellen Sie sicher, dass Sie sich in einem Projekt Ihrer Organisation befinden.
Wählen Sie in der linken Navigation unter IAM & Admin die Registerkarte Service Accounts.
Klicken Sie auf Create Service Account.
Geben Sie den Namen des Dienstkontos ein, und klicken Sie auf Create and Continue.
Klicken Sie auf Done. In der Tabelle mit den aufgelisteten Konten finden Sie die Spalte OAuth 2 Client ID. Kopieren Sie die Client-ID, da Sie diese später für die Einrichtung der domänenweiten Delegation im nächsten Abschnitt benötigen.
Klicken Sie in dem neu erstellten Dienstkonto auf das Menü unter der Tabelle mit den für dieses Dienstkonto aufgelisteten Konten, und wählen Sie Manage keys.
Wählen Sie Add key und dann Create new key aus.
Behalten Sie die Standardauswahl „JSON“ bei, und klicken Sie auf Create.
Der Schlüssel wird als .json-Datei in das Download-Verzeichnis Ihres Browsers heruntergeladen.
Gewähren Sie dem Dienstkonto domänenweite Delegierung für aufgelistete Bereiche.¶
Melden Sie sich bei Ihrem Google Admin-Konto an.
Wählen Sie Admin aus Google Apps selector.
Erweitern Sie in der linken Navigation Security und dann Access, wählen Sie Data control aus und klicken Sie dann auf API Controls.
Wählen Sie dem API Controls-Bildschirm die Option Manage domain wild delegation aus.
Klicken Sie auf Add new.
Geben Sie die OAuth 2 Client-ID aus dem Abschnitt „Dienstkonto und Schlüssel erstellen“ und die folgenden Bereiche ein:
Klicken Sie auf Authorize.
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>;
Anwendungsfall 1: Konnektordefinition nur zur Aufnahme von Dateien verwenden¶
Verwenden Sie die Konnektor, um:
Benutzerdefinierte Verarbeitung von aufgenommenen Dateien durchführen
Google Drive-Dateien und -Zugriffsrechte aufnehmen und auf dem neuesten Stand halten
Einrichten des Konnektors¶
Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und 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¶
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 Google Drive, Zielsystemparameter für Google Drive und Aufnahmeparameter für Google Drive beschrieben.
Quellsystemparameter für Google Drive¶
Parameter |
Beschreibung |
---|---|
Google Delegation User |
Der Benutzer, der vom Dienstkonto verwendet wird |
GCP Service Account JSON |
Das JSON-Dienstkonto, das aus der Google Cloud Console heruntergeladen wurde, um den Zugriff auf Google-APIs im Konnektor zu ermöglichen. |
Zielsystemparameter für Google Drive¶
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 Google Drive¶
Parameter |
Beschreibung |
---|---|
Google Drive ID |
Das Google Shared Drive zum Beobachten von Inhalten und Updates |
Google Folder Name |
Optional kann der Google Drive-Ordnerbezeichnung (von Menschen lesbarer Ordnername) festgelegt werden, um eingehende Dateien zu filtern. Wenn Sie alle Dateitypen wünschen, wählen Sie „Set Empty String“. Wenn diese Option gesetzt ist, werden nur Dateien abgerufen, die sich in dem angegebenen Ordner oder Unterordner befinden. Wenn leer oder nicht festgelegt, wird keine Ordnerfilterung angewendet und alle Dateien unter dem Laufwerk werden abgerufen. |
Google Domain |
Die Google Workspace Domain, in der sich Google Groups und Drive befinden. |
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. Wenn einige der angegebenen Dateierweiterungen von Cortex Parse Document nicht unterstützt werden, dann ignoriert der Konnektor diese Dateien, protokolliert eine Warnmeldung in einem Ereignisprotokoll und fährt mit der Verarbeitung anderer Dateien fort. |
Snowflake File Hash Table Name |
Interne Tabelle zum Speichern von Hashwerten für Dateiinhalte, um zu verhindern, dass der Inhalt aktualisiert wird, wenn er sich nicht geändert hat. |
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 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 innerhalb des Google Drive Ihrer Organisation zu erstellen.
Ihren AI-Assistenten zu ermöglichen, die in Google Drive für Ihr Unternehmen festgelegten Zugriffskontrollen einzuhalten.
Einrichten des Konnektors¶
Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und 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¶
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 Google Drive Cortex Connect, Zielsystemparameter für Google Drive Cortex Connect und Aufnahmeparameter für Google Drive Cortex Connect beschrieben.
Quellsystemparameter für Google Drive Cortex Connect¶
Parameter |
Beschreibung |
---|---|
Google Delegation User |
Der Benutzer, der vom Dienstkonto verwendet wird |
GCP Service Account JSON |
Das JSON-Dienstkonto, das aus der Google Cloud Console heruntergeladen wurde, um den Zugriff auf Google-APIs im Konnektor zu ermöglichen. |
Zielsystemparameter für Google Drive Cortex Connec¶
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 Google Drive Cortex Connect¶
Parameter |
Beschreibung |
---|---|
Google Drive ID |
Das Google Shared Drive zum Beobachten von Inhalten und Updates |
Google Folder Name |
|
Google Domain |
Die Google Workspace Domain, in der sich Google Groups und Drive befinden. |
OCR Mode |
Der OCR-Modus, der beim Parsen von Dateien mit der Funktion Cortex PARSE_DOCUMENT verwendet wird. Der Wert kann |
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. Wenn einige der angegebenen Dateierweiterungen von Cortex Parse Document nicht unterstützt werden, dann ignoriert der Konnektor diese Dateien, protokolliert eine Warnmeldung in einem Ereignisprotokoll und fährt mit der Verarbeitung anderer Dateien fort. |
Snowflake File Hash Table Name |
Interne Tabelle zum Speichern von Hashwerten für Dateiinhalte, um zu verhindern, dass der Inhalt aktualisiert wird, wenn er sich nicht geändert hat. |
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¶
Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und 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
Fügen Sie benutzerdefinierte Verarbeitungen an die Ausgabe der Prozessgruppe Process Google Drive Metadata an. Jedes FlowFile steht für eine einzelne Änderung einer Google Drive-Datei. Die Attribute der FlowFiles können Sie in der Dokumentation
Fetch Google Drive Metadata
nachlesen.
Füllen Sie die Parameter der Prozessgruppe aus. Folgen Sie demselben Prozess wie bei . Anwendungsfall 1: Konnektordefinition nur zur Aufnahme von Dateien vewenden. Beachten Sie, dass nach dem Ändern der Konnektordefinition möglicherweise nicht alle Parameter erforderlich sind.
Führen Sie den Ablauf aus¶
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.
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 Google Drive chatten oder diese abfragen können.
Nachdem Sie den Konnektor installiert und konfiguriert haben und er mit derAufnahme von Inhalten aus Google Drive 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 Google Drive Zugriff hat, können Sie bei der Abfrage der Cortex Search einen Filter angeben, der den 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 Sie aus Ihrem Google Drive aufgenommen haben.
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 |
Ein vollständiger Pfad zu der Datei aus dem Stammverzeichnis der Google Drive-Dokumente. Beispiel: |
|
String |
Eine URL, die eine Google Drive-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, wobei die in Google Drive konfigurierten Zugriffskontrollen eingehalten werden müssen.
Führen Sie Folgendes in einem SQL Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von Google Drive aufgenommen 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 aus Google Drive aufgenommenen Dateien abzufragen. 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 aus Ihrem Google Drive 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
}'