Paramétrez Openflow Connector for Box¶
Note
Le connecteur est soumis aux conditions d’utilisation du connecteur.
Cette rubrique décrit les étapes pour paramétrer Openflow Connector for Box.
Conditions préalables¶
Assurez-vous d’avoir consulté À propos de Openflow Connector for Box.
Assurez-vous que vous avez paramétré Openflow.
Obtenir les identifiants de connexion¶
En tant que Box ou administrateur Box, créez une application Box Platform comme suit :
Naviguez vers Box Developer Console.
Sélectionnez Create Platform App.
Sélectionnez Custom App comme type d’application.
Donnez un nom et une description à l’application et sélectionnez un objectif dans la liste déroulante.
Sélectionnez Server Authentication (with JWT) comme méthode d’authentification.
Sélectionnez Create App.
Pour configurer l’application, accédez à l’onglet Configuration.
Dans la section App Access Level, sélectionnez App + Enterprise Access.
Dans la section Application Scopes, sélectionnez les options suivantes :
Read all files and folders stored in Box.
Write all files and folders stored in Box : pour télécharger des fichiers et des dossiers. Notez que le connecteur ne peut pas télécharger de fichiers. Snowflake recommande de n’attribuer au compte de service que le rôle de visualiseur. Pour accorder à l’application l’accès aux fichiers dans Box, sélectionnez un dossier à synchroniser. Partagez-le avec le compte de service de l’application en utilisant l’email du compte de service de l’étape n. Openflow Connector for Box peut identifier et de télécharger des fichiers à partir du dossier spécifié et de tous ses sous-dossiers, mais il ne peut pas modifier les fichiers.
Manage users : pour lire les utilisateurs dans l’entreprise.
Manage groups : pour lire les groupes et leurs membres dans l’entreprise.
Manage enterprise properties : pour lire les événements de l’entreprise.
Dans la section Add and Manage Public Keys, générez une paire de clés publique/privée. Box télécharge un fichier de configuration JSON avec une clé privée.
Enregistrez les modifications.
Accédez à l’onglet Authorization et soumettez l’application à l’autorisation d’accès à l’entreprise.
Demandez à l’administrateur de votre entreprise d’approuver l’application.
Une fois l’approbation accordée, allez dans l’onglet General Settings et enregistrez l’adresse électronique du compte de service de l’application.
Pour plus d’informations, voir Configuration avec JWT.
Paramétrage du compte Snowflake¶
En tant qu’administrateur de compte Snowflake, effectuez les tâches suivantes manuellement ou à l’aide du script inclus ci-dessous :
Créez un nouveau rôle ou utilisez un rôle existant et accordez le Privilèges de base de données.
Créez un nouvel utilisateur du service Snowflake avec le type SERVICE.
Autorisez l’utilisateur du service Snowflake le rôle que vous avez créé dans les étapes précédentes.
Configurez avec l’authentification par paire de clés pour l’utilisateur de Snowflake SERVICE de l’étape 2.
Snowflake recommande vivement cette étape. Configurez un gestionnaire de secrets pris en charge par Openflow, par exemple AWS, Azure et Hashicorp, et stockez les clés publiques et privées dans le magasin de secrets.
Note
Si, pour une raison quelconque, vous ne souhaitez pas utiliser un gestionnaire de secrets, il vous incombe de protéger les fichiers de clés publiques et privées utilisés pour l’authentification par paires de clés conformément aux politiques de sécurité de votre organisation.
Une fois le gestionnaire de secrets configuré, déterminez comment vous vous y authentifierez. Sur AWS, il est recommandé d’utiliser le rôle de l’instance EC2 associée à Openflow, car de cette manière, aucun autre secret ne doit être conservé.
Dans Openflow, configurez un fournisseur de paramètres associé à ce gestionnaire de secrets, à partir du menu hamburger en haut à droite. Naviguez vers Controller Settings » Parameter Provider et récupérez les valeurs de vos paramètres.
À ce stade, tous les identifiants peuvent être référencés avec les chemins de paramètres associés et aucune valeur sensible ne doit être conservée dans Openflow.
Si d’autres utilisateurs de Snowflake ont besoin d’accéder aux documents bruts ingérés et aux tables ingérées par le connecteur (par exemple, pour un traitement personnalisé dans Snowflake), accordez à ces utilisateurs le rôle créé à l’étape 1.
Désignez un entrepôt à utiliser par le connecteur. Commencez par la taille d’entrepôt la plus petite, puis faites des essais en fonction du nombre de tables répliquées et de la quantité de données transférées. Les tables de grande taille s’adaptent généralement mieux aux entrepôts multi-clusters, plutôt qu’aux entrepôts de grande taille.
Exemple de configuration¶
--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>;
Cas d’utilisation¶
Vous pouvez configurer le connecteur pour les cas d’utilisation suivants :
Ingérez des fichiers et effectuez des performances avec Cortex
Extrayez les métadonnées Box à l’aide de Box AI et ingérez-les dans une table Snowflake
Synchronisez les instances de métadonnées des fichiers Box avec une table Snowflake
Ingestion de fichiers uniquement¶
Utilisez la définition du connecteur pour :
Traitez les fichiers ingérés avec Document AI.
Effectuer des performances personnalisées sur les fichiers ingérés.
Définir le connecteur¶
En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer le connecteur :
Installer le connecteur¶
Naviguez jusqu’à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes.
Sélectionnez Add.
Note
Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.
Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.
Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.
Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.
Configuration du connecteur¶
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.
Saisissez les valeurs des paramètres requis comme décrit dans Paramètres d’ingestion Box, Paramètres de destination Box et Paramètres source Box.
Paramètres source Box¶
Paramètre |
Description |
---|---|
Configuration JSON de l’application Box |
Une configuration JSON de l’application qui a été téléchargée lors de la création de l’application. |
Fichier de configuration de l’application Box |
Un fichier JSON de l’application qui a été téléchargé lors de la création de l’app. Le paramètre Fichier de configuration de l’application Box ou JSON de configuration de l’application Box doit être configuré. Cochez la case Reference asset pour télécharger le fichier de configuration. |
Paramètres de destination Box¶
Paramètre |
Description |
---|---|
Base de données de destination |
La base de données dans laquelle les données seront conservées. Doit déjà exister dans Snowflake. |
Schéma de destination |
Le schéma dans lequel les données seront conservées. Doit déjà exister dans Snowflake. |
Identificateur de compte Snowflake |
Nom du compte Snowflake formaté comme suit : [[nom de l’organisation] -[[nom du compte] où les données seront conservées |
Stratégie d’authentification Snowflake |
Stratégie d’authentification auprès de Snowflake. Valeurs possibles : |
Clé privée de Snowflake |
La clé privée RSA utilisée pour l’authentification. La clé RSA doit être formatée selon les normes PKCS8 et comporter les en-têtes et pieds de page standard PEM. Notez que vous devez définir soit le fichier de clé privée de Snowflake, soit la clé privée de Snowflake. |
Fichier de clé privée de Snowflake |
Le fichier qui contient la clé privée RSA utilisée pour l’authentification à Snowflake, formaté selon les normes PKCS8 et comportant les en-têtes et pieds de page standard PEM. La ligne d’en-tête commence par |
Mot de passe de la clé privée de Snowflake |
Le mot de passe associé au fichier de la clé privée de Snowflake |
Rôle Snowflake |
Rôle Snowflake utilisé lors de l’exécution de la requête |
Nom d’utilisateur Snowflake |
Nom d’utilisateur utilisé pour se connecter à l’instance de Snowflake |
Entrepôt Snowflake |
L’entrepôt de Snowflake est utilisé pour exécuter des requêtes |
Paramètres d’ingestion Box¶
Paramètre |
Description |
---|---|
ID de dossier Box |
ID du dossier à partir duquel les fichiers doivent être lus. Le paramètre |
Extensions de fichiers à ingérer |
Une liste séparée par des virgules qui spécifie les extensions de fichiers à ingérer. Le connecteur essaie d’abord de convertir les fichiers au format PDF, si possible. Néanmoins, la vérification de l’extension est effectuée sur l’extension du fichier d’origine. Si certaines des extensions de fichiers spécifiées ne sont pas prises en charge par Cortex Parse Document, le connecteur ignore ces fichiers, connecte un message d’avertissement dans un journal d’événements et poursuit le traitement des autres fichiers. |
Nom de la table de hachage du fichier Snowflake |
Nom de la table dans laquelle sont stockés les hachages de fichiers afin de déterminer si le contenu a été modifié. Ce paramètre ne doit généralement pas être modifié. |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.
Après avoir démarré le connecteur, il récupère tous les fichiers du dossier spécifié, puis consomme les événements admin_logs_streaming
survenus au cours des 14 derniers jours. Cette opération a pour but de capturer des données qui auraient pu être omises au cours du processus d’initialisation. Pendant ce temps, des erreurs not found
peuvent se produire, causées par des fichiers qui apparaissent dans les événements mais qui ne sont plus présents.
Ingérez des fichiers et effectuez des performances avec Cortex¶
Utilisez la définition du connecteur pour :
Créez des assistants AI pour les documents publics au sein de l’entreprise Box de votre organisation
Permettez à vos assistants AI d’adhérer aux contrôles d’accès spécifiés dans l’entreprise Box de votre organisation
Définir le connecteur¶
En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer le connecteur :
Installer le connecteur¶
Naviguez jusqu’à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes.
Sélectionnez Add.
Note
Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.
Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.
Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.
Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.
Configuration du connecteur¶
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.
Renseignez les valeurs des paramètres requis comme décrit dans Paramètres d’ingestion Box Cortex Connect, Paramètres de destination Box Cortex Connect et Paramètres source Box Cortex Connect.
Paramètres source Box Cortex Connect¶
Paramètre |
Description |
---|---|
Configuration JSON de l’application Box |
Une configuration JSON de l’application qui a été téléchargée lors de la création de l’application. |
Fichier de configuration de l’application Box |
Un fichier JSON de l’application qui a été téléchargé lors de la création de l’app. Le paramètre Fichier de configuration de l’application Box ou JSON de configuration de l’application Box doit être configuré. Cochez la case Reference asset pour télécharger le fichier de configuration. |
Paramètres de destination Box Cortex Connect¶
Paramètre |
Description |
---|---|
Base de données de destination |
La base de données dans laquelle les données seront conservées. Doit déjà exister dans Snowflake. |
Schéma de destination |
Le schéma dans lequel les données seront conservées. Elle doit déjà exister dans Snowflake |
Identificateur de compte Snowflake |
Nom du compte Snowflake formaté comme suit : [[nom de l’organisation] -[[nom du compte] où les données seront conservées |
Stratégie d’authentification Snowflake |
Stratégie d’authentification auprès de Snowflake. Valeurs possibles : |
Clé privée de Snowflake |
La clé privée RSA utilisée pour l’authentification. La clé RSA doit être formatée selon les normes PKCS8 et comporter les en-têtes et pieds de page standard PEM. Notez que vous devez définir soit le fichier de clé privée de Snowflake, soit la clé privée de Snowflake. |
Fichier de clé privée de Snowflake |
Le fichier qui contient la clé privée RSA utilisée pour l’authentification à Snowflake, formaté selon les normes PKCS8 et comportant les en-têtes et pieds de page standard PEM. La ligne d’en-tête commence par |
Mot de passe de la clé privée de Snowflake |
Le mot de passe associé au fichier de la clé privée de Snowflake |
Rôle Snowflake |
Rôle Snowflake utilisé lors de l’exécution de la requête |
Nom d’utilisateur Snowflake |
Nom d’utilisateur utilisé pour se connecter à l’instance de Snowflake |
Entrepôt Snowflake |
L’entrepôt de Snowflake est utilisé pour exécuter des requêtes |
Paramètres d’ingestion Box Cortex Connect¶
Paramètre |
Description |
---|---|
ID de dossier Box |
ID du dossier à partir duquel les fichiers doivent être lus. Le paramètre |
Extensions de fichiers à ingérer |
Une liste séparée par des virgules qui spécifie les extensions de fichiers à ingérer. Le connecteur essaie d’abord de convertir les fichiers au format PDF, si possible. Néanmoins, la vérification de l’extension est effectuée sur l’extension du fichier d’origine. Si certaines des extensions de fichiers spécifiées ne sont pas prises en charge par Cortex Parse Document, le connecteur ignore ces fichiers, connecte un message d’avertissement dans un journal d’événements et poursuit le traitement des autres fichiers. |
Nom de la table de hachage du fichier Snowflake |
Nom de la table dans laquelle sont stockés les hachages de fichiers afin de déterminer si le contenu a été modifié. Ce paramètre ne doit généralement pas être modifié. |
Mode OCR |
Le mode OCR à utiliser lors de l’analyse des fichiers avec la fonction Cortex PARSE_DOCUMENT. La valeur peut être |
Rôle de l’utilisateur Snowflake Cortex Search Service |
Identificateur d’un rôle auquel sont attribuées des autorisations d’utilisation du service Cortex Search. |
Nom de la table de hachage du fichier Snowflake |
Nom de la table dans laquelle sont stockés les hachages de fichiers afin de déterminer si le contenu a été modifié. Ce paramètre ne doit généralement pas être modifié. |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.
Après avoir démarré le connecteur, il récupère tous les fichiers du dossier spécifié, puis consomme les événements admin_logs_streaming
survenus au cours des 14 derniers jours. Cette opération a pour but de capturer toutes les données qui ont pu être omises au cours du processus d’initialisation. Pendant ce temps, des erreurs not found
peuvent se produire, causées par les fichiers qui apparaissent dans les événements mais qui ne sont plus présents.
Requête auprès du service Cortex Search Service¶
Vous pouvez utiliser le service Cortex Search Service pour créer des applications de chat et de recherche permettant de dialoguer avec vos documents dans Box ou d’y effectuer des requêtes.
Une fois que vous avez installé et configuré le connecteur et qu’il commence à ingérer le contenu de Box, vous pouvez lancer une requête auprès du service Cortex Search. Pour plus d’informations sur l’utilisation de Cortex Search, voir Requête à un service de Cortex Search.
Réponses des filtres
Pour limiter les réponses du service Cortex Search aux documents auxquels un utilisateur spécifique a accès dans Box, vous pouvez spécifier un filtre contenant l’ID ou l’e-mail de l’utilisateur lorsque vous effectuez une requête auprès de Cortex Search. Par exemple, filter.@contains.user_ids
ou filter.@contains.user_emails
. Le nom du service Cortex Search créé par le connecteur est search_service
dans le schéma Cortex
.
Exécutez le code SQL suivant dans une feuille de calcul SQL pour interroger le service Cortex Search avec des fichiers ingérés depuis votre site Box.
Remplacez les éléments suivants :
application_instance_name
: Nom de votre base de données et de votre instance d’application connecteur.user_emailID
: ID d’email de l’utilisateur pour lequel vous souhaitez filtrer les réponses.your_question
: La question pour laquelle vous souhaitez obtenir des réponses.number_of_results
: Nombre maximal de résultats à renvoyer dans la réponse. La valeur maximale est de 1 000 et la valeur par défaut est de 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
Voici la liste complète des valeurs que vous pouvez saisir pour columns
:
Nom de la colonne |
Type |
Description |
---|---|---|
|
Chaîne |
Un chemin complet vers le fichier à partir de la racine des documents du site Box. Exemple : |
|
Chaîne |
Une URL qui affiche un fichier Box original dans un navigateur. |
|
Chaîne |
Date et heure de la dernière modification de l’élément. |
|
Chaîne |
Un morceau de texte du document qui correspond à la requête de Cortex Search. |
|
Tableau |
Un tableau des IDs des utilisateurs qui ont accès à la documentation. |
|
Tableau |
Un tableau des e-mails des IDs des utilisateurs qui ont accès au document. Il inclut également les IDs de courriels utilisateurs de tous les groupes Microsoft 365 qui sont affectés au document. |
Exemple : Requête auprès d’un assistant AI pour obtenir des informations sur les ressources humaines (HR)
Vous pouvez utiliser Cortex Search pour interroger un assistant AI à l’intention des employés afin d’obtenir les dernières versions des informations HR, telles que l’onboarding, le code de conduite, les processus d’équipe et les politiques de l’organisation. À l’aide de filtres de réponse, vous pouvez également autoriser les membres de l’équipe HR à effectuer des requêtes sur les contrats des employés tout en respectant les contrôles d’accès configurés dans Box.
Exécutez la procédure suivante dans une feuille calcul SQL pour interroger le service Cortex Search avec des fichiers ingérés à partir de Box. Sélectionnez la base de données comme nom d’instance de votre application et le schéma comme Cortex.
Remplacez les éléments suivants :
application_instance_name
: Nom de votre base de données et de votre instance d’application connecteur.user_emailID
: ID d’email de l’utilisateur pour lequel vous souhaitez filtrer les réponses.
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
Exécutez le code suivant dans une feuille de calcul Python pour interroger le service Cortex Search avec des fichiers ingérés depuis Box. Veillez à ajouter le paquet snowflake.core
à votre base de données.
Remplacez les éléments suivants :
application_instance_name
: Nom de votre base de données et de votre instance d’application connecteur.user_emailID
: ID d’email de l’utilisateur pour lequel vous souhaitez filtrer les réponses.
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())
Exécutez le code suivant dans une interface de ligne de commande pour interroger le service Cortex Search avec les fichiers ingérés depuis votre Box. L’accès aux APIs REST Snowflake nécessite une authentification par paire de clés et par OAuth. Pour plus d’informations, voir Rest API et Authentification d”Snowflake REST APIs avec Snowflake.
Remplacez les éléments suivants :
application_instance_name
: Nom de votre base de données et de votre instance d’application connecteur.account_url
: Votre URL de compte Snowflake . Pour obtenir des instructions sur la façon de trouver l’URL de votre compte, voir Recherche de l’organisation et du nom de compte pour un compte.
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
}'
Exemple de réponse :
{
"results" : [ {
"web_url" : "https://<domain>.box.com/sites/<site_name>/<path_to_file>",
"chunk" : "Answer to the question asked."
} ]
}
Extrayez les métadonnées Box à l’aide de Box AI et ingérez-les dans une table Snowflake¶
Utilisez la définition du connecteur pour :
Extrayez les métadonnées de vos fichiers Box et ingérez-les dans une table Snowflake
Effectuez des opérations sur les métadonnées de vos fichiers stockés dans Box
Créez une table Snowflake pour stocker les métadonnées Box¶
Assurez-vous que Box AI est activé pour l’extraction des métadonnées. Pour plus d’informations, voir Configuration de Box AI.
Créez une table Snowflake dans laquelle les métadonnées seront envoyées
Pour que le connecteur sache quel type de métadonnées extraire, vous devez créer une table Snowflake dans votre base de données et votre schéma avec les noms des colonnes des champs que vous souhaitez extraire. Ajoutez des descriptions à chaque colonne afin d’améliorer les performances du modèle utilisé pour extraire les métadonnées des fichiers.
Dans la table créée à l’étape précédente, assurez-vous qu’il existe une colonne pour stocker le fichier Box ID et qu’elle est de type VARCHAR.
Le nom de cette colonne doit être saisi en tant que paramètre de la colonne d’identification du fichier Box dans les étapes suivantes. La liste des types de colonnes pris en charge pour la table des métadonnées est la suivante : VARCHAR, STRING, TEXT, FLOAT, DOUBLE et DATE.
Voici un exemple de table que vous pouvez créer pour ce connecteur :
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)'
);
Définir le connecteur¶
En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer le connecteur :
Installer le connecteur¶
Naviguez jusqu’à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes.
Sélectionnez Add.
Note
Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.
Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.
Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.
Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.
Configuration du connecteur¶
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.
Renseignez les valeurs des paramètres requis comme décrit dans Paramètres source des métadonnées d’ingestion Box, Paramètres de destination des métadonnées d’ingestion Box et Paramètres d’ingestion des métadonnées d’ingestion Box.
Paramètres de la source de métadonnées d’ingestion Box¶
Paramètre |
Description |
---|---|
Configuration JSON de l’application Box |
Une configuration JSON de l’application qui a été téléchargée lors de la création de l’application. |
Fichier de configuration de l’application Box |
Un fichier JSON de l’application qui a été téléchargé lors de la création de l’app. Le paramètre Fichier de configuration de l’application Box ou JSON de configuration de l’application Box doit être configuré. Cochez la case Reference asset pour télécharger le fichier de configuration. |
Paramètres de destination des métadonnées d’ingestion Box¶
Paramètre |
Description |
---|---|
Base de données de destination |
La base de données dans laquelle les données seront conservées. Elle doit déjà exister dans Snowflake |
Schéma de destination |
Le schéma dans lequel les données seront conservées. Elle doit déjà exister dans Snowflake |
Identificateur de compte Snowflake |
Nom du compte Snowflake formaté comme suit : [[nom de l’organisation] -[[nom du compte] où les données seront conservées |
Stratégie d’authentification Snowflake |
Stratégie d’authentification auprès de Snowflake. Valeurs possibles : SNOWFLAKE_SESSION_TOKEN - lorsque nous exécutons le flux sur SPCS, KEY_PAIR lorsque nous voulons configurer l’accès à l’aide d’une clé privée |
Clé privée de Snowflake |
La clé privée RSA utilisée pour l’authentification. La clé RSA doit être formatée selon les normes PKCS8 et comporter les en-têtes et pieds de page standard PEM. Notez que vous devez définir soit le fichier de clé privée de Snowflake, soit la clé privée de Snowflake |
Fichier de clé privée de Snowflake |
Le fichier qui contient la clé privée RSA utilisée pour l’authentification à Snowflake, formaté selon les normes PKCS8 et comportant les en-têtes et pieds de page standard PEM. La ligne d’en-tête commence par |
Mot de passe de la clé privée de Snowflake |
Le mot de passe associé au fichier de la clé privée de Snowflake |
Rôle Snowflake |
Rôle Snowflake utilisé lors de l’exécution de la requête |
Nom d’utilisateur Snowflake |
Nom d’utilisateur utilisé pour se connecter à l’instance de Snowflake |
Entrepôt Snowflake |
L’entrepôt de Snowflake est utilisé pour exécuter des requêtes |
Paramètres d’ingestion des métadonnées d’ingestion Box¶
Paramètre |
Description |
---|---|
ID de dossier Box |
ID du dossier à partir duquel les fichiers doivent être lus. Le paramètre |
Colonne de l’identificateur du fichier Box |
La colonne de la table des métadonnées qui stockera l’ID de fichier Box pour associer les métadonnées données à un fichier. Cette colonne doit être de type VARCHAR et faire partie de la table créée dans Créez une table Snowflake pour stocker les métadonnées Box. |
Table des métadonnées de destination |
La table Snowflake que vous avez créée à l’adresse Créez une table Snowflake pour stocker les métadonnées Box, qui comporte les colonnes des métadonnées que vous souhaitez collecter. |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.
Après avoir démarré le connecteur, il récupère tous les fichiers du dossier spécifié, puis consomme admin_logs_streaming
événements des 14 derniers jours. Cette opération a pour but de capturer toutes les données qui ont pu être omises au cours du processus d’initialisation. Pendant ce temps, des erreurs not found
peuvent se produire, causées par les fichiers qui apparaissent dans les événements mais qui ne sont plus présents.
Synchronisez les instances de métadonnées des fichiers Box avec une table Snowflake¶
Utilisez la définition du connecteur pour effectuer une transformation de données sur les métadonnées Box dans une table de connecteur Snowflake et ajoutez les modifications à une instance de métadonnées Box.
Créez un flux Snowflake pour stocker les métadonnées Box¶
Créez un flux Snowflake pour la table de métadonnées que vous souhaitez utiliser. Le flux est utilisé pour surveiller les modifications apportées à la table avec laquelle vous souhaitez synchroniser vos fichiers Box. Pour savoir comment créer une table pour le stockage des métadonnées Box, voir Créer une table Snowflake pour le stockage des métadonnées Box. Si le connecteur est arrêté au-delà de la durée de conservation des données et que le flux devient périmé, vous devez recréer un flux et remplacer le précédent. Pour en savoir plus sur la gestion des flux, consultez le site Gestion des flux.
Voici un exemple de flux que vous pouvez créer pour ce connecteur :
CREATE OR REPLACE STREAM OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA_STREAM ON TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA
Dans la table des métadonnées, veillez à ce qu’une colonne stocke l’ID de fichier Box et qu’elle soit de type VARCHAR.
Le nom de cette colonne doit être saisi en tant que paramètre de la colonne d’identification du fichier Box dans les étapes suivantes. La liste des types de colonnes pris en charge pour la table des métadonnées est la suivante : VARCHAR, STRING, TEXT, FLOAT, DOUBLE et DATE.
Définir le connecteur¶
En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer le connecteur :
Installer le connecteur¶
Naviguez jusqu’à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes.
Sélectionnez Add.
Note
Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.
Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.
Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.
Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.
Configuration du connecteur¶
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.
Renseignez les valeurs des paramètres requis comme décrit dans Paramètres de la source de métadonnées de publication Box, Paramètres de destination des métadonnées de publication Box et Paramètres d’ingestion des métadonnées de publication Box.
Paramètres de la source de métadonnées de publication Box¶
Paramètre |
Description |
---|---|
Base de données source |
Base de données Snowflake qui contient le schéma contenant le flux Snowflake qui ingère les modifications |
Schéma de la source |
Schéma qui contient le flux Snowflake qui ingère les modifications |
Identificateur de compte Snowflake |
Nom du compte Snowflake formaté comme suit : [[nom de l’organisation] -[[nom du compte] où les données seront conservées |
Stratégie d’authentification Snowflake |
Stratégie d’authentification auprès de Snowflake. Valeurs possibles : SNOWFLAKE_SESSION_TOKEN - lorsque nous exécutons le flux sur SPCS, KEY_PAIR lorsque nous voulons configurer l’accès à l’aide d’une clé privée |
Clé privée de Snowflake |
La clé privée RSA utilisée pour l’authentification. La clé RSA doit être formatée selon les normes PKCS8 et comporter les en-têtes et pieds de page standard PEM. Notez que vous devez définir soit le fichier de clé privée de Snowflake, soit la clé privée de Snowflake |
Fichier de clé privée de Snowflake |
Le fichier qui contient la clé privée RSA utilisée pour l’authentification à Snowflake, formaté selon les normes PKCS8 et comportant les en-têtes et pieds de page standard PEM. La ligne d’en-tête commence par |
Mot de passe de la clé privée de Snowflake |
Le mot de passe associé au fichier de la clé privée de Snowflake |
Rôle Snowflake |
Rôle Snowflake utilisé lors de l’exécution de la requête |
Nom d’utilisateur Snowflake |
Nom d’utilisateur utilisé pour se connecter à l’instance de Snowflake |
Entrepôt Snowflake |
L’entrepôt de Snowflake est utilisé pour exécuter des requêtes |
Nom du flux Snowflake |
Nom du flux Snowflake utilisé pour l’ingestion des modifications de la table Snowflake source. Vous devez le créer avant de lancer le connecteur et le lien vers la table. |
Paramètres de destination des métadonnées de publication Box¶
Paramètre |
Description |
---|---|
Configuration JSON de l’application Box |
Une configuration JSON de l’application qui a été téléchargée lors de la création de l’application. |
Fichier de configuration de l’application Box |
Un fichier JSON de l’application qui a été téléchargé lors de la création de l’app. Le paramètre Fichier de configuration de l’application Box ou JSON de configuration de l’application Box doit être configuré. Cochez la case Reference asset pour télécharger le fichier de configuration. |
Paramètres d’ingestion des métadonnées de publication Box¶
Paramètre |
Description |
---|---|
Colonne de l’identificateur du fichier Box |
La colonne de la table des métadonnées qui stockera l’ID de fichier Box pour associer les métadonnées données à un fichier. Cette colonne doit être de type VARCHAR et faire partie de la table créée dans Créez une table Snowflake pour stocker les métadonnées Box. |
Nom du modèle de métadonnées Box |
Nom du modèle de métadonnées Box qui sera ajouté aux fichiers Box. Vous n’avez pas besoin de créer manuellement un modèle avant de lancer le connecteur. Si vous saisissez une valeur dans ce paramètre, un modèle est automatiquement créé avec ce nom de modèle. Le nom fourni ne doit pas faire double emploi avec un modèle que vous avez déjà créé dans votre environnement Box. |
Clé du modèle de métadonnées Box |
La clé du modèle de métadonnée Box qui sera ajoutée aux fichiers Box. Il s’agit de la clé qui sera utilisée pour référencer le modèle dans l’API Box. Vous n’avez pas besoin de créer manuellement un modèle avant de lancer le connecteur. Si vous saisissez une valeur dans ce paramètre, un modèle est automatiquement créé avec cette clé de modèle. La clé fournie ne doit pas faire double emploi avec un modèle que vous avez déjà créé dans votre environnement Box. |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.
Après avoir exécuté le flux, vous pouvez interroger le service Cortex Search. Pour obtenir des informations sur la manière d’interroger le service Cortex Search, consultez Requête auprès du service Cortex Search.