[Ultimate]{class="badge positive"}

Criar um Google PubSub Conexão de origem usando a API de serviço de fluxo

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

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/).

Introdução

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

  • Origens: o Experience Platform 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 os serviços da plataforma.
  • Sandboxes: o Experience Platform fornece sandboxes virtuais que particionam uma única instância da Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.

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.

Coletar credenciais necessárias

Você deve fornecer valores para as propriedades de conexão descritas abaixo para conectar seu PubSub conta para Flow Service. Para obter mais informações sobre autenticação e configuração de pré-requisitos, leia a PubSub source visão geral.

Autenticação baseada em projeto
table 0-row-2 1-row-2 2-row-2 3-row-2
Credencial Descrição
projectId A ID do projeto necessária para a autenticação PubSub.
credentials A credencial necessária para autenticar PubSub. Certifique-se de colocar o arquivo JSON completo após remover os espaços em branco de suas credenciais.
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.
Tópico e autenticação por assinatura
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Credencial Descrição
credentials A credencial necessária para autenticar PubSub. Certifique-se de colocar o arquivo JSON completo após remover os espaços em branco de suas credenciais.
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, leia este PubSub autenticação documento. Para usar autenticação baseada em conta de serviço, leia este PubSub guia sobre a criação de contas de serviço para obter etapas sobre como gerar suas credenciais.

TIP
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.

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.

Criar uma conexão básica

TIP
Depois de criado, não é possível alterar o tipo de autenticação de um Google PubSub conexão básica. Para alterar o tipo de autenticação, você deve criar uma nova conexão base.

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.

NOTE
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
Autenticação baseada em projeto

Para criar uma conexão básica com autenticação baseada em projeto, faça uma solicitação POST ao /connections e forneça seu projectId e credentials no corpo da solicitação.

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": "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"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2
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.
accordion
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.

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
Tópico e autenticação por assinatura

Para criar uma conexão básica com autenticação baseada em tópico e em assinatura, faça uma solicitação POST ao /connections e forneça seu credentials, topicName, e subscriptionName no corpo da solicitação.

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": "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"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
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.
accordion
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.

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

Criar uma conexão de origem source

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\""
}

Próximas etapas

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.

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