Show Menu
ARGOMENTI×

Creare un connettore MySQL 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 connettere Experience Platform a MySQL.

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 MySQL tramite l'API del servizio di flusso.

Raccogli credenziali richieste

Affinché il servizio di flusso possa connettersi all'archivio MySQL, è necessario fornire il valore per la seguente proprietà di connessione:
Credenziali
Descrizione
connectionString
Stringa di connessione MySQL associata all'account.
Per ulteriori informazioni sulle stringhe di connessione e su come ottenerle, leggere il documento connector-net-connections-string.html MySQL.

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

Per creare una connessione MySQL, è necessario che nel servizio di flusso esista un set di specifiche di connessione MySQL. Il primo passaggio per la connessione di Platform a MySQL consiste nel 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. L'invio di una richiesta GET all' /connectionSpecs endpoint restituirà le specifiche di connessione per tutte le origini disponibili. È inoltre possibile includere la query property=name=="mysql" per ottenere informazioni specifiche per MySQL.
GET /connectionSpecs
GET /connectionSpecs?property=name=="mysql"

Richiesta
La richiesta seguente recupera la specifica di connessione per MySQL.
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="mysql"' \
    -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 MySQL, incluso il relativo identificatore univoco ( id ). Questo ID è richiesto nel passaggio successivo per la creazione di una connessione di base.
{
    "items": [
        {
            "id": "26d738e0-8963-47ea-aadf-c60de735468a",
            "name": "mysql",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Connection String Based Authentication",
                    "type": "connectionStringAuth",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params required for connecting to MySql",
                        "properties": {
                            "connectionString": {
                                "type": "string",
                                "description": "connection string to connect to any MySql instance.",
                                "format": "password",
                                "pattern": "^([sS]erver=)(.*)( ?;[pP]ort=)(.*)(; ?[dD]atabase=)(.*)(; ?[uU]id=)(.*)(; ?[pP]wd=)(.*)(;)",
                                "examples": [
                                    "Server=myserver.mysql.database.azure.com; Port=3306; Database=my_sql_db; Uid=username; Pwd=password; SslMode=Preferred;"
                                ]
                            }
                        },
                        "required": [
                            "connectionString"
                        ]
                    }
                }
            ]
        }
    ]
}

Creazione di una connessione di base

Una connessione di base specifica un'origine e contiene le credenziali per tale origine. Per l'account MySQL è necessaria una sola connessione di base, 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": "MySQL Test Connection",
        "description": "MySQL Test Connection",
        "auth": {
            "specName": "Connection String Based Authentication",
            "params": {
                "connectionString": "{CONNECTION_STRING}"
            }
        },
        "connectionSpec": {
            "id": "26d738e0-8963-47ea-aadf-c60de735468a",
            "version": "1.0"
        }
    }'

Proprietà
Descrizione
auth.params.connectionString
Stringa di connessione associata all'account MySQL.
connectionSpec.id
L'ID della specifica di connessione associata al tuo account MySQL.
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": "1a444165-3439-4c16-8441-653439dc166a",
    "etag": "\"5b04c219-0000-0200-0000-5e179c8f0000\""
}

Passaggi successivi

Seguendo questa esercitazione, è stata creata una connessione di base MySQL tramite l'API del servizio di flusso e si è 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.