Show Menu
ARGOMENTI×

Creare un Amazon Redshift connettore utilizzando l' Flow Service API

Il Amazon Redshift connettore è in versione beta. Per ulteriori informazioni sull'utilizzo dei connettori con etichetta beta, consulta la panoramica Termini e condizioni Origini.
Flow Service viene utilizzato per raccogliere e centralizzare i dati dei clienti da varie origini 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' Flow Service API per guidarvi nei passaggi da seguire per la connessione Experience Platform a Amazon Redshift (in seguito denominata "Redshift").

Introduzione

Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:
  • Origini : Experience Platform consente l'acquisizione di dati da varie origini, fornendo al contempo la possibilità di strutturare, etichettare e migliorare i dati in arrivo tramite Platform i servizi.
  • Sandbox : Experience Platform fornisce sandbox virtuali che dividono una singola Platform istanza in ambienti virtuali separati per sviluppare e sviluppare applicazioni per esperienze digitali.
Le sezioni seguenti forniscono informazioni aggiuntive che dovrete conoscere per collegarvi correttamente Redshift utilizzando l' Flow Service API.

Raccogli credenziali richieste

Per Flow Service connettersi con Redshift, è necessario specificare le seguenti proprietà di connessione:
Credenziali
Descrizione
server
Server associato al tuo Redshift account.
username
Nome utente associato al tuo Redshift account.
password
La password associata al tuo Redshift account.
database
Il Redshift database a cui si accede.
Per ulteriori informazioni su come iniziare, consultare questo documento Redshift.

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, vedete la sezione come leggere chiamate API di esempio nella guida alla Experience Platform risoluzione dei problemi.

Raccogli valori per le intestazioni richieste

Per effettuare chiamate alle Platform API, è prima necessario completare l'esercitazione sull' autenticazione. Completando l'esercitazione sull'autenticazione, vengono forniti i valori per ciascuna delle intestazioni richieste in tutte le chiamate Experience Platform API, 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, comprese quelle appartenenti al gruppo Flow Service, sono isolate in sandbox virtuali specifiche. Tutte le richieste alle Platform API 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

Per creare una Redshift connessione, è necessario che all'interno di Redshift sia presente una serie di specifiche di Flow Serviceconnessione. Il primo passo per collegarsi Platform a Redshift è recuperare queste specifiche.
Formato API
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 Redshift eseguendo una richiesta di GET e utilizzando i parametri della query.
L'invio di una richiesta di GET senza parametri di query restituirà le specifiche di connessione per tutte le origini disponibili. È possibile includere la query property=name=="amazon-redshift" per ottenere informazioni specifiche per Redshift.
GET /connectionSpecs
GET /connectionSpecs?property=name=="amazon-redshift"

Richiesta
La richiesta seguente recupera le specifiche di connessione per Redshift.
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="amazon-redshift"' \
    -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 Redshift, incluso il relativo identificatore univoco ( id ). Questo ID è richiesto nel passaggio successivo per creare una connessione di base.
{
    "items": [
        {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "name": "amazon-redshift",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "type": "Basic_Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "server": {
                                "type": "string",
                                "description": "IP address or host name of the Amazon Redshift server"
                            },
                            "username": {
                                "type": "string",
                                "description": "Name of user who has access to the database"
                            },
                            "password": {
                                "type": "string",
                                "description": "Password for the user account",
                                "format": "password"
                            },
                            "database": {
                                "type": "string",
                                "description": "Name of the Amazon Redshift database"
                            }
                        },
                        "required": [
                            "server",
                            "username",
                            "password",
                            "database"
                        ]
                    }
                }
            ]
        }
    ]
}

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 Redshift account, in quanto può essere utilizzata per creare più connettori sorgente per inserire dati diversi.
Formato API
POST /connections

Richiesta
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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "amazon-redshift base connection",
        "description": "base connection for amazon-redshift,
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "server": "{SERVER}",
                "database": "{DATABASE}",
                "password": "{PASSWORD}",
                "username": "{USERNAME}"
            }
        },
        "connectionSpec": {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "version": "1.0"
        }
    }'

Proprietà
Descrizione
auth.params.server
Il Redshift server.
auth.params.database
Il database associato al tuo Redshift account.
auth.params.password
La password associata al tuo Redshift account.
auth.params.username
Nome utente associato al tuo Redshift account.
connectionSpec.id
Specifica di connessione id dell’ Redshift account 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 i dati nell'esercitazione successiva.
{
    "id": "373e88fc-43da-4e3c-be88-fc43da3e3c0f",
    "etag": "\"1700ce7b-0000-0200-0000-5e3b405e0000\""
}

Passaggi successivi

Seguendo questa esercitazione, hai creato una connessione di Redshift base utilizzando l' Flow Service API e hai ottenuto il valore ID univoco della connessione. È possibile utilizzare questo ID connessione di base nell'esercitazione successiva per apprendere come esplorare i database o i sistemi NoSQL utilizzando l'API del servizio di flusso.