Show Menu
SUJETS×

Création d’un Amazon Redshift connecteur à l’aide de l’ Flow Service API

Le Amazon Redshift connecteur est en version bêta. Pour plus d’informations sur l’utilisation de connecteurs bêta, consultez l’aperçu des sources.
Flow Service est utilisée pour collecter et centraliser les données client provenant de diverses sources disparates au sein de l’Adobe Experience Platform. Le service fournit une interface utilisateur et une API RESTful à partir de laquelle toutes les sources prises en charge sont connectables.
Ce didacticiel utilise l’ Flow Service API pour vous guider à travers les étapes de connexion Experience Platform à Amazon Redshift (ci-après appelé "Redshift").

Prise en main

Ce guide exige une compréhension pratique des éléments suivants de l'Adobe Experience Platform :
  • Sources : Experience Platform permet l’assimilation de données à partir de diverses sources tout en vous permettant de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide de Platform services.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui partitionnent une Platform instance unique en environnements virtuels distincts pour aider à développer et développer des applications d'expérience numérique.
Les sections suivantes contiennent des informations supplémentaires dont vous aurez besoin pour vous connecter à Redshift l’aide de l’ Flow Service API.

Collecte des informations d’identification requises

Pour Flow Service se connecter à Redshift, vous devez fournir les propriétés de connexion suivantes :
Informations d’identification
Description
server
Serveur associé à votre Redshift compte.
username
Nom d’utilisateur associé à votre Redshift compte.
password
Mot de passe associé à votre Redshift compte.
database
La Redshift base de données à laquelle vous accédez.
Pour plus d'informations sur la prise en main, consultez ce document Redshift.

Lecture des exemples d’appels d’API

Ce didacticiel fournit des exemples d’appels d’API pour montrer comment formater vos requêtes. Il s’agit notamment des chemins d’accès, des en-têtes requis et des charges de requête correctement formatées. L’exemple JSON renvoyé dans les réponses de l’API est également fourni. Pour plus d’informations sur les conventions utilisées dans la documentation pour les exemples d’appels d’API, voir la section sur la façon de lire des exemples d’appels d’API dans le guide de Experience Platform dépannage.

Rassembler les valeurs des en-têtes requis

Pour lancer des appels aux Platform API, vous devez d'abord suivre le didacticiel d' authentification. Le didacticiel d’authentification fournit les valeurs de chacun des en-têtes requis dans tous les appels d’ Experience Platform API, comme indiqué ci-dessous :
  • Autorisation : Porteur {ACCESS_TOKEN}
  • x-api-key : {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Toutes les ressources de Experience Platform, y compris celles appartenant à la Flow Service, sont isolées dans des sandbox virtuels spécifiques. Toutes les requêtes aux Platform API nécessitent un en-tête spécifiant le nom du sandbox dans lequel l'opération aura lieu :
  • x-sandbox-name : {SANDBOX_NAME}
Toutes les requêtes qui contiennent une charge utile (POST, PUT, PATCH) nécessitent un en-tête de type de support supplémentaire :
  • Content-Type : application/json

Rechercher les spécifications de connexion

Pour créer une Redshift connexion, un ensemble de spécifications de Redshift connexion doit exister dans Flow Service. La première étape pour se connecter Platform à Redshift est de récupérer ces spécifications.
Format d’API
Chaque source disponible possède son propre ensemble de spécifications de connexion unique pour décrire les propriétés du connecteur, telles que les exigences d'authentification. Vous pouvez rechercher les spécifications de connexion en Redshift exécutant une requête GET et en utilisant des paramètres de requête.
L'envoi d'une demande GET sans paramètres de requête retournera les spécifications de connexion pour toutes les sources disponibles. Vous pouvez inclure la requête property=name=="amazon-redshift" pour obtenir des informations spécifiques pour Redshift.
GET /connectionSpecs
GET /connectionSpecs?property=name=="amazon-redshift"

Requête
La requête suivante récupère les spécifications de connexion pour 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}'

Réponse
Une réponse réussie renvoie les spécifications de connexion pour Redshift, y compris son identifiant unique ( id ). Cet identifiant est requis à l’étape suivante pour créer une connexion de 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"
                        ]
                    }
                }
            ]
        }
    ]
}

Créer une connexion de base

Une connexion de base spécifie une source et contient vos informations d’identification pour cette source. Une seule connexion de base est requise par Redshift compte, car elle peut être utilisée pour créer plusieurs connecteurs source afin d’importer des données différentes.
Format d’API
POST /connections

Requête
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"
        }
    }'

Propriété
Description
auth.params.server
Votre Redshift serveur.
auth.params.database
Base de données associée à votre Redshift compte.
auth.params.password
Mot de passe associé à votre Redshift compte.
auth.params.username
Nom d’utilisateur associé à votre Redshift compte.
connectionSpec.id
Spécification id de connexion de votre Redshift compte récupérée à l’étape précédente.
Réponse
Une réponse réussie renvoie les détails de la connexion de base nouvellement créée, y compris son identifiant unique ( id ). Cet identifiant est nécessaire pour explorer vos données dans le didacticiel suivant.
{
    "id": "373e88fc-43da-4e3c-be88-fc43da3e3c0f",
    "etag": "\"1700ce7b-0000-0200-0000-5e3b405e0000\""
}

Étapes suivantes

En suivant ce didacticiel, vous avez créé une connexion Redshift de base à l’aide de l’ Flow Service API et obtenu la valeur d’ID unique de la connexion. Vous pouvez utiliser cet ID de connexion de base dans le didacticiel suivant lorsque vous apprendrez à explorer des bases de données ou des systèmes NoSQL à l’aide de l’API Flow Service.