Création d’une connexion source SFTP à l’aide de l’API Flow Service

Ce didacticiel utilise l'API Flow Service pour vous guider dans les étapes de connexion de l'Experience Platform à un serveur SFTP (Secure File Transfer Protocol).

Prise en main

Ce guide nécessite une compréhension professionnelle des composants suivants d’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 des services de plate-forme.
  • Environnements de test : Experience Platform fournit des environnements de test virtuels qui divisent une instance de plateforme unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience numérique.
IMPORTANT

Il est recommandé d’éviter les nouvelles lignes ou les retours chariot lors de l’assimilation d’objets JSON avec une connexion source SFTP. Pour contourner cette restriction, utilisez un seul objet JSON par ligne et plusieurs lignes pour les fichiers suivants.

Les sections suivantes contiennent des informations supplémentaires dont vous aurez besoin pour vous connecter à un serveur SFTP à l'aide de l'API Flow Service.

Collecte des informations d’identification requises

Pour que Flow Service se connecte au protocole SFTP, vous devez fournir des valeurs pour les propriétés de connexion suivantes :

Informations d’identification Description
host Nom ou adresse IP associé à votre serveur SFTP.
username Nom d’utilisateur ayant accès à votre serveur SFTP.
password Mot de passe de votre serveur SFTP.
privateKeyContent Le contenu de la clé privée SSH codée en Base64. Le type de clé OpenSSH doit être classé RSA ou DSA.
passPhrase Expression de passe ou mot de passe pour déchiffrer la clé privée si le fichier de clé ou le contenu de la clé est protégé par une expression de passe. Si PrivateKeyContent est protégé par un mot de passe, ce paramètre doit être utilisé avec la phrase secrète de PrivateKeyContent comme valeur.

Lecture d’exemples d’appels API

Ce tutoriel fournit des exemples d’appels API pour démontrer comment formater vos requêtes. Il s’agit notamment de chemins d’accès, d’en-têtes requis et de payloads de requêtes correctement formatés. 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 API, consultez la section sur la lecture d’exemples d’appels API dans le guide de dépannage d’Experience Platform.

Collecte des valeurs des en-têtes requis

Pour lancer des appels aux API Platform, vous devez d’abord suivre le tutoriel sur l’authentification. Le tutoriel sur l’authentification indique les valeurs de chacun des en-têtes requis dans tous les appels API Experience Platform, comme illustré ci-dessous :

  • Authorization: Bearer {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}

Toutes les ressources de Experience Platform, y compris celles appartenant à Flow Service, sont isolées dans des sandbox virtuels spécifiques. Toutes les requêtes d'API Platform 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 un payload (POST, PUT, PATCH) nécessitent un en-tête de type de média supplémentaire :

  • Content-Type: application/json

Création d’une connexion

Une connexion spécifie une source et contient vos informations d’identification pour cette source. Une seule connexion est requise, car elle peut être utilisée pour créer plusieurs flux de données afin d’importer des données différentes.

Création d’une connexion SFTP à l’aide d’une authentification de base

Pour créer une connexion SFTP à l'aide de l'authentification de base, faites une demande de POST à l'API Flow Service tout en fournissant des valeurs pour les host, userName et password de votre connexion.

Format d’API

POST /connections

Requête

Pour créer une connexion SFTP, son identifiant de spécification de connexion unique doit être fourni dans le cadre de la demande du POST. L'ID de spécification de connexion pour SFTP est b7bf2577-4520-42c9-bae9-cad01560f7bc.

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": "SFTP connector with password",
        "description": "SFTP connector password",
        "auth": {
            "specName": "Basic Authentication for sftp",
            "params": {
                "host": "{HOST}",
                "userName": "{USERNAME}",
                "password": "{PASSWORD}"
            }
        },
        "connectionSpec": {
            "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
            "version": "1.0"
        }
    }'
Propriété Description
auth.params.host Nom d’hôte de votre serveur SFTP.
auth.params.username Nom d’utilisateur associé à votre serveur SFTP.
auth.params.password Mot de passe associé à votre serveur SFTP.
connectionSpec.id ID de spécification de connexion au serveur SFTP : b7bf2577-4520-42c9-bae9-cad01560f7bc

Réponse

Une réponse réussie renvoie l'identifiant unique (id) de la connexion nouvellement créée. Cet identifiant est nécessaire pour explorer votre serveur SFTP dans le didacticiel suivant.

{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

Création d’une connexion SFTP à l’aide de l’authentification de clé publique SSH

Pour créer une connexion SFTP à l'aide de l'authentification de clé publique SSH, faites une demande de POST à l'API Flow Service tout en fournissant des valeurs pour les valeurs host, userName, privateKeyContent et passPhrase de votre connexion.

IMPORTANT

Le connecteur SFTP prend en charge une clé OpenSSH de type RSA ou DSA. Assurez-vous que le contenu de votre fichier clé est début avec "-----BEGIN [RSA/DSA] PRIVATE KEY-----" et se termine par "-----END [RSA/DSA] PRIVATE KEY-----". Si le fichier de clé privée est au format PPK, utilisez l'outil PuTTY pour convertir le fichier de clé privée au format OpenSSH.

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": "SFTP connector with SSH authentication",
        "description": "SFTP connector with SSH authentication",
        "auth": {
            "specName": "SSH PublicKey Authentication for sftp",
            "params": {
                "host": "{HOST}",
                "userName": "{USERNAME}",
                "privateKeyContent": "{PRIVATE_KEY_CONTENT}",
                "passPhrase": "{PASSPHRASE}"
            }
        },
        "connectionSpec": {
            "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
            "version": "1.0"
        }
    }'
Propriété Description
auth.params.host Nom d’hôte de votre serveur SFTP.
auth.params.username Nom d’utilisateur associé à votre serveur SFTP.
auth.params.privateKeyContent Le contenu de la clé privée SSH codée en Base64. Le type de clé OpenSSH doit être classé RSA ou DSA.
auth.params.passPhrase Expression de passe ou mot de passe pour déchiffrer la clé privée si le fichier de clé ou le contenu de la clé est protégé par une expression de passe. Si PrivateKeyContent est protégé par un mot de passe, ce paramètre doit être utilisé avec la phrase secrète de PrivateKeyContent comme valeur.
connectionSpec.id ID de spécification de connexion au serveur SFTP : b7bf2577-4520-42c9-bae9-cad01560f7bc

Réponse

Une réponse réussie renvoie l'identifiant unique (id) de la connexion nouvellement créée. Cet identifiant est nécessaire pour explorer votre serveur SFTP dans le didacticiel suivant.

{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

Étapes suivantes

En suivant ce didacticiel, vous avez créé une connexion SFTP à l'aide de l'API Flow Service et obtenu la valeur d'ID unique de la connexion. Vous pouvez utiliser cet ID de connexion pour explorer les enregistrements de cloud à l’aide de l’API Flow Service ou assimiler des données Parquet à l’aide de l’API Flow Service.

Sur cette page