Show Menu
TÓPICOS×

Criar um conector Amazon S3 usando a API de Serviço de Fluxo

O Serviço de fluxo é usado para coletar e centralizar dados do cliente de várias fontes diferentes na 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 API de Serviço de Fluxo para guiá-lo pelas etapas para conectar a plataforma Experience a um armazenamento Amazon S3 (a seguir denominado "S3").
Se você preferir usar a interface do usuário na Experience Platform, o tutorial da interface do usuário do conector de origem do Azure Blob ou Amazon S3 fornece instruções passo a passo para executar ações semelhantes.

Introdução

Este guia exige uma compreensão prática dos seguintes componentes da Adobe Experience Platform:
  • Fontes : A Plataforma de experiência permite que os dados sejam assimilados de várias fontes e, ao mesmo tempo, fornece a você a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços da plataforma.
  • Caixas de proteção : A plataforma Experience fornece caixas de proteção virtuais que particionam uma única instância da Plataforma 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 a um armazenamento S3 usando a API de Serviço de Fluxo.

Reunir credenciais obrigatórias

Para que o Serviço de Fluxo se conecte ao seu armazenamento S3, é necessário fornecer valores para as seguintes propriedades de conexão:
Credencial
Descrição
s3AccessKey
A ID da chave de acesso para seu armazenamento S3.
s3SecretKey
A ID da chave secreta para seu armazenamento S3.
Para obter mais informações sobre como começar, visite este documento AWS.

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 solução de problemas da plataforma Experience.

Reunir valores para cabeçalhos necessários

Para fazer chamadas para APIs de plataforma, 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 da API da plataforma da experiência, como mostrado abaixo:
  • Autorização: Portador {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Todos os recursos na plataforma Experience, incluindo os pertencentes ao Serviço de Fluxo, são isolados para caixas de proteção virtuais específicas. Todas as solicitações para APIs de plataforma 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

Antes de conectar a Plataforma a um armazenamento S3, verifique se existem especificações de conexão para S3. Se as especificações de conexão não existirem, não será possível estabelecer uma conexão.
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 para S3 executando uma solicitação GET e usando parâmetros de query.
Formato da API
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=="amazon-s3" para obter informações especificamente para S3.
GET /connectionSpecs
GET /connectionSpecs?property=name=="amazon-s3"

Solicitação
A solicitação a seguir recupera as especificações de conexão para S3.
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="amazon-s3"' \
    -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 S3, incluindo seu identificador exclusivo ( id ). Essa ID é necessária na próxima etapa para criar uma conexão básica.
{
    "items": [
        {
            "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
            "name": "amazon-s3",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Access Key",
                    "type": "Access Key Auth",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params required for connecting to amazon-s3",
                        "properties": {
                            "s3AccessKey": {
                                "type": "string",
                                "description": "access key id"
                            },
                            "s3SecretKey": {
                                "type": "string",
                                "description": "Secret access key for the user account",
                                "format": "password"
                            }
                        },
                        "required": [
                            "accessKeyId",
                            "secretAccessKey"
                        ]
                    }
                }
            ]
        }
    ]
}

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 conta S3, 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 \
    'http://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": "S3 Base Connection",
        "description": "Base connection for an Amazon S3 account",
        "auth": {
            "specName": "Access Key",
            "params": {
                "s3AccessKey": "{S3_ACCESS_KEY}",
                "s3SecretKey": "{S3_SECRET_KEY}"
            }
        },
        "connectionSpec": {
            "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
            "version": "1.0"
        }
    }'

Propriedade
Descrição
auth.params.s3AccessKey
A chave de acesso associada ao seu armazenamento S3.
auth.params.s3SecretKey
Sua chave secreta associada ao seu armazenamento S3.
connectionSpec.id
A especificação de conexão id do seu armazenamento S3 recuperado 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 seu armazenamento no próximo tutorial.
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Próximas etapas

Ao seguir este tutorial, você criou uma conexão S3 usando APIs e uma ID exclusiva foi obtida como parte do corpo da resposta. Você pode usar essa ID de conexão para explorar armazenamentos em nuvem usando a API do Serviço de Fluxo ou assimilando dados de parquet usando a API do Serviço de Fluxo.