[Ultimate]{class="badge positive"}

Crear una conexión base Snowflake mediante la API Flow Service

IMPORTANT
El origen Snowflake está disponible en el catálogo de orígenes para los usuarios que han adquirido Real-time Customer Data Platform Ultimate.

Una conexión base representa la conexión autenticada entre un origen y Adobe Experience Platform.

Utilice el siguiente tutorial para aprender a crear una conexión base para Snowflake mediante la [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

Introducción

Esta guía requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:

  • Fuentes: Experience Platform permite la ingesta de datos de varias fuentes al tiempo que le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform.
  • Zonas protegidas: Experience Platform proporciona zonas protegidas virtuales que dividen una sola instancia de Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.

Uso de API de Platform

Para obtener información sobre cómo realizar llamadas correctamente a las API de Platform, consulte la guía sobre introducción a las API de Platform.

La siguiente sección proporciona información adicional que necesitará conocer para conectarse correctamente a Snowflake mediante la API Flow Service.

Recopilar credenciales necesarias

Debe proporcionar valores para las siguientes propiedades de credenciales para autenticar el origen de Snowflake.

Autenticación de clave de cuenta
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
Credencial Descripción
account Un nombre de cuenta identifica de forma exclusiva una cuenta de su organización. En este caso, debe identificar una cuenta de forma exclusiva en diferentes organizaciones de Snowflake. Para ello, debe anteponer el nombre de su organización al nombre de la cuenta. Por ejemplo: orgname-account_name. Para obtener más información sobre los nombres de cuenta, lea la documentación de Snowflake sobre identificadores de cuenta.
warehouse El almacén Snowflake administra el proceso de ejecución de consultas para la aplicación. Cada almacén de Snowflake es independiente entre sí y se debe acceder a él de forma individual al llevar datos a Platform.
database La base de datos Snowflake contiene los datos que desea obtener de Platform.
username El nombre de usuario de la cuenta Snowflake.
password Contraseña de la cuenta de usuario Snowflake.
role La función de control de acceso predeterminada que se usará en la sesión Snowflake. La función debe ser una función existente que ya se haya asignado al usuario especificado. La función predeterminada es PUBLIC.
connectionString Cadena de conexión utilizada para conectarse a la instancia Snowflake. El patrón de cadena de conexión de Snowflake es jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
Autenticación de par de claves

Para utilizar la autenticación de par clave, debe generar un par clave RSA de 2048 bits y, a continuación, proporcionar los siguientes valores al crear una cuenta para el origen Snowflake.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Credencial Descripción
account Un nombre de cuenta identifica de forma exclusiva una cuenta de su organización. En este caso, debe identificar una cuenta de forma exclusiva en diferentes organizaciones de Snowflake. Para ello, debe anteponer el nombre de su organización al nombre de la cuenta. Por ejemplo: orgname-account_name. Para obtener más información sobre los nombres de cuenta, lea la documentación de Snowflake sobre identificadores de cuenta.
username El nombre de usuario de su cuenta de Snowflake.
privateKey La clave privada codificada Base64- de su cuenta de Snowflake. Puede generar claves privadas cifradas o no cifradas. Si utiliza una clave privada cifrada, también debe proporcionar una frase de contraseña de clave privada al autenticarse con el Experience Platform.
privateKeyPassphrase La frase de contraseña de clave privada es una capa adicional de seguridad que debe utilizar al autenticarse con una clave privada cifrada. No es necesario que proporcione la frase de contraseña si utiliza una clave privada no cifrada.
database La base de datos Snowflake que contiene los datos que desea introducir al Experience Platform.
warehouse El almacén Snowflake administra el proceso de ejecución de consultas para la aplicación. Cada almacén de Snowflake es independiente entre sí y se debe tener acceso a él individualmente al llevar los datos al Experience Platform.

Para obtener más información sobre estos valores, consulte la Snowflake guía de autenticación de par clave.

NOTE
Debe establecer el indicador PREVENT_UNLOAD_TO_INLINE_URL en FALSE para permitir la descarga de datos de la base de datos Snowflake al Experience Platform.

Crear una conexión base

Una conexión base retiene información entre el origen y Platform, incluidas las credenciales de autenticación del origen, el estado actual de la conexión y el ID único de conexión base. El ID de conexión base le permite explorar y navegar por archivos desde el origen e identificar los elementos específicos que desea introducir, incluida la información sobre sus tipos de datos y formatos.

Para crear un identificador de conexión base, realice una solicitud de POST al extremo /connections y proporcione sus credenciales de autenticación Snowflake como parte del cuerpo de la solicitud.

Formato de API

POST /connections
CadenaDeConexión
accordion
Solicitud

La siguiente solicitud crea una conexión base para 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
Propiedad Descripción
auth.params.connectionString Cadena de conexión utilizada para conectarse a la instancia Snowflake. El patrón de cadena de conexión de Snowflake es jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}.
connectionSpec.id Identificador de especificación de conexión Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Respuesta

Una respuesta correcta devuelve la conexión recién creada, incluido su identificador de conexión único (id). Este ID es necesario para explorar los datos en el siguiente tutorial.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticación de par de claves con clave privada cifrada
accordion
Solicitud
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
Propiedad Descripción
auth.params.account El nombre de su cuenta de Snowflake.
auth.params.username El nombre de usuario asociado con su cuenta de Snowflake.
auth.params.database Base de datos Snowflake de la que se extraerán los datos.
auth.params.privateKey La clave privada cifrada Base64- de su cuenta Snowflake.
auth.params.privateKeyPassphrase La frase de contraseña que corresponde con su clave privada.
auth.params.warehouse El almacén de Snowflake que está utilizando.
connectionSpec.id Identificador de especificación de conexión Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Respuesta

Una respuesta correcta devuelve la conexión recién creada, incluido su identificador de conexión único (id). Este ID es necesario para explorar los datos en el siguiente tutorial.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticación de par de claves con clave privada no cifrada
accordion
Solicitud
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
Propiedad Descripción
auth.params.account El nombre de su cuenta de Snowflake.
auth.params.username El nombre de usuario asociado con su cuenta de Snowflake.
auth.params.database Base de datos Snowflake de la que se extraerán los datos.
auth.params.privateKey La clave privada no cifrada Base64- de su cuenta Snowflake.
auth.params.warehouse El almacén de Snowflake que está utilizando.
connectionSpec.id Identificador de especificación de conexión Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Respuesta

Una respuesta correcta devuelve la conexión recién creada, incluido su identificador de conexión único (id). Este ID es necesario para explorar los datos en el siguiente tutorial.

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

Siguiendo este tutorial, ha creado una conexión base Snowflake mediante la API Flow Service. Puede utilizar este ID de conexión base en los siguientes tutoriales:

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