Einrichten von Openflow Connector for Box¶
Bemerkung
Der Konnektor unterliegt den Bedingungen für Konnektoren.
Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector for Box beschrieben.
Voraussetzungen¶
Stellen Sie sicher, dass Sie Allgemeine Informationen zu Openflow Connector for Box gelesen haben.
Stellen Sie sicher, dass Sie Openflow eingerichtet haben.
Die Anmeldeinformationen erhalten¶
Als Box-Entwickler oder Box-Administrator erstellen Sie eine Box Platform-Anwendung wie folgt:
Navigieren Sie zu Box Developer Console.
Wählen Sie Create Platform App aus.
Wählen Sie Custom App als Anwendungstyp aus.
Geben Sie einen Namen und eine Beschreibung für die App ein und wählen Sie einen Zweck aus der Dropdown-Liste.
Wählen Sie Server Authentication (with JWT) als Authentifizierungsmethode aus.
Wählen Sie Create App aus.
Um die App zu konfigurieren, navigieren Sie zur Registerkarte Configuration.
Wählen Sie im Abschnitt App Access Level die Option App + Enterprise Access aus.
Wählen Sie im Bereich Application Scopes die folgenden Optionen:
Read all files and folders stored in Box.
Write all files and folders stored in Box: Zum Herunterladen von Dateien und Ordnern. Beachten Sie, dass der Konnektor keine Dateien hochladen kann. Snowflake empfiehlt, dem Dienstkontor nur die Rolle „Betrachter“ zuzuweisen. Um der Anwendung Zugriff auf Dateien in Box zu gewähren, wählen Sie einen Ordner, den Sie synchronisieren möchten. Geben Sie ihn für das App-Dienstkonto frei, indem Sie die E-Mail-Adresse des Dienstkontos aus Schritt n verwenden. Openflow Connector for Box kann Dateien im angegebenen Ordner und allen Unterordnern suchen und herunterladen, aber die Dateien nicht verändern.
Manage users: Um Benutzer im Unternehmen zu lesen.
Manage groups: Zum Auslesen von Gruppen und deren Mitgliedern im Unternehmen.
Manage enterprise properties: Zum Lesen von Unternehmensereignissen.
Generieren Sie im Bereich Add and Manage Public Keys ein Schlüsselpaar aus öffentlichem und privatem Schlüssel. Box lädt eine JSON-Konfigurationsdatei mit einem privaten Schlüssel herunter.
Speichern Sie die Änderungen.
Navigieren Sie zur Registerkarte Authorization, und reichen Sie die App zur Autorisierung für den Zugriff auf das Unternehmen ein.
Bitten Sie den Administrator Ihres Unternehmens, die App zu genehmigen.
Nachdem die Genehmigung erteilt wurde, gehen Sie auf die Registerkarte General Settings, und speichern Sie die E-Mail-Adresse des App-Dienstkontos.
Weitere Informationen finden Sie unter Einrichtung mit JWT.
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 the use case: Ingest files and perform processing with Cortex --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 use case: Ingest files and perform processing with Cortex --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>;
Anwendungsfälle¶
Sie können den Konnektor für die folgenden Anwendungsfälle konfigurieren:
Box-Metadaten mit Box-AI extrahieren und in eine Snowflake-Tabelle aufnehmen
Metadateninstanzen von Box-Dateien mit einer Snowflake-Tabelle synchronisieren
Nur Dateien importieren¶
Verwenden Sie die Konnektor, um:
die eingelesenen 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¶
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters.
Geben Sie die erforderlichen Parameterwerte ein, wie unter Aufnahmeparameter für Box, Zielsystemparameter für Box und Quellsystemparameter für Box beschrieben.
Quellsystemparameter für Box¶
Parameter |
Beschreibung |
---|---|
Box App Config JSON |
Eine JSON-Konfiguration der Anwendung, die während der Erstellung der App heruntergeladen wurde. |
Box App Config File |
Eine JSON-Datei der Anwendung, die bei der Erstellung der App heruntergeladen wurde. Entweder muss „Box App Config File“ oder „Box App Config JSON“ festgelegt werden. Aktivieren Sie das Kontrollkästchen Reference asset, um die Konfigurationsdatei hochzuladen. |
Zielsystemparameter für Box¶
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 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 Box¶
Parameter |
Beschreibung |
---|---|
Box Folder ID |
Die ID des Ordners, aus dem die Dateien gelesen werden sollen. Setzen Sie dies auf |
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 |
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ühren Sie den Ablauf aus¶
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.
Nach dem Start des Konnektors ruft dieser alle Dateien aus dem angegebenen Ordner ab und verarbeitet dann admin_logs_streaming
-Ereignisse der letzten 14 Tage. Dies geschieht, um Daten zu erfassen, die während des Initialisierungsvorgangs möglicherweise übersehen wurden. Während dieser Zeit können not found
-Fehler auftreten, die durch Dateien verursacht werden, die in den Ereignissen erscheinen, aber nicht mehr vorhanden sind.
Dateien aufnehmen und mit Cortex verarbeiten¶
Verwenden Sie die Konnektor, um:
Erstellen Sie AI-Assistenten für öffentliche Dokumente innerhalb des Box-Unternehmens Ihrer Organisation
Ermöglichen Sie Ihren AI-Assistenten die Einhaltung der Zugriffskontrollen, die in der Box Enterprise-Umgebung Ihrer Organisation festgelegt sind.
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 Parameters.
Geben Sie die erforderlichen Parameterwerte ein, wie in Aufnahmeparameter für Box Cortex Connect, Zielsystemparameter für Box Cortex Connect und Quellsystemparameter für Box Cortex Connect beschrieben.
Quellsystemparameter für Box Cortex Connect¶
Parameter |
Beschreibung |
---|---|
Box App Config JSON |
Eine JSON-Konfiguration der Anwendung, die während der Erstellung der App heruntergeladen wurde. |
Box App Config File |
Eine JSON-Datei der Anwendung, die bei der Erstellung der App heruntergeladen wurde. Entweder muss „Box App Config File“ oder „Box App Config JSON“ festgelegt werden. Aktivieren Sie das Kontrollkästchen Reference asset, um die Konfigurationsdatei hochzuladen. |
Zielsystemparameter für Box 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 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 Box Cortex Connect¶
Parameter |
Beschreibung |
---|---|
Box Folder ID |
Die ID des Ordners, aus dem die Dateien gelesen werden sollen. Setzen Sie dies auf |
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 |
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. |
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ühren Sie den Ablauf aus¶
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.
Nach dem Start des Konnektors ruft dieser alle Dateien aus dem angegebenen Ordner ab und verarbeitet dann admin_logs_streaming
-Ereignisse der letzten 14 Tage. Dies geschieht, um alle Daten zu erfassen, die während des Initialisierungsvorgangs möglicherweise übersehen wurden. Während dieser Zeit können not found
-Fehler auftreten, die durch Dateien verursacht werden, die in den Ereignissen erscheinen, aber nicht mehr vorhanden sind.
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 Box chatten oder diese abfragen können.
Nachdem Sie den Konnektor installiert und konfiguriert haben und er mit der Aufnahme von Inhalten aus Box 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 Box 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 Box-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 1.000 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 vom Stammverzeichnis der Box-Website. Beispiel: |
|
String |
Eine URL, die eine Original-Box-Datei 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 |
Ein Array von Benutzer-IDs, die Zugriff auf das Dokument haben. |
|
Array |
Ein Array von Benutzer-E-Mail-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 Box konfigurierten Zugriffskontrollen eingehalten werden.
Führen Sie Folgendes in einem SQL-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von Box 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 carryover 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 Box aufgenommen 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 carryover 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 den von Ihrem Box aufgenommenen Dateien abzufragen. Der Zugriff auf Snowflake REST-APIs erfordert eine Authentifizierung sowohl über die Schlüsselpaar- als auch über die OAuth-Authentifizierung. 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 carryover policy?",
"columns": ["chunk", "web_url"],
"limit": 1
}'
Beispielantwort:
{
"results" : [ {
"web_url" : "https://<domain>.box.com/sites/<site_name>/<path_to_file>",
"chunk" : "Answer to the question asked."
} ]
}
Box-Metadaten mit Box-AI extrahieren und in eine Snowflake-Tabelle aufnehmen¶
Verwenden Sie die Konnektor, um:
Metadaten über Ihre Box-Dateien extrahieren und nehmen in eine Snowflake-Tabelle aufnehmen
Operationen mit den Metadaten Ihrer in Box gespeicherten Dateien durchführen
Eine Snowflake-Tabelle zum Speichern der Box-Metadaten erstellen¶
Stellen Sie sicher, dass Box-AI aktiviert ist, damit die Extraktion von Metadaten erfolgen kann. Weitere Informationen finden Sie unter Box-AI konfigurieren.
Erstellen Sie eine Snowflake-Tabelle, an die die Metadaten gesendet werden sollen.
Damit der Konnektor weiß, welche Art von Metadaten er extrahieren soll, müssen Sie eine Snowflake-Tabelle in Ihrer Datenbank und Ihrem Schema mit den Spaltennamen der zu extrahierenden Felder erstellen. Fügen Sie Beschreibungen zu jeder Spalte hinzu, um die Leistung des Modells zu verbessern, das zum Extrahieren der Metadaten aus den Dateien verwendet wird.
Stellen Sie sicher, dass in der im vorherigen Schritt erstellten Tabelle eine Spalte vorhanden ist, in der die Box-Datei-ID gespeichert wird, und dass sie vom Typ VARCHAR ist.
Der Name dieser Spalte muss in späteren Schritten als Parameter „Box File Identifier Column“ eingegeben werden. Die Liste der unterstützten Spaltentypen für die Metadatentabelle lautet VARCHAR, STRING, TEXT, FLOAT, DOUBLE und DATE.
Hier sehen Sie ein Beispiel für eine Tabelle, die Sie für diesen Konnektor erstellen können:
CREATE OR REPLACE TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA (
BOX_FILE_ID VARCHAR COMMENT 'Box file identifier column',
LOAN_ID STRING COMMENT 'Unique loan agreement identifier (e.g. L-2025-0001)',
BORROWER_NAME STRING COMMENT 'Name of the borrower entity or individual',
LENDER_NAME STRING COMMENT 'Name of the lending institution',
LOAN_AMOUNT DOUBLE COMMENT 'Principal amount of the loan (in USD)',
INTEREST_RATE FLOAT COMMENT 'Annual interest rate (%)',
EFFECTIVE_DATE DATE COMMENT 'Date on which the loan becomes effective',
MATURITY_DATE DATE COMMENT 'Scheduled loan maturity date',
LOAN_TERM_MONTHS FLOAT COMMENT 'Original term length in months',
COLLATERAL_DESCRIPTION TEXT COMMENT 'Description of collateral securing the loan',
CREDIT_SCORE FLOAT COMMENT 'Borrower credit score',
JURISDICTION STRING COMMENT 'Governing law jurisdiction (e.g. NY, CA)'
);
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 Parameters.
Geben Sie die erforderlichen Parameterwerte ein, wie unter Quellsystemparameter für Metadatenaufnahme aus Box, Zielsystemparameter für Metadatenaufnahme aus Box und Aufnahmeparameter für die Metadatenaufnahme aus Box beschrieben.
Quellsystemparameter für Metadatenaufnahme aus Box¶
Parameter |
Beschreibung |
---|---|
Box App Config JSON |
Eine JSON-Konfiguration der Anwendung, die während der Erstellung der App heruntergeladen wurde. |
Box App Config File |
Eine JSON-Datei der Anwendung, die bei der Erstellung der App heruntergeladen wurde. Entweder muss „Box App Config File“ oder „Box App Config JSON“ festgelegt werden. Aktivieren Sie das Kontrollkästchen Reference asset, um die Konfigurationsdatei hochzuladen. |
Zielsystemparameter für Metadatenaufnahme aus Box¶
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 Metadatenaufnahme aus Box¶
Parameter |
Beschreibung |
---|---|
Box Folder ID |
Die ID des Ordners, aus dem die Dateien gelesen werden sollen. Setzen Sie dies auf |
Box File Identifier Column |
Die Spalte der Metadatentabelle, in der die Box-Datei-ID gespeichert wird, um die angegebenen Metadaten mit einer Datei zu verknüpfen. Diese Spalte muss vom Typ VARCHAR sein und Teil der in Eine Snowflake-Tabelle zum Speichern der Box-Metadaten erstellen erstellten Tabelle sein. |
Destination Metadata Table |
Die Snowflake-Tabelle, die Sie in Snowflake-Tabelle zum Speichern der Box-Metadaten erstellen erstellt haben und die die Spalten der Metadaten enthält, die Sie erfassen möchten. |
Führen Sie den Ablauf aus¶
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.
Nach dem Start des Konnektors ruft dieser alle Dateien aus dem angegebenen Ordner ab und verarbeitet dann admin_logs_streaming
-Ereignisse der letzten 14 Tage. Dies geschieht, um alle Daten zu erfassen, die während des Initialisierungsvorgangs möglicherweise übersehen wurden. Während dieser Zeit können not found
-Fehler auftreten, die durch Dateien verursacht werden, die in den Ereignissen erscheinen, aber nicht mehr vorhanden sind.
Metadateninstanzen von Box-Dateien mit einer Snowflake-Tabelle synchronisieren¶
Verwenden Sie die Konnektordefinition, um eine Datenumwandlung an Metadaten aus Box in einer Snowflake-Tabelle vorzunehmen und die Änderungen wieder zu einer Box-Metadateninstanz hinzuzufügen.
Erstellen Sie einen Snowflake-Stream zum Speichern der Box-Metadaten¶
Erstellen Sie einen Snowflake-Stream für die Metadatentabelle, die Sie verwenden möchten. Der Stream wird verwendet, um alle Änderungen an der Tabelle zu überwachen, mit der Sie Ihre Box-Dateien synchronisieren möchten. Wie Sie eine Tabelle zum Speichern von Box-Metadaten erstellen, erfahren Sie unter Eine Snowflake-Tabelle zum Speichern der Box-Metadaten erstellen. Wenn der Konnektor über die Datenaufbewahrungsdauer hinaus gestoppt wird und der Stream veraltet ist, müssen Sie einen neuen Stream erstellen und den vorherigen ersetzen. Weitere Informationen zu Verwaltung von Streams finden Sie unter Verwalten von Streams.
Hier ist ein Beispiel für einen Stream, den Sie für diesen Konnektor erstellen können:
CREATE OR REPLACE STREAM OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA_STREAM ON TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA
Stellen Sie sicher, dass in der Metadatentabelle eine Spalte zum Speichern der Box-Datei-ID vorhanden ist und dass diese vom Typ VARCHAR ist.
Der Name dieser Spalte muss in späteren Schritten als Parameter „Box File Identifier Column“ eingegeben werden. Die Liste der unterstützten Spaltentypen für die Metadatentabelle lautet VARCHAR, STRING, TEXT, FLOAT, DOUBLE und DATE.
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 Parameters.
Geben Sie die erforderlichen Parameterwerte ein, wie in Quellsystemparameter für die Metadatenveröffentlichung aus Box, Zielsystemparameter für die Metadatenveröffentlichung aus Box und Aufnahmeparameter für die Metadatenveröffentlichung aus Box beschrieben.
Quellsystemparameter für die Metadatenveröffentlichung aus Box¶
Parameter |
Beschreibung |
---|---|
Source Database |
Snowflake-Datenbank, die das Schema enthält, das den Snowflake-Stream mit den aufgenommenen Änderungen enthält. |
Quellschema |
Schema, das den Snowflake-Stream mit den aufgenommenen Änderungen enthält |
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 |
Snowflake Stream Name |
Snowflake Stream-Name, der für die Aufnahme von Änderungen aus der Snowflake-Quelltabelle verwendet wird. Sie müssen ihn erstellen, bevor Sie den Konnektor starten und mit der Tabelle verknüpfen. |
Zielsystemparameter für die Metadatenveröffentlichung aus Box¶
Parameter |
Beschreibung |
---|---|
Box App Config JSON |
Eine JSON-Konfiguration der Anwendung, die während der Erstellung der App heruntergeladen wurde. |
Box App Config File |
Eine JSON-Datei der Anwendung, die bei der Erstellung der App heruntergeladen wurde. Entweder muss „Box App Config File“ oder „Box App Config JSON“ festgelegt werden. Aktivieren Sie das Kontrollkästchen Reference asset, um die Konfigurationsdatei hochzuladen. |
Aufnahmeparameter für die Metadatenveröffentlichung aus Box¶
Parameter |
Beschreibung |
---|---|
Box File Identifier Column |
Die Spalte der Metadatentabelle, in der die Box-Datei-ID gespeichert wird, um die angegebenen Metadaten mit einer Datei zu verknüpfen. Diese Spalte muss vom Typ VARCHAR sein und Teil der in Eine Snowflake-Tabelle zum Speichern der Box-Metadaten erstellen erstellten Tabelle sein. |
Box Metadata Template Name |
Vorlagenname der Box-Metadatenvorlage, die den Box-Dateien hinzugefügt werden soll. Sie müssen vor dem Start des Konnektors keine Vorlage manuell erstellen. Wenn Sie einen Wert in diesen Parameter eingeben, wird automatisch eine Vorlage mit diesem Vorlagennamen erstellt. Der angegebene Name sollte sich nicht mit einer Vorlage überschneiden, die Sie bereits in Ihrer Box-Umgebung erstellt haben. |
Box Metadata Template Key |
Der Box-Vorlagenschlüssel der Box-Metadatenvorlage, die den Box-Dateien hinzugefügt werden soll. Dies ist der Schlüssel, der verwendet wird, um die Vorlage in der Box-API zu referenzieren. Sie müssen vor dem Start des Konnektors keine Vorlage manuell erstellen. Wenn Sie einen Wert in diesen Parameter eingeben, wird automatisch eine Vorlage mit diesem Vorlagenschlüssel erstellt. Der angegebene Schlüssel sollte sich nicht mit einer Vorlage überschneiden, die Sie bereits in Ihrer Box-Umgebung erstellt haben. |
Führen Sie den Ablauf aus¶
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.
Nachdem Sie den Ablauf ausgeführt haben, können Sie den Cortex Search Service abfragen. Informationen zur Abfrage des Cortex Search Sevice finden Sie unter Abfrage des Cortex Search Service.