[Ultimate]{class="badge positive"}

Criar uma conexão de base Snowflake usando a API Flow Service

IMPORTANT
A origem Snowflake está disponível no catálogo de origens para usuários que compraram o Real-time Customer Data Platform Ultimate.

Uma conexão base representa a conexão autenticada entre uma origem e o Adobe Experience Platform.

Use o tutorial a seguir para saber como criar uma conexão base para Snowflake usando a [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

Introdução

Este manual necessita de uma compreensão funcional dos seguintes componentes da Adobe Experience Platform:

  • Fontes: Experience Platform permite que os dados sejam assimilados de várias fontes e fornece a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços do Platform.
  • Sandboxes: Experience Platform fornece sandboxes virtuais que particionam uma única instância do Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.

Uso de APIs da plataforma

Para obter informações sobre como fazer chamadas para APIs da Platform com êxito, consulte o manual sobre introdução às APIs da Platform.

A seção a seguir fornece informações adicionais que você precisará saber para se conectar com êxito ao Snowflake usando a API Flow Service.

Coletar credenciais necessárias

Você deve fornecer valores para as seguintes propriedades de credencial para autenticar sua origem Snowflake.

Autenticação da chave da conta
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 Descrição
account Um nome de conta identifica exclusivamente uma conta na organização. Nesse caso, você deve identificar exclusivamente uma conta em diferentes organizações do Snowflake. Para fazer isso, você deve anexar o nome da organização ao nome da conta. Por exemplo: orgname-account_name. Para obter mais informações sobre nomes de conta, leia a documentação do Snowflake sobre identificadores de conta.
warehouse O warehouse Snowflake gerencia o processo de execução da consulta para o aplicativo. Cada warehouse Snowflake é independente um do outro e deve ser acessado individualmente ao trazer dados para a plataforma.
database O banco de dados Snowflake contém os dados que você deseja trazer para a Plataforma.
username O nome de usuário da conta Snowflake.
password A senha da conta de usuário Snowflake.
role A função de controle de acesso padrão a ser usada na sessão Snowflake. A função deve ser uma função existente que já foi atribuída ao usuário especificado. A função padrão é PUBLIC.
connectionString A cadeia de conexão usada para se conectar à sua instância do Snowflake. O padrão da cadeia de conexão para Snowflake é jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
Autenticação de par de chaves

Para usar a autenticação de par de chaves, você deve gerar um par de chaves RSA de 2048 bits e fornecer os seguintes valores ao criar uma conta para sua origem Snowflake.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Credencial Descrição
account Um nome de conta identifica exclusivamente uma conta na organização. Nesse caso, você deve identificar exclusivamente uma conta em diferentes organizações do Snowflake. Para fazer isso, você deve anexar o nome da organização ao nome da conta. Por exemplo: orgname-account_name. Para obter mais informações sobre nomes de conta, leia a documentação do Snowflake sobre identificadores de conta.
username O nome de usuário da sua conta Snowflake.
privateKey A chave privada Base64-codificada da sua conta Snowflake. Você pode gerar chaves privadas criptografadas ou não. Se você estiver usando uma chave privada criptografada, também deverá fornecer uma senha de chave privada ao autenticar no Experience Platform.
privateKeyPassphrase A senha da chave privada é uma camada adicional de segurança que deve ser usada ao autenticar com uma chave privada criptografada. Não é necessário fornecer a senha se você estiver usando uma chave privada não criptografada.
database O banco de dados Snowflake que contém os dados que você deseja assimilar no Experience Platform.
warehouse O warehouse Snowflake gerencia o processo de execução da consulta para o aplicativo. Cada warehouse Snowflake é independente um do outro e deve ser acessado individualmente ao trazer dados para o Experience Platform.

Para obter mais informações sobre esses valores, consulte o Snowflake guia de autenticação de par de chaves.

NOTE
Você deve definir o sinalizador PREVENT_UNLOAD_TO_INLINE_URL como FALSE para permitir o descarregamento de dados do banco de dados Snowflake para o Experience Platform.

Criar uma conexão básica

Uma conexão base retém informações entre sua origem e a Platform, incluindo as credenciais de autenticação da origem, o estado atual da conexão e sua ID de conexão base exclusiva. A ID de conexão básica permite explorar e navegar pelos arquivos de dentro da origem e identificar os itens específicos que deseja assimilar, incluindo informações sobre os tipos de dados e formatos.

Para criar uma ID de conexão base, faça uma solicitação POST para o ponto de extremidade /connections enquanto fornece suas credenciais de autenticação Snowflake como parte do corpo da solicitação.

Formato da API

POST /connections
CadeiadaConexão
accordion
Solicitação

A solicitação a seguir cria uma conexão 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
Propriedade Descrição
auth.params.connectionString A cadeia de conexão usada para se conectar à sua instância do Snowflake. O padrão da cadeia de conexão para Snowflake é jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}.
connectionSpec.id A ID da especificação de conexão Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Resposta

Uma resposta bem-sucedida retorna a conexão recém-criada, incluindo seu identificador de conexão exclusivo (id). Essa ID é necessária para explorar seus dados no próximo tutorial.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticação de par de chaves com chave privada criptografada
accordion
Solicitação
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
Propriedade Descrição
auth.params.account O nome da sua conta Snowflake.
auth.params.username O nome de usuário associado à sua conta Snowflake.
auth.params.database O banco de dados Snowflake de onde os dados serão extraídos.
auth.params.privateKey A chave privada criptografada codificada Base64- da sua conta Snowflake.
auth.params.privateKeyPassphrase A senha que corresponde à sua chave privada.
auth.params.warehouse O warehouse Snowflake que você está usando.
connectionSpec.id A ID da especificação de conexão Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Resposta

Uma resposta bem-sucedida retorna a conexão recém-criada, incluindo seu identificador de conexão exclusivo (id). Essa ID é necessária para explorar seus dados no próximo tutorial.

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
Autenticação de par de chaves com chave privada não criptografada
accordion
Solicitação
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
Propriedade Descrição
auth.params.account O nome da sua conta Snowflake.
auth.params.username O nome de usuário associado à sua conta Snowflake.
auth.params.database O banco de dados Snowflake de onde os dados serão extraídos.
auth.params.privateKey A chave privada não criptografada codificada Base64- da sua conta Snowflake.
auth.params.warehouse O warehouse Snowflake que você está usando.
connectionSpec.id A ID da especificação de conexão Snowflake: b2e08744-4f1a-40ce-af30-7abac3e23cf3.
accordion
Resposta

Uma resposta bem-sucedida retorna a conexão recém-criada, incluindo seu identificador de conexão exclusivo (id). Essa ID é necessária para explorar seus dados no próximo tutorial.

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

Seguindo este tutorial, você criou uma conexão de base Snowflake usando a API Flow Service. Você pode usar essa ID de conexão básica nos seguintes tutoriais:

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