Conectar Amazon S3 al Experience Platform mediante la API Flow Service

Lea esta guía para saber cómo conectar su cuenta de origen de Amazon S3 a Adobe Experience Platform mediante la Flow Service API.

Introducción

Esta guía requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:

  • Fuentes: el Experience Platform permite la ingesta de datos desde varias fuentes, al tiempo que le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform.
  • Zonas protegidas: El Experience Platform proporciona zonas protegidas virtuales que dividen una sola instancia de Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.

Uso de API de Platform

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

Conectar Amazon S3 al Experience Platform en Azure azure

Lea los pasos siguientes para obtener información sobre cómo conectar su origen de Amazon S3 al Experience Platform en Azure.

Recopilar credenciales necesarias

Para que Flow Service se conecte con su almacenamiento de Amazon S3, debe proporcionar valores para las siguientes propiedades de conexión:

Credencial
Descripción
s3AccessKey
Identificador de clave de acceso para el bloque Amazon S3.
s3SecretKey
Identificador de clave secreta del bloque Amazon S3.
serviceUrl
(Opcional) Punto final Amazon S3 personalizado al que conectarse. Este campo es necesario cuando el bloque Amazon S3 es específico de la región. El formato de serviceUrl es: https://s3.{REGION}.amazonaws.com/).
bucketName
El bloque Amazon S3 contiene sus datos y sus metadatos descriptivos correspondientes. El nombre del bloque Amazon S3 debe tener entre tres y 63 caracteres, y debe comenzar y finalizar con una letra o un número. El nombre del contenedor solo puede tener letras minúsculas, números o guiones (-) y no puede tener el formato de dirección IP.
folderPath
Ruta de acceso a la carpeta del bloque Amazon S3 donde se almacenan los datos. Esta credencial es necesaria cuando el usuario tiene acceso restringido.
s3SessionToken
(Opcional) Un token temporal a corto plazo que le permite proporcionar acceso temporal a sus recursos de Amazon S3 a los usuarios de entornos que no son de confianza. Consulte la Amazon S3 descripción general para obtener más información.
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 base y origen. El id. de especificación de conexión para Amazon S3 es: ecadc60c-7455-4d87-84dc-2a0e293d997b.

Para obtener más información sobre cómo empezar, visite este Amazon Web Services documento.

Crear una conexión base para Amazon S3 en el Experience Platform de Azure

Una conexión base retiene información entre el origen y Platform, incluidas las credenciales de autenticación del origen, el estado actual de la conexión y el ID único de conexión base. El ID de conexión base le permite explorar y navegar por archivos desde el origen e identificar los elementos específicos que desea introducir, incluida la información sobre sus tipos de datos y formatos.

Para crear un identificador de conexión base, realice una solicitud de POST al extremo /connections y proporcione las credenciales de autenticación S3 como parte de los parámetros de solicitud.

Formato de API

POST /connections

Solicitud

La siguiente solicitud crea una conexión base para Amazon S3:

Seleccionar para ver ejemplo de 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": "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
Propiedad Descripción
auth.params.s3AccessKey La clave de acceso asociada con su bloque de S3.
auth.params.s3SecretKey Su clave secreta asociada a su espacio de S3.
auth.params.s3SessionToken (Opcional) El token temporal de S3 a corto plazo que se utilizó para acceder a su espacio de.
connectionSpec.id Id. de especificación de conexión S3: ecadc60c-7455-4d87-84dc-2a0e293d997b

Respuesta

Una respuesta correcta devuelve detalles de la conexión recién creada, incluido su identificador único (id). Este ID es necesario para explorar el almacenamiento en el siguiente tutorial.

Seleccione para ver el ejemplo de respuesta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Actualizar el token de sesión S3

s3SessionToken es temporal y debe actualizarse cuando caduque. Puede actualizar el token de sesión asociado a su conexión base realizando una solicitud de PATCH a la API Flow Service. Consulte la S3 descripción general para obtener más información sobre las credenciales de seguridad temporales de S3.

IMPORTANT
Se requiere el encabezado If-Match al realizar una solicitud de PATCH. El valor de este encabezado es la etiqueta única de la conexión que desea actualizar.

Formato de API

PATCH /connections

Solicitud

La siguiente solicitud crea una conexión base para Amazon S3:

Seleccionar para ver ejemplo de solicitud
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 Descripción
op La llamada de operación utilizada para definir la acción necesaria para actualizar la conexión. Las operaciones incluyen: add, replace y remove.
path Ruta del parámetro que se va a actualizar.
value El nuevo valor con el que desea actualizar el parámetro.

Respuesta

Una respuesta correcta devuelve el ID de conexión base y una etiqueta actualizada. Puede comprobar la actualización realizando una solicitud de GET a la API Flow Service, al tiempo que proporciona su ID de conexión.

Seleccione para ver el ejemplo de respuesta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}

Conectar Amazon S3 al Experience Platform en Amazon Web Service (AWS) aws

AVAILABILITY
Esta sección se aplica a las implementaciones de Experience Platform que se ejecutan en Amazon Web Service (AWS). Un Experience Platform que se ejecuta en AWS está disponible actualmente para un número limitado de clientes. Para obtener más información acerca de la infraestructura de Experience Platform compatible, consulte la descripción general de la nube múltiple de Experience Platform.

Lea los pasos siguientes para obtener información sobre cómo conectar su origen de Amazon S3 al Experience Platform en AWS.

Requisitos previos

Para conectar su cuenta de Amazon S3 al Experience Platform en AWS, debe tener lo siguiente:

  • Cuenta de AWS con acceso al bloque o la carpeta Amazon S3 a los que desea conectarse.
  • Los permisos de IAM necesarios que permiten s3:GetObject y s3:ListBucket acciones.

Recupere la función IAM para los permisos del bloque

Formato de API

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

Solicitud

Seleccionar para ver ejemplo de solicitud
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}' \

Respuesta

Una respuesta correcta devuelve su función IAM. Este valor es necesario en el siguiente paso para configurar permisos en el bloque Amazon S3.

Seleccione para ver el ejemplo de respuesta
code language-json
{
    "configParams": {
          "IAMRole": "{IAM_ROLE}"
    }
}

Configurar permisos en su bloque de Amazon S3

  1. Inicie sesión en su cuenta en AWS Management Console.
  2. Vaya a su bloque de Amazon S3 y, a continuación, seleccione Permissions.
  3. Edite la política de compartimento y añada los siguientes permisos:
TIP
IAM_ROLE_TO_ALLOW_LIST es el rol de IAM recuperado a través de la API en el paso anterior. Debe reemplazar {YOUR_BUCKET_NAME} con el nombre real de su bloque de Amazon S3. Si desea conceder acceso a una carpeta específica, también debe reemplazar {YOUR_FOLDER_NAME} con el nombre real de la carpeta a la que desea conceder acceso.
{
    "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}"
        }
    ]
}

Crear una conexión base para Amazon S3 en el Experience Platform en AWS

Formato de API

POST /connections

Solicitud

La siguiente solicitud crea una conexión base para Amazon S3:

Seleccione para ver el ejemplo
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
Propiedad Descripción
auth.params.bucketName Nombre de su cubo de Amazon S3. Es el mismo valor que se añadió a los permisos en el paso anterior.

Respuesta

Una respuesta correcta devuelve detalles de la conexión recién creada, incluido su identificador único (id). Este ID es necesario para explorar el almacenamiento en el siguiente tutorial.

Seleccione para ver el ejemplo
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Pasos siguientes

Al seguir este tutorial, ha creado una conexión S3 mediante API y se ha obtenido un ID único como parte del cuerpo de respuesta. Puede usar este identificador de conexión para explorar los almacenes en la nube mediante la API de Flow Service.

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