Explorez un système de stockage dans le cloud à l’aide de l’API Flow Service

Ce tutoriel utilise l’Flow Service API pour explorer un système de stockage cloud tiers.

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 provenant de diverses sources tout en vous permettant de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide de Platform services.
  • Environnements de test : Experience Platform fournit des environnements de test virtuels qui divisent une instance Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience numérique.

Les sections suivantes apportent des informations supplémentaires dont vous aurez besoin pour vous connecter à un système de stockage dans le cloud à l’aide de l’API Flow Service.

Obtention d’un identifiant de connexion

Pour explorer un espace de stockage dans le cloud tiers à l’aide des API Platform, vous devez posséder un identifiant de connexion valide. Si vous ne disposez pas déjà d’une connexion pour le stockage que vous souhaitez utiliser, vous pouvez en créer une via les tutoriels suivants :

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 d'API, voir la section concernant la lecture d'exemples d'appels d'API dans le guide de dépannageExperience Platform.

Collecte des valeurs des en-têtes requis

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

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

Toutes les ressources qui se trouvent dans Experience Platform, y compris celles liées à la Flow Service, sont isolées dans des environnements de test virtuels spécifiques. Toutes les requêtes envoyées aux API Platform nécessitent un en-tête spécifiant le nom de l’environnement de test dans lequel l’opération sera effectuée :

  • 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

Explorez votre espace de stockage dans le cloud

À l’aide de l’identifiant de connexion de votre espace de stockage dans le cloud, vous pouvez explorer les fichiers et les répertoires en effectuant des requêtes GET. Lors de l’exécution de requêtes GET pour explorer votre espace de stockage dans le cloud, vous devez inclure les paramètres de requête répertoriés dans le tableau ci-dessous :

Paramètre Description
objectType Type d’objet que vous souhaitez explorer. Définissez cette valeur comme suit :
  • folder: Exploration d’un répertoire spécifique
  • root: Explorez le répertoire racine.
object Ce paramètre est requis uniquement lors de l’affichage d’un répertoire spécifique. Sa valeur représente le chemin du répertoire que vous souhaitez explorer.

Utilisez l’appel suivant pour trouver le chemin d’accès au fichier que vous souhaitez importer dans Platform :

Format d’API

GET /connections/{CONNECTION_ID}/explore?objectType=root
GET /connections/{CONNECTION_ID}/explore?objectType=folder&object={PATH}
Paramètre Description
{CONNECTION_ID} Identifiant de connexion de votre connecteur source de stockage dans le cloud.
{PATH} Chemin d’accès d’un répertoire.

Requête

curl -X GET \
    'http://platform.adobe.io/data/foundation/flowservice/connections/{CONNECTION_ID}/explore?objectType=folder&object=/some/path/' \
    -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 un tableau de fichiers et de dossiers trouvés dans le répertoire interrogé. Prenez note de la propriété path du fichier que vous souhaitez télécharger, car vous devez la fournir à l’étape suivante pour examiner sa structure.

[
    {
        "type": "file",
        "name": "account.csv",
        "path": "/test-connectors/testFolder-fileIngestion/account.csv",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "file",
        "name": "profileData.json",
        "path": "/test-connectors/testFolder-fileIngestion/profileData.json",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "file",
        "name": "sampleprofile--3.parquet",
        "path": "/test-connectors/testFolder-fileIngestion/sampleprofile--3.parquet",
        "canPreview": true,
        "canFetchSchema": true
    }
]

Inspect de la structure d’un fichier

Pour examiner la structure du fichier de données à partir de votre espace de stockage dans le cloud, effectuez une requête de GET tout en fournissant le chemin d’accès du fichier et saisissez comme paramètre de requête.

Vous pouvez examiner la structure d’un fichier de données à partir de votre source de stockage dans le cloud en exécutant une requête de GET tout en fournissant le chemin et le type du fichier. Vous pouvez également examiner différents types de fichiers, tels que CSV, TSV ou JSON compressé et les fichiers délimités, en spécifiant leurs types de fichiers dans les paramètres de requête.

Format d’API

GET /connections/{CONNECTION_ID}/explore?objectType=file&object={FILE_PATH}&fileType={FILE_TYPE}&{QUERY_PARAMS}&preview=true
GET /connections/{CONNECTION_ID}/explore?objectType=file&object={FILE_PATH}&preview=true&fileType=delimited&columnDelimiter=\t
GET /connections/{CONNECTION_ID}/explore?objectType=file&object={FILE_PATH}&preview=true&fileType=delimited&compressionType=gzip;
Paramètre Description
{CONNECTION_ID} Identifiant de connexion de votre connecteur source de stockage dans le cloud.
{FILE_PATH} Le chemin d’accès au fichier que vous souhaitez inspecter.
{FILE_TYPE} Type du fichier. Les types de fichiers pris en charge sont les suivants :
  • DELIMITED : Valeur séparée par un délimiteur. Les fichiers DSV doivent être séparés par des virgules.
  • JSON : Notation d’objet JavaScript. Les fichiers JSON doivent être conformes à XDM
  • PARQUET : Apache Parquet. Les fichiers parquet doivent être conformes à XDM.
{QUERY_PARAMS} Paramètres de requête facultatifs pouvant être utilisés pour filtrer les résultats. Voir la section Paramètres de requête pour plus d’informations.

Requête

curl -X GET \
    'http://platform.adobe.io/data/foundation/flowservice/connections/{CONNECTION_ID}/explore?objectType=file&object=/aep-bootcamp/Adobe%20Pets%20Customer%2020190801%20EXP.json&fileType=json&preview=true' \
    -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 la structure du fichier interrogé, y compris les noms de table et les types de données.

[
    {
        "name": "Id",
        "type": "String"
    },
    {
        "name": "FirstName",
        "type": "String"
    },
    {
        "name": "LastName",
        "type": "String"
    },
    {
        "name": "Email",
        "type": "String"
    },
    {
        "name": "Phone",
        "type": "String"
    }
]

Utilisation des paramètres de requête

Flow Service L’API prend en charge l’utilisation de paramètres de requête pour prévisualiser et inspecter différents types de fichiers.

Paramètre Description
columnDelimiter La valeur à caractère unique que vous avez spécifiée comme délimiteur de colonne pour inspecter les fichiers CSV ou TSV. Si le paramètre n’est pas fourni, la valeur est par défaut une virgule (,).
compressionType Paramètre de requête requis pour la prévisualisation d’un fichier délimité compressé ou JSON. Les fichiers compressés pris en charge sont les suivants :
  • bzip2
  • gzip
  • deflate
  • zipDeflate
  • tarGzip
  • tar

Étapes suivantes

En suivant ce tutoriel, vous avez exploré votre système de stockage dans le cloud, trouvé le chemin d’accès au fichier que vous souhaitez importer dans Platform et consulté sa structure. Vous pouvez utiliser ces informations dans le tutoriel suivant pour collecter des données à partir de votre espace de stockage dans le cloud et les importer dans Platform.

Sur cette page