Este tutorial guiará você pelas etapas para se conectar Google PubSub (a seguir designado por "PubSub") para Experience Platform, usando o [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
Este guia requer uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:
As seções a seguir fornecem informações adicionais que você precisará saber para se conectar com êxito PubSub para a Platform usando o Flow Service API.
A fim de Flow Service para se conectar a PubSub, você deve fornecer valores para as seguintes propriedades de conexão:
Credencial | Descrição |
---|---|
projectId |
A ID do projeto necessária para a autenticação PubSub. |
credentials |
A credencial ou chave necessária para autenticar PubSub. |
topicName |
O nome do recurso que representa um feed de mensagens. Você deve especificar um nome de tópico se quiser fornecer acesso a um fluxo específico de dados em seu PubSub origem. O formato do nome do tópico é: projects/{PROJECT_ID}/topics/{TOPIC_ID} . |
subscriptionName |
O nome do seu PubSub assinatura. Entrada PubSub, assinaturas permitem que você receba mensagens inscrevendo-se no tópico no qual as mensagens foram publicadas. Nota: Uma única PubSub a assinatura só pode ser usada para um fluxo de dados. Para fazer vários fluxos de dados, você deve ter várias assinaturas. O formato do nome da assinatura é: projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID} . |
connectionSpec.id |
A especificação de conexão retorna as propriedades do conector de origem, incluindo especificações de autenticação relacionadas à criação das conexões de origem e de destino de base. A variável PubSub A ID da especificação de conexão é: 70116022-a743-464a-bbfe-e226a7f8210c . |
Para obter mais informações sobre esses valores, consulte esta PubSub autenticação documento. Para usar autenticação baseada em conta de serviço, consulte esta PubSub guia sobre a criação de contas de serviço para obter etapas sobre como gerar suas credenciais.
Se estiver usando autenticação baseada em conta de serviço, verifique se você concedeu acesso de usuário suficiente à conta de serviço e se não há espaços em branco adicionais no JSON ao copiar e colar suas credenciais.
Para obter informações sobre como fazer chamadas para APIs da Platform com êxito, consulte o manual em introdução às APIs da Platform.
A primeira etapa na criação de uma conexão de origem é autenticar seu PubSub origem e gere uma ID de conexão básica. Uma ID de conexão básica permite explorar e navegar pelos arquivos de dentro da origem e identificar itens específicos que você 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 PubSub credenciais de autenticação como parte dos parâmetros de solicitação.
A variável PubSub source permite especificar o tipo de acesso que você deseja permitir durante a autenticação. Você pode configurar sua conta para ter acesso de raiz ou restringir o acesso a um específico PubSub tópico e assinatura.
Principal (funções) atribuído a um PubSub projetos são herdados em todos os tópicos e assinaturas criadas dentro de um PubSub projeto. Se você quiser que um principal (função) tenha acesso a um tópico específico, esse principal (função) também deverá ser adicionado à assinatura correspondente do tópico. Para obter mais informações, leia a [PubSub documentação sobre o controle de acesso] (https://cloud.google.com/pubsub/docs/access-control).
Formato da API
POST /connections
Solicitação
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": "Google PubSub connection",
"description": "Google PubSub connection",
"auth": {
"specName": "Project Based Authentication",
"params": {
"projectId": "{PROJECT_ID}",
"credentials": "{CREDENTIALS}"
}
},
"connectionSpec": {
"id": "70116022-a743-464a-bbfe-e226a7f8210c",
"version": "1.0"
}
}'
Propriedade | Descrição |
---|---|
auth.params.projectId |
A ID do projeto necessária para a autenticação PubSub. |
auth.params.credentials |
A credencial ou chave necessária para autenticar PubSub. |
connectionSpec.id |
A variável PubSub ID de especificação da conexão: 70116022-a743-464a-bbfe-e226a7f8210c . |
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": "Google PubSub connection",
"description": "Google PubSub connection",
"auth": {
"specName": "Topic & Subscription Based Authentication",
"params": {
"credentials": "{CREDENTIALS}",
"topicName": "projects/{PROJECT_ID}/topics/{TOPIC_ID}",
"subscriptionName": "projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}"
}
},
"connectionSpec": {
"id": "70116022-a743-464a-bbfe-e226a7f8210c",
"version": "1.0"
}
}'
Propriedade | Descrição |
---|---|
auth.params.credentials |
A credencial ou chave necessária para autenticar PubSub. |
auth.params.topicName |
O par de ID de projeto e ID de tópico para o PubSub fonte à qual você deseja fornecer acesso. |
auth.params.subscriptionName |
O par da ID do projeto e da ID de assinatura para o PubSub fonte à qual você deseja fornecer acesso. |
connectionSpec.id |
A variável PubSub ID de especificação da conexão: 70116022-a743-464a-bbfe-e226a7f8210c . |
Resposta
Uma resposta bem-sucedida retorna detalhes da conexão recém-criada, incluindo seu identificador exclusivo (id
). Essa ID de conexão básica é necessária na próxima etapa para criar uma conexão de origem.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
Uma conexão de origem cria e gerencia a conexão com a origem externa de onde os dados são assimilados. Uma conexão de origem consiste em informações como fonte de dados, formato de dados e uma ID de conexão de origem necessária para criar um fluxo de dados. Uma instância de conexão de origem é específica para um locatário e uma organização.
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": "Google PubSub source connection",
"description": "A source connection for Google PubSub",
"baseConnectionId": "4cb0c374-d3bb-4557-b139-5712880adc55",
"connectionSpec": {
"id": "70116022-a743-464a-bbfe-e226a7f8210c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"topicName": "projects/{PROJECT_ID}/topics/{TOPIC_ID}",
"subscriptionName": "projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}",
"dataType": "raw"
}
}'
Propriedade | Descrição |
---|---|
name |
O nome da sua conexão de origem. Certifique-se de que o nome da conexão de origem seja descritivo, pois você pode usá-lo para pesquisar informações sobre a conexão de origem. |
description |
Um valor opcional que pode ser fornecido para incluir mais informações sobre a conexão de origem. |
baseConnectionId |
A ID de conexão básica de seu PubSub que foi gerado na etapa anterior. |
connectionSpec.id |
A ID de especificação de conexão fixa para PubSub. Essa ID é: 70116022-a743-464a-bbfe-e226a7f8210c |
data.format |
O formato do PubSub dados que você deseja assimilar. No momento, o único formato de dados compatível é json . |
params.topicName |
O nome do seu PubSub tópico. Entrada PubSub, um tópico é um recurso nomeado que representa um feed de mensagens. |
params.subscriptionName |
O nome da assinatura que corresponde a um determinado tópico. Entrada PubSub, assinaturas permitem ler mensagens de um tópico. Uma ou várias assinaturas podem ser atribuídas a um único tópico. |
params.dataType |
Esse parâmetro define o tipo de dados que está sendo assimilado. Os tipos de dados compatíveis incluem: raw e xdm . |
Resposta
Uma resposta bem-sucedida retorna o identificador exclusivo (id
) da conexão de origem recém-criada. Essa ID é necessária no próximo tutorial para criar um fluxo de dados.
{
"id": "e96d6135-4b50-446e-922c-6dd66672b6b2",
"etag": "\"66013508-0000-0200-0000-5f6e2ae70000\""
}
Ao seguir este tutorial, você criou um PubSub conexão de origem usando o Flow Service API. Você pode usar essa ID de conexão de origem no próximo tutorial para crie um fluxo de dados de transmissão usando o Flow Service API.