[Ultimate]{class="badge positive"}

Crear un Google PubSub Conexión de origen mediante la API de Flow Service

IMPORTANT
El Google PubSub La fuente de está disponible en el catálogo de fuentes de para los usuarios que han adquirido Real-time Customer Data Platform Ultimate.

Este tutorial lo acompañará durante los pasos para conectarse Google PubSub (en lo sucesivo, "PubSub") al Experience Platform, utilizando [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 desde varias fuentes y, al mismo tiempo, le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform.
  • Zonas protegidas: El Experience Platform proporciona entornos limitados virtuales que dividen una sola instancia de Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.

Las secciones siguientes proporcionan información adicional que deberá conocer para conectarse correctamente PubSub a Platform mediante el Flow Service API.

Recopilar credenciales necesarias

Debe proporcionar valores para las propiedades de conexión descritas a continuación para conectar su PubSub cuenta a Flow Service. Para obtener más información sobre la autenticación y la configuración de requisitos previos, lea la PubSub source descripción general.

Autenticación basada en proyectos
table 0-row-2 1-row-2 2-row-2 3-row-2
Credencial Descripción
projectId El ID de proyecto necesario para la autenticación PubSub.
credentials La credencial necesaria para autenticarse PubSub. Debe asegurarse de colocar el archivo JSON completo después de eliminar los espacios en blanco de las credenciales.
connectionSpec.id La especificación de conexión devuelve las propiedades del conector de origen, incluidas las especificaciones de autenticación relacionadas con la creación de las conexiones de destino base y de origen. El PubSub ID de especificación de conexión: 70116022-a743-464a-bbfe-e226a7f8210c.
Autenticación por tema y por suscripción
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Credencial Descripción
credentials La credencial necesaria para autenticarse PubSub. Debe asegurarse de colocar el archivo JSON completo después de eliminar los espacios en blanco de las credenciales.
topicName El nombre del recurso que representa una fuente de mensajes. Debe especificar un nombre de tema si desea proporcionar acceso a un flujo de datos específico en su PubSub origen. El formato del nombre del tema es: projects/{PROJECT_ID}/topics/{TOPIC_ID}.
subscriptionName El nombre de su PubSub suscripción. Entrada PubSub, las suscripciones le permiten recibir mensajes, suscribiéndose al tema en el que se han publicado los mensajes. Nota: Un solo PubSub la suscripción solo se puede utilizar para un flujo de datos. Para poder crear varios flujos de datos, debe tener varias suscripciones. El formato del nombre de suscripción es: projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}.
connectionSpec.id La especificación de conexión devuelve las propiedades del conector de origen, incluidas las especificaciones de autenticación relacionadas con la creación de las conexiones de destino base y de origen. El PubSub ID de especificación de conexión: 70116022-a743-464a-bbfe-e226a7f8210c.

Para obtener más información sobre estos valores, lea esto PubSub authentication documento. Para utilizar la autenticación basada en cuentas de servicio, lea esto PubSub guía de creación de cuentas de servicio para ver los pasos sobre cómo generar las credenciales.

TIP
Si utiliza la autenticación basada en cuentas de servicio, asegúrese de que ha concedido suficiente acceso de usuario a su cuenta de servicio y de que no hay espacios en blanco adicionales en el JSON al copiar y pegar las credenciales.

Uso de API de Platform

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

Crear una conexión base

TIP
Una vez creado, no se puede cambiar el tipo de autenticación de una Google PubSub conexión base. Para cambiar el tipo de autenticación, debe crear una nueva conexión base.

El primer paso para crear una conexión de origen es autenticar su PubSub y generar un ID de conexión base. Un ID de conexión base le permite explorar y navegar por archivos desde el origen e identificar elementos específicos que desee introducir, incluida información sobre sus tipos de datos y formatos.

Para crear un ID de conexión base, realice una solicitud de POST al /connections extremo al proporcionar su PubSub credenciales de autenticación como parte de los parámetros de solicitud.

El PubSub fuente permite especificar el tipo de acceso que desea permitir durante la autenticación. Puede configurar su cuenta para que tenga acceso raíz o restringir el acceso a un en particular PubSub tema y suscripción.

NOTE
Principal (funciones) asignado a PubSub Los proyectos de se heredan en todos los temas y suscripciones creados dentro de un PubSub proyecto. Si desea que una entidad de seguridad (función) tenga acceso a un tema específico, dicha entidad de seguridad (función) también debe agregarse a la suscripción correspondiente del tema. Para obtener más información, lea la [PubSub documentación sobre el control de acceso] (https://cloud.google.com/pubsub/docs/access-control).

Formato de API

POST /connections
Autenticación basada en proyectos

Para crear una conexión base con la autenticación basada en proyectos, realice una solicitud de POST al /connections y proporcione su projectId y credentials en el cuerpo de la solicitud.

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": "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
Propiedad Descripción
auth.params.projectId El ID de proyecto necesario para la autenticación PubSub.
auth.params.credentials La credencial o clave necesaria para autenticarse PubSub.
connectionSpec.id El PubSub ID de especificación de conexión: 70116022-a743-464a-bbfe-e226a7f8210c.
accordion
Respuesta

Una respuesta correcta devuelve detalles de la conexión recién creada, incluido su identificador único (id). Este identificador de conexión base es necesario en el siguiente paso para crear una conexión de origen.

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
Autenticación por tema y por suscripción

Para crear una conexión base con tema y autenticación basada en suscripción, realice una solicitud de POST al /connections y proporcione su credentials, topicName, y subscriptionName en el cuerpo de la solicitud.

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": "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
Propiedad Descripción
auth.params.credentials La credencial o clave necesaria para autenticarse PubSub.
auth.params.topicName El par de ID de proyecto e ID de tema para PubSub origen al que desea proporcionar acceso.
auth.params.subscriptionName El par de ID de proyecto e ID de suscripción para PubSub origen al que desea proporcionar acceso.
connectionSpec.id El PubSub ID de especificación de conexión: 70116022-a743-464a-bbfe-e226a7f8210c.
accordion
Respuesta

Una respuesta correcta devuelve detalles de la conexión recién creada, incluido su identificador único (id). Este identificador de conexión base es necesario en el siguiente paso para crear una conexión de origen.

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

Crear una conexión de origen source

Una conexión de origen crea y administra la conexión con el origen externo desde el que se incorporan los datos. Una conexión de origen consta de información como el origen de datos, el formato de datos y un ID de conexión de origen necesario para crear un flujo de datos. Una instancia de conexión de origen es específica de un inquilino y una organización.

Para crear una conexión de origen, realice una solicitud de POST al /sourceConnections punto final del Flow Service API.

Formato de API

POST /sourceConnections

Solicitud

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"
      }
  }'
Propiedad
Descripción
name
Nombre de la conexión de origen. Asegúrese de que el nombre de la conexión de origen sea descriptivo, ya que puede utilizarlo para buscar información sobre la conexión de origen.
description
Un valor opcional que puede proporcionar para incluir más información sobre la conexión de origen.
baseConnectionId
El ID de conexión base de su PubSub origen que se generó en el paso anterior.
connectionSpec.id
Identificador de especificación de conexión fija para PubSub. Este ID es: 70116022-a743-464a-bbfe-e226a7f8210c
data.format
El formato del PubSub datos que desea introducir. Actualmente, el único formato de datos admitido es json.
params.topicName
El nombre de su PubSub tema. Entrada PubSub, un tema es un recurso con nombre que representa una fuente de mensajes.
params.subscriptionName
El nombre de suscripción que corresponde a un tema determinado. Entrada PubSub, las suscripciones permiten leer mensajes de un tema. Se pueden asignar una o varias suscripciones a un solo tema.
params.dataType
Este parámetro define el tipo de datos que se están introduciendo. Los tipos de datos admitidos son: raw y xdm.

Respuesta

Una respuesta correcta devuelve el identificador único (id) de la conexión de origen recién creada. Este ID es necesario en el siguiente tutorial para crear un flujo de datos.

{
    "id": "e96d6135-4b50-446e-922c-6dd66672b6b2",
    "etag": "\"66013508-0000-0200-0000-5f6e2ae70000\""
}

Pasos siguientes

Al seguir este tutorial, ha creado un PubSub conexión de origen mediante Flow Service API. Puede utilizar este ID de conexión de origen en el siguiente tutorial para lo siguiente crear un flujo de datos de flujo continuo utilizando Flow Service API.

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