Connetti Amazon S3 ad Experience Platform utilizzando l'API Flow Service

Leggi questa guida per scoprire come collegare l'account di origine S3 Amazon a Adobe Experience Platform utilizzando Flow Service API.

Introduzione

Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:

  • Origini: Experience Platform consente di acquisire dati da varie origini e allo stesso tempo di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi Platform.
  • Sandbox: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.

Utilizzo delle API di Platform

Per informazioni su come effettuare correttamente chiamate alle API di Platform, consulta la guida in guida introduttiva alle API di Platform.

Connetti Amazon S3 ad Experience Platform in Azure azure

Per informazioni su come collegare l'origine Amazon S3 all'Experience Platform in Azure, leggere la procedura seguente.

Raccogli le credenziali richieste

Affinché Flow Service possa connettersi all'archivio Amazon S3, è necessario fornire i valori per le proprietà di connessione seguenti:

Credenziali
Descrizione
s3AccessKey
ID della chiave di accesso per il bucket Amazon S3.
s3SecretKey
ID della chiave segreta per il bucket Amazon S3.
serviceUrl
(Facoltativo) L'endpoint Amazon S3 personalizzato a cui connettersi. Questo campo è obbligatorio quando il bucket Amazon S3 è specifico per l'area geografica. Il formato per serviceUrl è: https://s3.{REGION}.amazonaws.com/).
bucketName
Il bucket Amazon S3 contiene i dati e i metadati descrittivi corrispondenti. Il nome del bucket Amazon S3 deve contenere tra tre e 63 caratteri e deve iniziare e terminare con una lettera o un numero. Il nome del bucket può contenere solo lettere minuscole, numeri o trattini (-) e non può essere formattato come indirizzo IP.
folderPath
Percorso della cartella nel bucket Amazon S3 in cui sono memorizzati i dati. Questa credenziale è necessaria quando l'utente dispone di un accesso limitato.
s3SessionToken
(Facoltativo) Un token temporaneo a breve termine che consente di fornire accesso temporaneo alle risorse Amazon S3 agli utenti in ambienti non attendibili. Per ulteriori informazioni, vedere Amazon S3 panoramica.
connectionSpec.id
La specifica di connessione restituisce le proprietà del connettore di un'origine, incluse le specifiche di autenticazione relative alla creazione delle connessioni di base e di origine. ID della specifica di connessione per Amazon S3: ecadc60c-7455-4d87-84dc-2a0e293d997b.

Per ulteriori informazioni, visita questo Amazon Web Services documento.

Crea una connessione di base per Amazon S3 su Experience Platform in Azure

Una connessione di base mantiene le informazioni tra l’origine e Platform, incluse le credenziali di autenticazione dell’origine, lo stato corrente della connessione e l’ID univoco della connessione di base. L’ID della connessione di base consente di esplorare e navigare tra i file dall’interno dell’origine e identificare gli elementi specifici che desideri acquisire, comprese le informazioni relative ai tipi di dati e ai formati.

Per creare un ID di connessione di base, effettuare una richiesta POST all'endpoint /connections fornendo le credenziali di autenticazione S3 come parte dei parametri della richiesta.

Formato API

POST /connections

Richiesta

La richiesta seguente crea una connessione di base per Amazon S3:

Seleziona per visualizzare l’esempio di richiesta
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
Proprietà Descrizione
auth.params.s3AccessKey Chiave di accesso associata al bucket S3.
auth.params.s3SecretKey La chiave segreta associata al bucket S3.
auth.params.s3SessionToken (Facoltativo) Il token S3 temporaneo a breve termine utilizzato per accedere al bucket.
connectionSpec.id ID della specifica di connessione S3: ecadc60c-7455-4d87-84dc-2a0e293d997b

Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id). Questo ID è necessario per esplorare lo spazio di archiviazione nella prossima esercitazione.

Seleziona per visualizzare l’esempio di risposta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Aggiorna il token di sessione S3

s3SessionToken è temporaneo e deve essere aggiornato alla scadenza. È possibile aggiornare il token di sessione associato alla connessione di base effettuando una richiesta PATCH all'API Flow Service. Per ulteriori informazioni sulle credenziali di sicurezza temporanee per S3, vedere la S3 panoramica.

IMPORTANT
L'intestazione If-Match è obbligatoria quando si effettua una richiesta PATCH. Il valore di questa intestazione è il tag univoco della connessione che desideri aggiornare.

Formato API

PATCH /connections

Richiesta

La richiesta seguente crea una connessione di base per Amazon S3:

Seleziona per visualizzare l’esempio di richiesta
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
Parametro Descrizione
op Chiamata di operazione utilizzata per definire l'azione necessaria per aggiornare la connessione. Le operazioni includono: add, replace e remove.
path Percorso del parametro da aggiornare.
value Il nuovo valore con cui desideri aggiornare il parametro.

Risposta

In caso di esito positivo, la risposta restituisce l’ID della connessione di base e un tag aggiornato. È possibile verificare l'aggiornamento effettuando una richiesta di GET all'API Flow Service e fornendo l'ID di connessione.

Seleziona per visualizzare l’esempio di risposta
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}

Connetti Amazon S3 ad Experience Platform su Amazon Web Services (AWS) aws

AVAILABILITY
Questa sezione si applica alle implementazioni di Experience Platform in esecuzione su Amazon Web Services (AWS). Un Experience Platform in esecuzione su AWS è attualmente disponibile per un numero limitato di clienti. Per ulteriori informazioni sull'infrastruttura Experience Platform supportata, consulta l'panoramica sul cloud multiplo di Experience Platform.

Per informazioni su come collegare l'origine Amazon S3 all'Experience Platform su AWS, leggere la procedura seguente.

Prerequisiti

Per connettere l'account Amazon S3 a Experience Platform su AWS, è necessario disporre dei seguenti elementi:

  • Un account AWS con accesso al bucket o alla cartella Amazon S3 che si desidera connettere.
  • Le autorizzazioni IAM necessarie che consentono s3:GetObject e s3:ListBucket azioni.

Recuperare il ruolo IAM per le autorizzazioni bucket

Formato API

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

Richiesta

Seleziona per visualizzare l’esempio di richiesta
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}' \

Risposta

In caso di esito positivo, la risposta restituisce il tuo ruolo IAM. Questo valore è necessario nel passaggio successivo per impostare le autorizzazioni nel bucket Amazon S3.

Seleziona per visualizzare l’esempio di risposta
code language-json
{
    "configParams": {
          "IAMRole": "{IAM_ROLE}"
    }
}

Impostare le autorizzazioni nel bucket Amazon S3

  1. Accedi al tuo account in AWS Management Console.
  2. Passa al bucket Amazon S3 e seleziona Permissions.
  3. Modifica il criterio bucket e aggiungi le seguenti autorizzazioni:
TIP
IAM_ROLE_TO_ALLOW_LIST è il ruolo IAM recuperato tramite l'API nel passaggio precedente. Sostituire {YOUR_BUCKET_NAME} con il nome effettivo del bucket Amazon S3. Se si desidera concedere l'accesso a una cartella specifica, è necessario sostituire {YOUR_FOLDER_NAME} con il nome effettivo della cartella a cui si desidera concedere l'accesso.
{
    "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}"
        }
    ]
}

Crea una connessione di base per Amazon S3 su Experience Platform in AWS

Formato API

POST /connections

Richiesta

La richiesta seguente crea una connessione di base per Amazon S3:

Seleziona per visualizzare l’esempio
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
Proprietà Descrizione
auth.params.bucketName Nome del bucket Amazon S3. Si tratta dello stesso valore aggiunto alle autorizzazioni nel passaggio precedente.

Risposta

In caso di esito positivo, la risposta restituisce i dettagli della connessione appena creata, incluso il relativo identificatore univoco (id). Questo ID è necessario per esplorare lo spazio di archiviazione nella prossima esercitazione.

Seleziona per visualizzare l’esempio
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Passaggi successivi

Seguendo questa esercitazione, hai creato una connessione S3 utilizzando le API ed è stato ottenuto un ID univoco come parte del corpo della risposta. Puoi usare questo ID connessione per esplorare gli archivi cloud utilizzando l'API del servizio Flusso.

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