Créer une connexion de base SFTP à l’aide de l’API Flow Service

Une connexion de base représente la connexion authentifiée entre une source et Adobe Experience Platform.

Ce tutoriel vous guide tout au long des étapes pour créer une connexion de base pour SFTP (protocole de transfert de fichiers sécurisé) à l’aide de l’Flow Service API.

Prise en main

Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :

  • Sources : Experience Platform permet d’ingérer des 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 Platform.
  • 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’ingestion d’objets JSON avec une connexion source SFTP. Pour contourner cette limitation, utilisez un seul objet JSON par ligne et plusieurs lignes pour les fichiers qui s’ensuivent.

Les sections suivantes apportent 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 à SFTP, vous devez fournir des valeurs pour les propriétés de connexion suivantes :

Credential 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 Contenu de clé privée SSH codée en Base64. Le type de clé OpenSSH doit être classé en tant que RSA ou DSA.
passPhrase L’expression de passe ou le 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 mot de passe, ce paramètre doit être utilisé avec comme valeur le mot de passe du contenu de clé privée.
connectionSpec.id La spécification de connexion renvoie les propriétés du connecteur d’une source, y compris les spécifications d’authentification liées à la création des connexions base et source. L’identifiant de spécification de connexion pour SFTP est : b7bf2577-4520-42c9-bae9-cad01560f7bc.

Utilisation des API Platform

Pour plus d’informations sur la manière d’effectuer des appels avec succès vers les API Platform, consultez le guide de prise en main des API Platform.

Création d’une connexion de base

Une connexion de base conserve les informations entre votre source et Platform, y compris les informations d’authentification de votre source, l’état actuel de la connexion et votre identifiant de connexion de base unique. L’identifiant de connexion de base vous permet d’explorer et de parcourir des fichiers à partir de votre source et d’identifier les éléments spécifiques que vous souhaitez ingérer, y compris des informations concernant leurs types et formats de données.

Pour créer un identifiant de connexion de base, envoyez une requête de POST au point de terminaison /connections tout en fournissant vos informations d’authentification SFTP dans le cadre des paramètres de requête.

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

Pour créer une connexion de base SFTP à l’aide de l’authentification de base, envoyez une requête 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

La requête suivante crée une connexion de base pour SFTP à l’aide de l’authentification de base :

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 L’identifiant 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 nouvelle connexion. Cet identifiant est nécessaire pour explorer votre serveur SFTP dans le tutoriel suivant.

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

Créer une connexion SFTP à l’aide de l’authentification par clé publique SSH

Pour créer une connexion de base SFTP à l’aide de l’authentification par clé publique SSH, envoyez une requête de POST à l’API Flow Service tout en fournissant des valeurs pour les 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é commence par "-----BEGIN [RSA/DSA] PRIVATE KEY-----" et se termine par "-----END [RSA/DSA] PRIVATE KEY-----". Si le fichier de clé privée est un fichier au format PPK, utilisez l’outil PuTTY pour effectuer une conversion de PPK au format OpenSSH.

Format d’API

POST /connections

Requête

La requête suivante crée une connexion de base pour SFTP à l’aide de l’authentification par clé publique SSH :

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 Contenu de clé privée SSH codée en Base64. Le type de clé OpenSSH doit être classé en tant que RSA ou DSA.
auth.params.passPhrase L’expression de passe ou le 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 mot de passe, ce paramètre doit être utilisé avec comme valeur le mot de passe de PrivateKeyContent.
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 nouvelle connexion. Cet identifiant est nécessaire pour explorer votre serveur SFTP dans le tutoriel suivant.

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

Étapes suivantes

En suivant ce tutoriel, vous avez créé une connexion SFTP à l’aide de l’API Flow Service et obtenu la valeur d’identifiant unique de la connexion. Vous pouvez utiliser cet identifiant de connexion pour explorer le stockage dans le cloud à l’aide de l’API Flow Service ou ingérer des données Parquet à l’aide de l’API Flow Service.

Sur cette page