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).
Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :
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.
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. |
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.
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
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.
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\""
}
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.
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\""
}
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.