[Beta]{class="badge informative"} [Ultimate]{class="badge positive"}
Fluxo Snowflake dados para Experience Platform usando o Flow Service API
- A variável Snowflake a fonte da transmissão está na versão beta. Leia as Visão geral das fontes para obter mais informações sobre o uso de fontes rotuladas como beta.
- A variável Snowflake a fonte de transmissão está disponível na API para usuários que compraram o Real-time Customer Data Platform Ultimate.
Este tutorial fornece etapas sobre como conectar e transmitir dados de seu Snowflake para a Adobe Experience Platform usando a variável [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:
- Origens: Experience Platform O permite que os dados sejam assimilados de várias fontes e, ao mesmo tempo, fornece a capacidade de estruturar, rotular e aprimorar os dados recebidos usando o Platform serviços.
- Sandboxes: Experience Platform O fornece sandboxes virtuais que particionam uma única Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.
Para obter a configuração de pré-requisitos e informações sobre o Snowflake origem da transmissão. Leia as Snowflake visão geral da fonte de transmissão.
Uso de APIs da plataforma
Para obter informações sobre como fazer chamadas para APIs da Platform com êxito, consulte o manual em introdução às APIs da Platform.
Crie uma conexão básica create-a-base-connection
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 um ID de conexão base, faça uma solicitação POST ao /connections
ao fornecer sua Snowflake credenciais de autenticação como parte do corpo da solicitação.
Formato da API
POST /connections
Solicitação
A solicitação a seguir cria uma conexão básica para Snowflake:
auth.specName
deve ser inserido exatamente como no exemplo abaixo, incluindo os espaços em branco.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": "Basic Authentication for Snowflake",
"params": {
"account": "wixnnnd-ui60793.snowflakecomputing.com",
"database": "ACME_DB",
"warehouse": "ACME_WH",
"username": "nikola15",
"schema": "PUBLIC",
"password": "xxxx",
"role": "ACCOUNTADMIN"
}
},
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
}
}'
auth.params.account
auth.params.database
auth.params.warehouse
auth.params.username
auth.params.schema
auth.params.password
auth.params.role
public
.connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
.Resposta
Uma resposta bem-sucedida retorna a conexão base recém-criada e sua tag correspondente.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Explore suas tabelas de dados explore-your-data-tables
Em seguida, use a ID de conexão básica para explorar e navegar pelas tabelas de dados da sua origem fazendo uma solicitação GET para o /connections/{BASE_CONNECTION_ID}/explore?objectType=root
ao fornecer a ID de conexão básica como parâmetro.
Formato da API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Solicitação
A solicitação a seguir recupera a estrutura e o conteúdo do Snowflake conta de transmissão.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/1b614dc0-b76e-41e1-b25f-09f4a9d3f111/explore?objectType=root' \
-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}'
Resposta
Uma resposta bem-sucedida retorna a estrutura e o conteúdo dos dados da origem no nível raiz.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Criar uma conexão de origem create-a-source-connection
Uma conexão de origem cria e gerencia a conexão com a origem externa de onde os dados são assimilados.
Para criar uma conexão de origem, faça uma solicitação POST ao /sourceConnections
endpoint do Flow Service API.
Formato da API
POST /sourceConnections
Solicitação
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'authorization: Bearer {ACCESS_TOKEN}' \
-H 'content-type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "Snowflake Streaming Source Connection",
"description": "A source connection for Snowflake Streaming data",
"baseConnectionId": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
},
"params": {
"tableName": "ACME",
"timestampColumn": "dOb",
"backfill": "true",
"timezoneValue": "PST"
}
}'
baseConnectionId
connectionSpec.id
params.tableName
params.timestampColumn
params.backfill
params.timezoneValue
TIMESTAMP_NTZ
. Se não fornecido, timezoneValue
O padrão é UTC.Resposta
Uma resposta bem-sucedida retorna a ID de conexão de origem e a tag correspondente. A ID da conexão de origem será usada em uma etapa posterior para criar um fluxo de dados.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Crie um fluxo de dados
Para criar um fluxo de dados para transmitir dados de um tour Snowflake para a Platform, você deve fazer uma solicitação POST para a /flows
ao fornecer os seguintes valores:
Formato da API
POST /flows
Solicitação
A solicitação a seguir cria um fluxo de dados de transmissão para o Snowflake conta.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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 Streaming Dataflow",
"description": "A dataflow for Snowflake streaming data",
"sourceConnectionIds": [
"61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6"
],
"targetConnectionIds": [
"78f41c31-3652-4a5e-b264-74331226dcf3"
],
"flowSpec": {
"id": "c1a19761-d2c7-4702-b9fa-fe91f0613e81",
"version": "1.0"
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "44d42ed27c46499a80eb0c0705c38cbd",
"mappingVersion": 0
}
}
]
}'
sourceConnectionIds
targetConnectionIds
flowSpec.id
c1a19761-d2c7-4702-b9fa-fe91f0613e81
.transformations.params.mappingId
Resposta
Uma resposta bem-sucedida retorna a ID de fluxo e a tag correspondente.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Próximas etapas
Ao seguir este tutorial, você criou um fluxo de dados de transmissão para seu Snowflake dados usando o Flow Service API. Consulte a documentação a seguir para obter informações adicionais sobre origens na Adobe Experience Platform: