Conectar Amazon S3 ao Experience Platform usando a API Flow Service

Leia este guia para saber como você pode conectar sua conta de origem do Amazon S3 à Adobe Experience Platform usando a Flow Service API.

Introdução

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

  • Fontes: o Experience Platform permite que os dados sejam assimilados de várias fontes, fornecendo a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços do Platform.
  • Sandboxes: o Experience Platform fornece sandboxes virtuais que particionam uma única instância do Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.

Uso de APIs da plataforma

Para obter informações sobre como fazer chamadas para APIs da Platform com êxito, consulte o manual sobre introdução às APIs da Platform.

Conectar Amazon S3 ao Experience Platform no Azure azure

Leia as etapas abaixo para obter informações sobre como conectar sua origem Amazon S3 ao Experience Platform no Azure.

Coletar credenciais necessárias

Para que Flow Service se conecte ao armazenamento Amazon S3, você deve fornecer valores para as seguintes propriedades de conexão:

Credencial
Descrição
s3AccessKey
A ID da chave de acesso do seu bucket Amazon S3.
s3SecretKey
A ID da chave secreta para o bucket Amazon S3.
serviceUrl
(Opcional) O ponto de extremidade Amazon S3 personalizado ao qual se conectar. Este campo é necessário quando a classificação Amazon S3 é específica da região. O formato de serviceUrl é: https://s3.{REGION}.amazonaws.com/).
bucketName
O bucket Amazon S3 contém seus dados e seus metadados descritivos correspondentes. O nome do bucket do Amazon S3 deve ter entre três e 63 caracteres e deve começar e terminar com uma letra ou um número. O nome do bucket só pode ter letras minúsculas, números ou hifens (-) e não pode ser formatado como um endereço IP.
folderPath
O caminho para a pasta no seu bucket Amazon S3 onde seus dados estão armazenados. Essa credencial é necessária quando o usuário tem acesso restrito.
s3SessionToken
(Opcional) Um token temporário de curto prazo que permite fornecer acesso temporário aos recursos do Amazon S3 para usuários em ambientes não confiáveis. Consulte a Amazon S3 visão geral para obter mais informações.
connectionSpec.id
A especificação de conexão retorna as propriedades do conector de uma origem, incluindo especificações de autenticação relacionadas à criação das conexões de base e de origem. A ID da especificação de conexão para Amazon S3 é: ecadc60c-7455-4d87-84dc-2a0e293d997b.

Para obter mais informações de introdução, visite este Amazon Web Services documento.

Criar uma conexão base para Amazon S3 no Experience Platform no Azure

Uma conexão base retém informações entre sua origem e a Platform, incluindo as credenciais de autenticação da origem, o estado atual da conexão e sua ID de conexão base exclusiva. A ID de conexão básica permite explorar e navegar pelos arquivos de dentro da origem e identificar os itens específicos que deseja assimilar, incluindo informações sobre os tipos de dados e formatos.

Para criar uma ID de conexão base, faça uma solicitação POST para o ponto de extremidade /connections enquanto fornece suas credenciais de autenticação S3 como parte dos parâmetros de solicitação.

Formato da API

POST /connections

Solicitação

A solicitação a seguir cria uma conexão base para Amazon S3:

Selecione para exibir o exemplo de 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": "Amazon S3 base connection",
        "description": "Amazon S3 base connection with temporary session token",
        "auth": {
            "specName": "Access Key",
            "params": {
                "s3AccessKey": "{S3_ACCESS_KEY}",
                "s3SecretKey": "{S3_SECRET_KEY}",
                "s3SessionToken": "{S3_SESSION_TOKEN}
            }
        },
        "connectionSpec": {
            "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
            "version": "1.0"
        }
    }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Propriedade Descrição
auth.params.s3AccessKey A chave de acesso associada ao seu bucket S3.
auth.params.s3SecretKey Sua chave secreta associada ao seu bucket S3.
auth.params.s3SessionToken (Opcional) O token S3 temporário de curto prazo usado para acessar seu bucket.
connectionSpec.id A ID da especificação de conexão S3: ecadc60c-7455-4d87-84dc-2a0e293d997b

Resposta

Uma resposta bem-sucedida retorna detalhes da conexão recém-criada, incluindo seu identificador exclusivo (id). Essa ID é necessária para explorar seu armazenamento no próximo tutorial.

Selecione para exibir o exemplo de resposta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Atualizar o token de sessão S3

O s3SessionToken é temporário e deve ser atualizado quando expirar. Você pode atualizar o token de sessão associado à sua conexão básica fazendo uma solicitação PATCH para a API Flow Service. Consulte a S3 visão geral para obter mais informações sobre credenciais de segurança temporárias para S3.

IMPORTANT
O cabeçalho If-Match é necessário ao fazer uma solicitação PATCH. O valor desse cabeçalho é a tag exclusiva da conexão que você deseja atualizar.

Formato da API

PATCH /connections

Solicitação

A solicitação a seguir cria uma conexão base para Amazon S3:

Selecione para exibir o exemplo de solicitação
code language-shell
curl -X PATCH \
    'https://platform.adobe.io/data/foundation/flowservice/connections/4cb0c374-d3bb-4557-b139-5712880adc55' \
    -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}' \
    -H 'If-Match: "1700d77b-0000-0200-0000-5e3b41a10000"'
    -d '[
        {
            "op": "replace",
            "path": "/auth/params/s3SessionToken",
            "value": "{SESSION_TOKEN}"
        }
    ]'
table 0-row-2 1-row-2 2-row-2 3-row-2
Parâmetro Descrição
op A chamada de operação usada para definir a ação necessária para atualizar a conexão. As operações incluem: add, replace e remove.
path O caminho do parâmetro a ser atualizado.
value O novo valor com o qual você deseja atualizar seu parâmetro.

Resposta

Uma resposta bem-sucedida retorna a ID de conexão básica e uma tag atualizada. Você pode verificar a atualização fazendo uma solicitação GET para a API Flow Service e, ao mesmo tempo, fornecendo a ID da conexão.

Selecione para exibir o exemplo de resposta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}

Conectar Amazon S3 ao Experience Platform no Amazon Web Services (AWS) aws

AVAILABILITY
Esta seção se aplica às implementações do Experience Platform executadas no Amazon Web Services (AWS). O Experience Platform em execução no AWS está atualmente disponível para um número limitado de clientes. Para saber mais sobre a infraestrutura de Experience Platform compatível, consulte a visão geral de várias nuvens do Experience Platform.

Leia as etapas abaixo para obter informações sobre como conectar sua origem do Amazon S3 ao Experience Platform no AWS.

Pré-requisitos

Para conectar sua conta do Amazon S3 ao Experience Platform no AWS, você deve ter o seguinte:

  • Uma conta da AWS com acesso ao bucket ou pasta Amazon S3 que você deseja conectar.
  • As permissões IAM necessárias que permitem s3:GetObject e s3:ListBucket ações.

Recupere a função IAM para suas permissões de bucket

Formato da API

GET /connectionSpecs/{CONNECTION_SPEC_ID}/configs?authType={AUTH_TYPE}

Solicitação

Selecione para exibir o exemplo de solicitação
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/ecadc60c-7455-4d87-84dc-2a0e293d997b/configs?authType=IamBasedAuthentication' \
  -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}' \

Resposta

Uma resposta bem-sucedida retorna a Função IAM. Esse valor é necessário na próxima etapa para configurar permissões no bucket do Amazon S3.

Selecione para exibir o exemplo de resposta
code language-json
{
    "configParams": {
          "IAMRole": "{IAM_ROLE}"
    }
}

Configurar permissões no seu bucket Amazon S3

  1. Faça logon em sua conta no Console de Gerenciamento do AWS.
  2. Navegue até o bucket Amazon S3 e selecione Permissions.
  3. Edite a política de bucket e adicione as seguintes permissões:
TIP
IAM_ROLE_TO_ALLOW_LIST é a função do IAM buscada por meio da API na etapa anterior. Você deve substituir {YOUR_BUCKET_NAME} pelo nome real do seu bucket Amazon S3. Se quiser conceder acesso a uma pasta específica, você também deve substituir {YOUR_FOLDER_NAME} pelo nome real da pasta à qual deseja conceder acesso.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AEP Get Object Related Policy Prod",
            "Effect": "Allow",
            "Principal": {
                "AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
            },
            "Action": "s3:Get*",
            "Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}/{YOUR_FOLDER_NAME}"
        },
        {
            "Sid": "AEP List Bucket Prod",
            "Effect": "Allow",
            "Principal": {
                "AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}"
        }
    ]
}

Criar uma conexão base para Amazon S3 no Experience Platform no AWS

Formato da API

POST /connections

Solicitação

A solicitação a seguir cria uma conexão base para Amazon S3:

Selecione para exibir o exemplo
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": "Amazon S3 base connection for Experience Platform on AWS",
      "description": "Amazon S3 base connection for Experience Platform on AWS",
      "auth": {
          "specName": "IAMRole Based",
          "params": {
              "bucketName": "{YOUR_BUCKET_NAME}"
          }
      },
      "connectionSpec": {
          "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2
Propriedade Descrição
auth.params.bucketName O nome do seu bucket Amazon S3. Esse é o mesmo valor que foi adicionado às permissões na etapa anterior.

Resposta

Uma resposta bem-sucedida retorna detalhes da conexão recém-criada, incluindo seu identificador exclusivo (id). Essa ID é necessária para explorar seu armazenamento no próximo tutorial.

Selecione para exibir o exemplo
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Próximas etapas

Seguindo 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 esta ID de conexão para explorar armazenamentos em nuvem usando a API de Serviço de Fluxo.

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