Connexion de Amazon S3 à Experience Platform à l’aide de l’API Flow Service

Lisez ce guide pour savoir comment connecter votre compte source Amazon S3 à Adobe Experience Platform à l’aide de l’API Flow Service API.

Prise en main

Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :

  • Sources : Experience Platform permet d’ingérer des données provenant de diverses sources tout en vous offrant la possibilité de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services Platform.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une instance de Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience digitale.

Utiliser les API Platform

Pour plus d’informations sur la manière d’effectuer des appels vers les API Platform, consultez le guide Prise en main des API Platform.

Connecter Amazon S3 à l’Experience Platform sur Azure azure

Pour plus d’informations sur la connexion de votre source Amazon S3 à Experience Platform sur Azure, lisez les étapes ci-dessous.

Collecter les informations d’identification requises

Pour que Flow Service puissiez vous connecter à votre stockage Amazon S3, vous devez fournir des valeurs pour les propriétés de connexion suivantes :

Informations d’identification
Description
s3AccessKey
Identifiant de clé d’accès pour votre compartiment Amazon S3.
s3SecretKey
Identifiant de clé secrète pour votre compartiment Amazon S3.
serviceUrl
(Facultatif) Point d’entrée de Amazon S3 personnalisé auquel se connecter. Ce champ est obligatoire lorsque votre intervalle de Amazon S3 est spécifique à une région. Le format de serviceUrl est : https://s3.{REGION}.amazonaws.com/).
bucketName
Le compartiment Amazon S3 contient vos données et leurs métadonnées descriptives correspondantes. Le nom de votre compartiment Amazon S3 doit comporter entre 3 et 63 caractères et doit commencer et se terminer par une lettre ou un chiffre. Le nom du compartiment ne peut contenir que des lettres minuscules, des chiffres ou des tirets (-) et ne peut pas être formaté comme une adresse IP.
folderPath
Chemin d’accès au dossier dans votre compartiment Amazon S3 où vos données sont stockées. Ces informations d’identification sont requises lorsque l’utilisateur dispose d’un accès restreint.
s3SessionToken
(Facultatif) Jeton temporaire à court terme permettant de fournir un accès temporaire à vos ressources Amazon S3 à des utilisateurs dans des environnements non approuvés. Pour plus d’informations, consultez la Amazon S3 présentation.
connectionSpec.id
La spécification de connexion renvoie les propriétés du connecteur d’une source, y compris les spécifications d’authentification liées à la création des connexions de base et source. L’identifiant de spécification de connexion pour Amazon S3 est ecadc60c-7455-4d87-84dc-2a0e293d997b.

Pour plus d’informations sur la prise en main, consultez ce Amazon Web Services document.

Créer une connexion de base pour Amazon S3 sur Experience Platform sur Azure

Une connexion de base conserve les informations échangées entre votre source et Platform, y compris les informations d’authentification de votre source, l’état actuel de la connexion et votre identifiant de connexion de base unique. L’identifiant de connexion de base vous permet d’explorer et de parcourir des fichiers à partir de votre source et d’identifier les éléments spécifiques que vous souhaitez ingérer, y compris des informations concernant leurs types et formats de données.

Pour créer un identifiant de connexion de base, envoyez une requête POST au point d’entrée /connections et indiquez vos informations d’authentification S3 dans les paramètres de la requête.

Format d’API

POST /connections

Requête

La requête suivante permet de créer une connexion de base pour Amazon S3 :

Sélectionner pour afficher l’exemple de requête
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
Propriété Description
auth.params.s3AccessKey Clé d’accès associée à votre compartiment S3.
auth.params.s3SecretKey Votre clé secrète associée à votre compartiment S3.
auth.params.s3SessionToken (Facultatif) Jeton d’S3 temporaire à court terme utilisé pour accéder à votre compartiment.
connectionSpec.id Identifiant de spécification de connexion S3 : ecadc60c-7455-4d87-84dc-2a0e293d997b.

Réponse

Une réponse réussie renvoie les détails de la connexion nouvellement créée, y compris son identifiant unique (id). Cet identifiant est nécessaire pour explorer votre stockage dans le tutoriel suivant.

Sélectionner pour afficher l’exemple de réponse
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Mettre à jour votre jeton de session S3

Le s3SessionToken est temporaire et doit être mis à jour lorsqu’il expire. Vous pouvez mettre à jour le jeton de session associé à votre connexion de base en adressant une requête de PATCH à l’API Flow Service. Consultez la S3 présentation pour plus d’informations sur les informations d’identification de sécurité temporaires pour S3.

IMPORTANT
L’en-tête If-Match est requis lors de l’exécution d’une requête PATCH. La valeur de cet en-tête est l’etag unique de la connexion que vous souhaitez mettre à jour.

Format d’API

PATCH /connections

Requête

La requête suivante permet de créer une connexion de base pour Amazon S3 :

Sélectionner pour afficher l’exemple de requête
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
Paramètre Description
op Appel d’opération utilisé pour définir l’action nécessaire pour mettre à jour la connexion. Les opérations comprennent : add, replace et remove.
path Chemin d’accès du paramètre à mettre à jour.
value Nouvelle valeur avec laquelle vous souhaitez mettre à jour votre paramètre.

Réponse

Une réponse réussie renvoie votre identifiant de connexion de base et une balise dʼentité mise à jour. Vous pouvez vérifier la mise à jour en adressant une requête GET à l’API Flow Service et en fournissant votre identifiant de connexion.

Sélectionner pour afficher l’exemple de réponse
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}

Connexion de Amazon S3 à Experience Platform sur Amazon Web Services (AWS) aws

AVAILABILITY
Cette section s’applique aux implémentations d’Experience Platform s’exécutant sur Amazon Web Services (AWS). Un Experience Platform s’exécutant sur AWS est actuellement disponible pour un nombre limité de clients. Pour en savoir plus sur l’infrastructure Experience Platform prise en charge, consultez la présentation multi-cloud de Experience Platform.

Pour plus d’informations sur la connexion de votre source Amazon S3 à Experience Platform sur AWS, lisez les étapes ci-dessous.

Conditions préalables

Pour connecter votre compte Amazon S3 à Experience Platform sur AWS, vous devez disposer des éléments suivants :

  • Un compte AWS avec un accès au compartiment ou au dossier Amazon S3 que vous souhaitez connecter.
  • Les autorisations IAM nécessaires qui autorisent les actions s3:GetObject et s3:ListBucket.

Récupérer le rôle IAM pour les autorisations de compartiment

Format d’API

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

Requête

Sélectionner pour afficher l’exemple de requête
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}' \

Réponse

Une réponse réussie renvoie votre rôle IAM. Cette valeur est requise à l’étape suivante pour configurer les autorisations dans votre compartiment Amazon S3.

Sélectionner pour afficher l’exemple de réponse
code language-json
{
    "configParams": {
          "IAMRole": "{IAM_ROLE}"
    }
}

Configurer des autorisations dans votre compartiment Amazon S3

  1. Connectez-vous à votre compte dans AWS Management Console.
  2. Accédez à l’intervalle de Amazon S3, puis sélectionnez Permissions.
  3. Modifiez la politique du compartiment et ajoutez les autorisations suivantes :
TIP
IAM_ROLE_TO_ALLOW_LIST est le rôle IAM récupéré via l’API à l’étape précédente. Vous devez remplacer {YOUR_BUCKET_NAME} par le nom réel de votre compartiment Amazon S3. Si vous souhaitez donner accès à un dossier spécifique, vous devez également remplacer {YOUR_FOLDER_NAME} par le nom réel du dossier auquel vous souhaitez donner accès.
{
    "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}"
        }
    ]
}

Créer une connexion de base pour Amazon S3 sur Experience Platform dans AWS

Format d’API

POST /connections

Requête

La requête suivante permet de créer une connexion de base pour Amazon S3 :

Sélectionner pour afficher l’exemple
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
Propriété Description
auth.params.bucketName Nom de votre compartiment Amazon S3. Il s’agit de la même valeur que celle ajoutée aux autorisations à l’étape précédente.

Réponse

Une réponse réussie renvoie les détails de la connexion nouvellement créée, y compris son identifiant unique (id). Cet identifiant est nécessaire pour explorer votre stockage dans le tutoriel suivant.

Sélectionner pour afficher l’exemple
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Étapes suivantes

En suivant ce tutoriel, vous avez créé une connexion S3 à l’aide d’API et obtenu un identifiant unique dans le cadre du corps de la réponse. Vous pouvez utiliser cet identifiant de connexion pour explorer les espaces de stockage dans le cloud à l’aide de l’API Flow Service.

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