Show Menu
TÓPICOS×

Criar um Google BigQuery conector usando a Flow Service API

O Google BigQuery conector está em beta. Consulte a visão geral das Fontes para obter mais informações sobre o uso de conectores com rótulo beta.
Flow Service é usada para coletar e centralizar dados do cliente de várias fontes diferentes no Adobe Experience Platform. O serviço fornece uma interface de usuário e uma RESTful API a partir da qual todas as fontes compatíveis são conectáveis.
Este tutorial usa a Flow Service API para guiá-lo pelas etapas para se conectar Experience Platform (a seguir, "BigQuery") Google BigQuery .

Introdução

Este guia exige uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:
  • Fontes : Experience Platform permite que os dados sejam ingeridos de várias fontes e, ao mesmo tempo, fornece a você a capacidade de estruturar, rotular e aprimorar os dados recebidos usando Platform serviços.
  • Caixas de proteção : Experience Platform fornece caixas de proteção virtuais que particionam uma única Platform instância em ambientes virtuais separados para ajudar a desenvolver e desenvolver aplicativos de experiência digital.
As seções a seguir fornecem informações adicionais que você precisará saber para se conectar com êxito ao BigQuery usando a Flow Service API.

Reunir credenciais obrigatórias

Para Flow Service se conectar ao BigQuery, é necessário fornecer as seguintes propriedades de conexão:
Credencial
Descrição
project
A ID do projeto padrão para o BigQuery query.
clientID
O valor da ID usado para gerar o token de atualização.
clientSecret
O valor secreto usado para gerar o token de atualização.
refreshToken
O token de atualização obtido do Google usado para autorizar o acesso ao BigQuery.
Para obter mais informações sobre esses valores, consulte este documento BigQuery.

Lendo chamadas de exemplo da API

Este tutorial fornece exemplos de chamadas de API para demonstrar como formatar suas solicitações. Isso inclui caminhos, cabeçalhos necessários e cargas de solicitação formatadas corretamente. O JSON de amostra retornado em respostas de API também é fornecido. Para obter informações sobre as convenções usadas na documentação para chamadas de API de amostra, consulte a seção sobre como ler chamadas de API de exemplo no guia de Experience Platform solução de problemas.

Reunir valores para cabeçalhos necessários

Para fazer chamadas para Platform APIs, você deve primeiro concluir o tutorial de autenticação. A conclusão do tutorial de autenticação fornece os valores para cada um dos cabeçalhos necessários em todas as chamadas de Experience Platform API, como mostrado abaixo:
  • Autorização: Portador {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Todos os recursos no Experience Platform, incluindo os pertencentes ao Flow Service, são isolados para caixas de proteção virtuais específicas. Todas as solicitações para Platform APIs exigem um cabeçalho que especifique o nome da caixa de proteção em que a operação ocorrerá:
  • x-sandbox-name: {SANDBOX_NAME}
Todas as solicitações que contêm uma carga (POST, PUT, PATCH) exigem um cabeçalho de tipo de mídia adicional:
  • Tipo de conteúdo: application/json

Pesquisar especificações de conexão

Para criar uma BigQuery conexão, um conjunto de especificações de BigQuery conexão deve existir dentro Flow Service. A primeira etapa para conectar-se Platform a BigQuery é recuperar essas especificações.
Formato da API
Cada fonte disponível tem seu próprio conjunto exclusivo de especificações de conexão para descrever propriedades do conector, como requisitos de autenticação. Você pode procurar especificações de conexão BigQuery executando uma solicitação GET e usando parâmetros de query.
Enviar uma solicitação GET sem parâmetros de query retornará especificações de conexão para todas as fontes disponíveis. Você pode incluir o query property=name=="google-big-query" para obter informações especificamente para BigQuery.
GET /connectionSpecs
GET /connectionSpecs?property=name=="google-big-query"

Solicitação
A solicitação a seguir recupera as especificações de conexão para BigQuery.
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Resposta
Uma resposta bem-sucedida retorna as especificações de conexão para BigQuery, incluindo seu identificador exclusivo ( id ). Essa ID é necessária na próxima etapa para criar uma conexão básica.
{
    "items": [
        {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "name": "google-big-query",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "project": {
                                "type": "string",
                                "description": "The project ID of the default BigQuery project to query against"
                            },
                            "clientId": {
                                "type": "string",
                                "description": "ID of the application used to generate the refresh token."
                            },
                            "clientSecret": {
                                "type": "string",
                                "description": "Secret of the application used to generate the refresh token.",
                                "format": "password"
                            },
                            "refreshToken": {
                                "type": "string",
                                "description": "The refresh token obtained from Google used to authorize access to BigQuery.",
                                "format": "password"
                            }
                        },
                        "required": [
                            "project",
                            "clientId",
                            "clientSecret",
                            "refreshToken"
                        ]
                    }
                }
            ]
        }
    ]
}

Criar uma conexão básica

Uma conexão básica especifica uma fonte e contém suas credenciais para essa fonte. Somente uma conexão básica é necessária por BigQuery conta, pois pode ser usada para criar vários conectores de origem para trazer dados diferentes.
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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "BigQuery base connection",
        "description": "Base connection for Google BigQuery",
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "project": "{PROJECT}",
                "clientId": "{CLIENT_ID}",
                "clientSecret": "{CLIENT_SECRET}",
                "refreshToken": "{REFRESH_TOKEN}"
            }
        },
        "connectionSpec": {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "version": "1.0"
    }'

Propriedade
Descrição
auth.params.project
A ID do projeto padrão do BigQuery query. contra.
auth.params.clientId
O valor da ID usado para gerar o token de atualização.
auth.params.clientSecret
O valor do cliente usado para gerar o token de atualização.
auth.params.refreshToken
O token de atualização obtido do Google usado para autorizar o acesso ao BigQuery.
connectionSpec.id
A especificação de conexão id da sua BigQuery conta recuperada na etapa anterior.
Resposta
Uma resposta bem-sucedida retorna detalhes da conexão básica recém-criada, incluindo seu identificador exclusivo ( id ). Essa ID é necessária para explorar seus dados no próximo tutorial.
{
    "id": "26ced882-729b-470f-8ed8-82729b570f03",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

Próximas etapas

Ao seguir este tutorial, você criou uma conexão BigQuery básica usando a Flow Service API e obteve o valor de ID exclusivo da conexão. Você pode usar essa ID de conexão básica no próximo tutorial à medida que aprende a explorar bancos de dados ou sistemas NoSQL usando a API do Serviço de Fluxo.