Show Menu
ARGOMENTI×

Creare un connettore Amazon S3 utilizzando l'API del servizio di flusso

Flow Service è utilizzato per raccogliere e centralizzare i dati dei clienti da varie origini diverse all'interno di Adobe Experience Platform. Il servizio fornisce un'interfaccia utente e RESTful API da cui sono collegate tutte le origini supportate.
Questa esercitazione utilizza l’API del servizio di flusso per seguire i passaggi necessari per collegare Experience Platform a un archivio Amazon S3 (di seguito "S3").
Se si preferisce utilizzare l'interfaccia utente in Experience Platform, l'esercitazione dell'interfaccia utente del connettore di origine Azure Blob o Amazon S3 fornisce istruzioni dettagliate per eseguire azioni simili.

Introduzione

Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:
  • Origini : Experience Platform consente di acquisire dati da varie fonti, fornendo al contempo la possibilità di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi della piattaforma.
  • Sandbox : Experience Platform fornisce sandbox virtuali che dividono una singola istanza della piattaforma in ambienti virtuali separati per sviluppare e sviluppare applicazioni per esperienze digitali.
Le sezioni seguenti forniscono informazioni aggiuntive che sarà necessario conoscere per collegarsi correttamente a un archivio S3 tramite l'API del servizio di flusso.

Raccogli credenziali richieste

Affinché il servizio di flusso possa connettersi con l'archivio S3, è necessario fornire i valori per le seguenti proprietà di connessione:
Credenziali
Descrizione
s3AccessKey
ID chiave di accesso per l'archiviazione S3.
s3SecretKey
ID chiave segreta per l'archiviazione S3.
Per ulteriori informazioni su come iniziare, consulta questo documento AWS.

Lettura di chiamate API di esempio

Questa esercitazione fornisce esempi di chiamate API per dimostrare come formattare le richieste. Questi includono percorsi, intestazioni richieste e payload di richieste formattati correttamente. Viene inoltre fornito un JSON di esempio restituito nelle risposte API. Per informazioni sulle convenzioni utilizzate nella documentazione per le chiamate API di esempio, consulta la sezione come leggere le chiamate API di esempio nella guida alla risoluzione dei problemi della piattaforma Experience.

Raccogli valori per le intestazioni richieste

Per effettuare chiamate alle API della piattaforma, dovete prima completare l'esercitazione di autenticazione. Completando l'esercitazione sull'autenticazione, vengono forniti i valori per ciascuna delle intestazioni richieste in tutte le chiamate API di Experience Platform, come illustrato di seguito:
  • Autorizzazione: Portatore {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Tutte le risorse in Experience Platform, incluse quelle appartenenti al servizio di flusso, sono isolate in sandbox virtuali specifiche. Tutte le richieste alle API della piattaforma richiedono un'intestazione che specifica il nome della sandbox in cui avrà luogo l'operazione:
  • x-sandbox-name: {SANDBOX_NAME}
Tutte le richieste che contengono un payload (POST, PUT, PATCH) richiedono un'intestazione aggiuntiva per il tipo di supporto:
  • Content-Type: application/json

Cercare le specifiche di connessione

Prima di collegare la piattaforma a un archivio S3, è necessario verificare che siano presenti specifiche di connessione per S3. Se le specifiche di connessione non esistono, non è possibile stabilire una connessione.
Ogni origine disponibile dispone di un proprio set di specifiche di connessione per descrivere le proprietà del connettore, ad esempio i requisiti di autenticazione. È possibile ricercare le specifiche di connessione per S3 eseguendo una richiesta GET e utilizzando i parametri di query.
Formato API
L'invio di una richiesta GET senza parametri di query restituirà le specifiche di connessione per tutte le origini disponibili. È possibile includere la query property=name=="amazon-s3" per ottenere informazioni specifiche per S3.
GET /connectionSpecs
GET /connectionSpecs?property=name=="amazon-s3"

Richiesta
La richiesta seguente recupera le specifiche di connessione per 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}'

Risposta
Una risposta corretta restituisce le specifiche di connessione per S3, incluso il relativo identificatore univoco ( id ). Questo ID è richiesto nel passaggio successivo per creare una connessione di base.
{
    "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"
                        ]
                    }
                }
            ]
        }
    ]
}

Creazione di una connessione di base

Una connessione di base specifica un'origine e contiene le credenziali per tale origine. È necessaria una sola connessione di base per account S3, in quanto può essere utilizzata per creare più connettori sorgente per inserire dati diversi.
Formato API
POST /connections

Richiesta
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"
        }
    }'

Proprietà
Descrizione
auth.params.s3AccessKey
Chiave di accesso associata allo storage S3.
auth.params.s3SecretKey
Chiave segreta associata allo storage S3.
connectionSpec.id
Specifica di connessione id dell'archivio S3 recuperato nel passaggio precedente.
Risposta
Una risposta corretta restituisce i dettagli della connessione di base appena creata, incluso il relativo identificatore univoco ( id ). Questo ID è necessario per esplorare l'archiviazione nell'esercitazione successiva.
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Passaggi successivi

Seguendo questa esercitazione, avete creato una connessione S3 utilizzando le API e un ID univoco è stato ottenuto come parte del corpo della risposta. Potete utilizzare questo ID connessione per esplorare gli storage cloud utilizzando l'API del servizio di flusso o per assimilare i dati del parquet tramite l'API del servizio di flusso.