[Ultimate]{class="badge positive"}

Créez une connexion de base à Snowflake à l’aide de l’API Flow Service.

IMPORTANT
La source Snowflake est disponible dans le catalogue des sources pour les utilisateurs qui ont acheté Real-Time Customer Data Platform Ultimate.

Une connexion de base représente la connexion authentifiée entre une source et Adobe Experience Platform.

Utilisez le tutoriel suivant pour apprendre à créer une connexion de base pour Snowflake à l’aide de l’ [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

Prise en main

Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :

  • Sources : Experience Platform permet d’ingérer des données provenant de diverses sources tout en vous offrant la possibilité de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services Platform.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une instance Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience digitale.

Utiliser les API Platform

Pour plus d’informations sur la manière d’effectuer des appels vers les API Platform, consultez le guide Prise en main des API Platform.

La section suivante fournit des informations supplémentaires dont vous aurez besoin pour vous connecter à Snowflake à l’aide de l’API Flow Service.

Collecter les informations d’identification requises

Vous devez fournir des valeurs pour les propriétés d’identification suivantes pour authentifier votre source Snowflake.

Authentification par clé de compte
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
Informations d’identification Description
account Un nom de compte identifie de manière unique un compte au sein de votre organisation. Dans ce cas, vous devez identifier de manière unique un compte parmi différentes organisations Snowflake. Pour ce faire, vous devez ajouter le nom de votre organisation en préfixe sur le nom du compte. Par exemple : orgname-account_name. Pour plus d'informations sur les noms de compte, consultez la documentation Snowflake sur les identifiants de compte.
warehouse L’entrepôt Snowflake gère le processus d’exécution de requête pour l’application. Chaque entrepôt Snowflake est indépendant l’un de l’autre et doit être accessible individuellement lors de la transmission de données à Platform.
database La base de données Snowflake contient les données que vous souhaitez importer dans Platform.
username Nom d’utilisateur du compte Snowflake.
password Mot de passe du compte utilisateur Snowflake.
role Rôle de contrôle d’accès par défaut à utiliser dans la session Snowflake. Le rôle doit être un rôle existant qui a déjà été attribué à l’utilisateur spécifié. Le rôle par défaut est PUBLIC.
connectionString Chaîne de connexion utilisée pour se connecter à votre instance Snowflake. Le modèle de chaîne de connexion pour Snowflake est jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
Authentification par paire de clés

Pour utiliser l’authentification par paire de clés, vous devez générer une paire de clés RSA 2 048 bits, puis fournir les valeurs suivantes lors de la création d’un compte pour votre source Snowflake.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Informations d’identification Description
account Un nom de compte identifie de manière unique un compte au sein de votre organisation. Dans ce cas, vous devez identifier de manière unique un compte parmi différentes organisations Snowflake. Pour ce faire, vous devez ajouter le nom de votre organisation en préfixe sur le nom du compte. Par exemple : orgname-account_name. Pour plus d'informations sur les noms de compte, consultez la documentation Snowflake sur les identifiants de compte.
username Nom d’utilisateur de votre compte Snowflake.
privateKey La clé privée Base64- codée de votre compte Snowflake. Vous pouvez générer des clés privées chiffrées ou non chiffrées. Si vous utilisez une clé privée chiffrée, vous devez également fournir un mot de passe de clé privée lors de l’authentification par rapport à un Experience Platform.
privateKeyPassphrase La phrase secrète de clé privée est une couche supplémentaire de sécurité que vous devez utiliser lors de l’authentification avec une clé privée chiffrée. Vous n’êtes pas tenu de fournir la phrase secrète si vous utilisez une clé privée non chiffrée.
database La base de données Snowflake qui contient les données que vous souhaitez ingérer à l’Experience Platform.
warehouse L’entrepôt Snowflake gère le processus d’exécution de requête pour l’application. Chaque entrepôt Snowflake est indépendant l’un de l’autre et doit être accessible individuellement lors de la transmission de données à Experience Platform.

Pour plus d’informations sur ces valeurs, consultez le Snowflake guide d’authentification de paire de clés.

NOTE
Vous devez définir l’indicateur PREVENT_UNLOAD_TO_INLINE_URL sur FALSE pour autoriser le déchargement des données de votre base de données Snowflake vers l’Experience Platform.

Créer une connexion de base

Une connexion de base conserve les informations échangées entre votre source et Platform, y compris les informations d’authentification de votre source, l’état actuel de la connexion et votre identifiant de connexion de base unique. L’identifiant de connexion de base vous permet d’explorer et de parcourir des fichiers à partir de votre source et d’identifier les éléments spécifiques que vous souhaitez ingérer, y compris des informations concernant leurs types et formats de données.

Pour créer un identifiant de connexion de base, envoyez une requête de POST au point de terminaison /connections tout en fournissant vos informations d’authentification Snowflake dans le cadre du corps de la requête.

Format d’API

POST /connections
ConnectionString
accordion
Requête

La requête suivante permet de créer une connexion de base pour Snowflake :

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection",
      "description": "Snowflake base connection",
      "auth": {
          "specName": "ConnectionString",
          "params": {
              "connectionString": "jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2
Propriété Description
auth.params.connectionString Chaîne de connexion utilisée pour se connecter à votre instance Snowflake. Le modèle de chaîne de connexion pour Snowflake est jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}.
connectionSpec.id ID de spécification de connexion Snowflake : b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Réponse

Une réponse réussie renvoie la nouvelle connexion, y compris son identifiant de connexion unique (id). Cet identifiant est nécessaire pour explorer vos données dans le tutoriel suivant.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Authentification de paire de clés avec clé privée chiffrée
accordion
Requête
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "privateKeyPassphrase": "abcd1234",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
Propriété Description
auth.params.account Nom de votre compte Snowflake.
auth.params.username Nom d’utilisateur associé à votre compte Snowflake.
auth.params.database La base de données Snowflake à partir de laquelle les données seront extraites.
auth.params.privateKey La clé privée Base64- codée et chiffrée de votre compte Snowflake.
auth.params.privateKeyPassphrase La phrase secrète qui correspond à votre clé privée.
auth.params.warehouse L’entrepôt Snowflake que vous utilisez.
connectionSpec.id ID de spécification de connexion Snowflake : b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Réponse

Une réponse réussie renvoie la nouvelle connexion, y compris son identifiant de connexion unique (id). Cet identifiant est nécessaire pour explorer vos données dans le tutoriel suivant.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Authentification de paire de clés avec clé privée non chiffrée
accordion
Requête
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Propriété Description
auth.params.account Nom de votre compte Snowflake.
auth.params.username Nom d’utilisateur associé à votre compte Snowflake.
auth.params.database La base de données Snowflake à partir de laquelle les données seront extraites.
auth.params.privateKey La clé privée Base64- codée et non chiffrée de votre compte Snowflake.
auth.params.warehouse L’entrepôt Snowflake que vous utilisez.
connectionSpec.id ID de spécification de connexion Snowflake : b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Réponse

Une réponse réussie renvoie la nouvelle connexion, y compris son identifiant de connexion unique (id). Cet identifiant est nécessaire pour explorer vos données dans le tutoriel suivant.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}

Ce tutoriel vous a permis de créer une connexion de base à Snowflake à l’aide de l’API Flow Service. Vous pouvez utiliser cet identifiant de connexion de base dans les tutoriels suivants :

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089