Show Menu
SUJETS×

Guide du développeur d'assimilation de lot

Ce document fournit un aperçu complet de l'utilisation des API d'assimilation de lots.
L’annexe de ce document fournit des informations sur le formatage des données à utiliser pour l’assimilation , y compris des exemples de fichiers de données CSV et JSON.

Prise en main

L’assimilation de données fournit une API RESTful grâce à laquelle vous pouvez effectuer des opérations CRUD de base par rapport aux types d’objet pris en charge.
Les sections suivantes contiennent des informations supplémentaires que vous devez connaître ou connaître pour pouvoir appeler avec succès l'API d'importation par lot.
Ce guide nécessite une bonne compréhension des composants suivants d’Adobe Experience Platform :
  • Importation par lot : Vous permet d’assimiler des données dans Adobe Experience Platform sous forme de fichiers de commandes.
  • Système de modèle de données d’expérience (XDM) : Cadre normalisé selon lequel la plate-forme d’expérience organise les données d’expérience client.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui partitionnent une instance de plateforme unique en environnements virtuels distincts pour aider à développer et à développer des applications d’expérience numérique.

Lecture des exemples d’appels d’API

Ce guide 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 comment lire des exemples d’appels d’API dans le guide de dépannage d’Experience Platform.

Rassembler les valeurs des en-têtes requis

Pour lancer des appels aux API de plateforme, 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’API de plateforme d’expérience, comme indiqué ci-dessous :
  • Autorisation : Porteur {ACCESS_TOKEN}
  • x-api-key : {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Toutes les ressources de la plate-forme d’expérience sont isolées dans des sandbox virtuels spécifiques. Toutes les requêtes d’API de plateforme nécessitent un en-tête spécifiant le nom du sandbox dans lequel l’opération aura lieu :
  • x-sandbox-name : {SANDBOX_NAME}
Pour plus d’informations sur les sandbox dans Platform, voir la documentation d’aperçu de sandbox.
Les requêtes qui contiennent une charge utile (POST, PUT, PATCH) peuvent nécessiter un Content-Type en-tête supplémentaire. Les valeurs acceptées propres à chaque appel sont fournies dans les paramètres d'appel. Les types de contenu suivants sont utilisés dans ce guide :
  • Content-Type : application/json
  • Content-Type : application/octet-stream

Types

Lors de l’assimilation de données, il est important de comprendre le fonctionnement des schémas du modèle de données d’expérience (XDM). Pour plus d'informations sur la façon dont les types de champs XDM correspondent à différents formats, veuillez lire le guide de développement du registre de Schéma.
Il existe une certaine souplesse lors de l'assimilation des données : si un type ne correspond pas à ce qui se trouve dans le schéma de cible, les données sont converties en type de cible exprimé. Si elle ne le peut pas, le lot échoue avec un TypeCompatibilityException .
Par exemple, ni JSON ni CSV ne comportent de date ou de type date-heure. Par conséquent, ces valeurs sont exprimées à l’aide de chaînes au format ISO 8061 ("2018-07-10T15:05:59.000-08:00") ou de l’heure Unix, en millisecondes (153126999. (9000) et sont convertis au moment de l’assimilation au type XDM de cible.
Le tableau ci-dessous présente les conversions prises en charge lors de l’assimilation de données.
Entrant (ligne) par rapport à Cible (col)
Chaîne
Octet
Court
Entier
Long
Double
Date
Date-Heure
Objet
Carte
Chaîne
X
X
X
X
X
X
X
X
Octet
X
X
X
X
X
X
Court
X
X
X
X
X
X
Entier
X
X
X
X
X
X
Long
X
X
X
X
X
X
X
X
Double
X
X
X
X
X
X
Date
X
Date-Heure
X
Objet
X
X
Carte
X
X
Les booléens et les tableaux ne peuvent pas être convertis en d'autres types.

Contraintes d'importation

L'assimilation de données par lots présente certaines contraintes :
  • Nombre maximal de fichiers par lot : 1 500
  • Taille maximale du lot : 100 Go
  • Nombre maximal de propriétés ou de champs par ligne : 1 0000
  • Nombre maximal de lots par minute, par utilisateur : 138

Envoi de fichiers JSON

Les étapes suivantes s’appliquent aux petits fichiers (256 Mo ou moins). Si vous atteignez un délai d’expiration de passerelle ou que vous demandez des erreurs de taille du corps, vous devez passer au téléchargement de fichiers volumineux.

Créer un lot

Tout d’abord, vous devrez créer un lot, avec JSON comme format d’entrée. Lors de la création du lot, vous devez fournir un ID de jeu de données. Vous devez également vous assurer que tous les fichiers téléchargés dans le cadre du lot sont conformes au schéma XDM lié au jeu de données fourni.
Les exemples ci-dessous concernent les fichiers JSON uniligne. Pour ingérer des fichiers JSON multilignes, l’ isMultiLineJson indicateur doit être défini. Pour plus d'informations, consultez le guide de dépannage de l' assimilation par lot.
Format d’API
POST /batches

Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
          "datasetId": "{DATASET_ID}",
           "inputFormat": {
                "format": "json"
           }
      }'

Paramètre
Description
{DATASET_ID}
ID du jeu de données de référence.
Réponse
{
    "id": "{BATCH_ID}",
    "imsOrg": "{IMS_ORG}",
    "updated": 0,
    "status": "loading",
    "created": 0,
    "relatedObjects": [
        {
            "type": "dataSet",
            "id": "{DATASET_ID}"
        }
    ],
    "version": "1.0.0",
    "tags": {},
    "createdUser": "{USER_ID}",
    "updatedUser": "{USER_ID}"
}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.

Téléchargement de fichiers

Maintenant que vous avez créé un lot, vous pouvez utiliser le batchId formulaire d’origine pour transférer des fichiers vers le lot. Vous pouvez télécharger plusieurs fichiers dans le lot.
Voir la section de l’annexe pour un exemple de fichier de données JSON correctement formaté.
Format d’API
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier à télécharger.
Requête
L’API prend en charge le téléchargement en une seule partie. Assurez-vous que le type de contenu est application/octet-stream.
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.json \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'content-type: application/octet-stream' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  --data-binary "@{FILE_PATH_AND_NAME}.json"

Paramètre
Description
{FILE_PATH_AND_NAME}
Chemin d’accès complet et nom du fichier que vous tentez de télécharger.
Réponse
200 OK

Traitement par lot complet

Une fois que vous avez terminé de télécharger toutes les différentes parties du fichier, vous devez signaler que les données ont été entièrement téléchargées et que le lot est prêt pour la promotion.
Format d’API
POST /batches/{BATCH_ID}?action=COMPLETE

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
Requête
curl -X POST "https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE" \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse
200 OK

Incorporer des fichiers de parquet

Les étapes suivantes s’appliquent aux petits fichiers (256 Mo ou moins). Si vous atteignez un délai d’expiration de la passerelle ou que vous demandez des erreurs de taille du corps, vous devrez basculer vers le transfert de fichiers volumineux.

Créer un lot

Tout d'abord, vous devrez créer un lot, avec Parquet comme format d'entrée. Lors de la création du lot, vous devez fournir un ID de jeu de données. Vous devez également vous assurer que tous les fichiers téléchargés dans le cadre du lot sont conformes au schéma XDM lié au jeu de données fourni.
Requête
curl -X POST "https://platform.adobe.io/data/foundation/import/batches" \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -H "x-gw-ims-org-id: {IMS_ORG}" \
  -H "x-api-key : {API_KEY}" \
  -H "x-sandbox-name: {SANDBOX_NAME}" 
  -d '{
          "datasetId": "{DATASET_ID}",
           "inputFormat": {
                "format": "parquet"
           }
      }'

Paramètre
Description
{DATASET_ID}
ID du jeu de données de référence.
Réponse
201 Created

{
    "id": "{BATCH_ID}",
    "imsOrg": "{IMS_ORG}",
    "updated": 0,
    "status": "loading",
    "created": 0,
    "relatedObjects": [
        {
            "type": "dataSet",
            "id": "{DATASET_ID}"
        }
    ],
    "version": "1.0.0",
    "tags": {},
    "createdUser": "{USER_ID}",
    "updatedUser": "{USER_ID}"
}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.
{USER_ID}
ID de l’utilisateur qui a créé le lot.

Téléchargement de fichiers

Maintenant que vous avez créé un lot, vous pouvez utiliser le batchId formulaire d’origine pour transférer des fichiers vers le lot. Vous pouvez télécharger plusieurs fichiers dans le lot.
Format d’API
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier à télécharger.
Requête
Cette API prend en charge le téléchargement en une seule partie. Assurez-vous que le type de contenu est application/octet-stream.
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/octet-stream' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  --data-binary "@{FILE_PATH_AND_NAME}.parquet"

Paramètre
Description
{FILE_PATH_AND_NAME}
Chemin d’accès complet et nom du fichier que vous tentez de télécharger.
Réponse
200 OK

Traitement par lot complet

Une fois que vous avez terminé de télécharger toutes les différentes parties du fichier, vous devez signaler que les données ont été entièrement téléchargées et que le lot est prêt pour la promotion.
Format d’API
POST /batches/{BATCH_ID}?action=complete

Paramètre
Description
{BATCH_ID}
L'ID du lot que vous souhaitez signaler est prêt pour l'achèvement.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
200 OK

Incorporer des fichiers de parquet volumineux

Cette section décrit comment télécharger des fichiers de plus de 256 Mo. Les fichiers volumineux sont téléchargés en blocs, puis assemblés au moyen d’un signal d’API.

Créer un lot

Tout d'abord, vous devrez créer un lot, avec Parquet comme format d'entrée. Lors de la création du lot, vous devez fournir un ID de jeu de données. Vous devez également vous assurer que tous les fichiers téléchargés dans le cadre du lot sont conformes au schéma XDM lié au jeu de données fourni.
Format d’API
POST /batches

Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
          "datasetId": "{DATASET_ID}",
           "inputFormat": {
             "format": "parquet"
           }
      }'

Paramètre
Description
{DATASET_ID}
ID du jeu de données de référence.
Réponse
201 Created

{
    "id": "{BATCH_ID}",
    "imsOrg": "{IMS_ORG}",
    "updated": 0,
    "status": "loading",
    "created": 0,
    "relatedObjects": [
        {
            "type": "dataSet",
            "id": "{DATASET_ID}"
        }
    ],
    "version": "1.0.0",
    "tags": {},
    "createdUser": "{USER_ID}",
    "updatedUser": "{USER_ID}"
}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.
{USER_ID}
ID de l’utilisateur qui a créé le lot.

Initialiser un fichier volumineux

Après avoir créé le lot, vous devez initialiser le fichier volumineux avant de transférer des blocs dans le lot.
Format d’API
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.
{FILE_NAME}
Nom du fichier sur le point d’être initialisé.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet?action=INITIALIZE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
201 Created

Transfert de blocs de fichiers volumineux

Maintenant que le fichier a été créé, tous les blocs suivants peuvent être téléchargés en exécutant des requêtes PATCH répétées, une pour chaque section du fichier.
Format d’API
PATCH /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier à télécharger.
Requête
Cette API prend en charge le téléchargement en une seule partie. Assurez-vous que le type de contenu est application/octet-stream.
curl -X PATCH https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/octet-stream' \
  -H 'Content-Range: bytes {CONTENT_RANGE}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  --data-binary "@{FILE_PATH_AND_NAME}.parquet"

Paramètre
Description
{CONTENT_RANGE}
En entiers, début et fin de la plage demandée.
{FILE_PATH_AND_NAME}
Chemin d’accès complet et nom du fichier que vous tentez de télécharger.
Réponse
200 OK

Compléter le fichier volumineux

Maintenant que vous avez créé un lot, vous pouvez utiliser le batchId formulaire d’origine pour transférer des fichiers vers le lot. Vous pouvez télécharger plusieurs fichiers dans le lot.
Format d’API
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot dont vous souhaitez signaler la fin.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier dont vous souhaitez signaler la fin.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.parquet?action=COMPLETE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
201 Created

Traitement par lot complet

Une fois que vous avez terminé de télécharger toutes les différentes parties du fichier, vous devez signaler que les données ont été entièrement téléchargées et que le lot est prêt pour la promotion.
Format d’API
POST /batches/{BATCH_ID}?action=COMPLETE

Paramètre
Description
{BATCH_ID}
L'ID du lot à signaler est terminé.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
200 OK

Incorporation de fichiers CSV

Pour importer des fichiers CSV, vous devez créer une classe, un schéma et un jeu de données qui prennent en charge le format CSV. Pour obtenir des informations détaillées sur la création de la classe et du schéma nécessaires, suivez les instructions fournies dans le didacticiel de création de schémas ad hoc.
Les étapes suivantes s’appliquent aux petits fichiers (256 Mo ou moins). Si vous atteignez un délai d’expiration de la passerelle ou que vous demandez des erreurs de taille du corps, vous devrez basculer vers le transfert de fichiers volumineux.

Créer un jeu de données

Après avoir suivi les instructions ci-dessus pour créer la classe et le schéma nécessaires, vous devez créer un jeu de données qui peut prendre en charge le format CSV.
Format d’API
POST /catalog/dataSets

Requête
curl -X POST https://platform.adobe.io/data/foundation/catalog/dataSets \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "{DATASET_NAME}",
      "schemaRef": {
          "id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
          "contentType": "application/vnd.adobe.xed+json;version=1"
      },
      "fileDescription": {
          "format": "parquet",
          "delimiters": [","], 
          "quotes": ["\""],
          "escapes": ["\\"],
          "header": true,
          "charset": "UTF-8"
      }      
  }'

Paramètre
Description
{TENANT_ID}
Cet identifiant permet de s’assurer que les ressources que vous créez sont correctement espacées dans l’espace de noms et contenues dans votre organisation IMS.
{SCHEMA_ID}
ID du schéma que vous avez créé.
Vous trouverez ci-dessous une explication des différentes parties de la section "fileDescription" du corps JSON :
{
    "fileDescription": {
        "format": "parquet",
        "delimiters": [","],
        "quotes": ["\""],
        "escapes": ["\\"],
        "header": true,
        "charset": "UTF-8"
    }
}

Paramètre
Description
format
Le format du fichier géré, et non le format du fichier d’entrée.
delimiters
Caractère à utiliser comme délimiteur.
quotes
Caractère à utiliser pour les guillemets.
escapes
Caractère à utiliser comme caractère d’échappement.
header
Le fichier téléchargé doit contenir des en-têtes. Puisque la validation du schéma est effectuée, elle doit être définie sur true. En outre, les en-têtes peuvent ne pas contenir d’espaces. Si vous avez des espaces dans l’en-tête, remplacez-les par des traits de soulignement.
charset
Champ facultatif. Les autres jeux de caractères pris en charge sont "US-ASCII" et "ISO-8869-1". Si la valeur est laissée vide, le codage UTF-8 est supposé par défaut.
Le jeu de données référencé doit comporter le bloc de description de fichier mentionné ci-dessus et doit pointer vers un schéma valide dans le registre. Sinon, le fichier ne sera pas maîtrisé en parquet.

Créer un lot

Ensuite, vous devrez créer un lot avec le format CSV comme format d’entrée. Lors de la création du lot, vous devez fournir un ID de jeu de données. Vous devez également vous assurer que tous les fichiers téléchargés dans le cadre du lot sont conformes au schéma lié au jeu de données fourni.
Format d’API
POST /batches

Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
            "datasetId": "{DATASET_ID}",
            "inputFormat": {
                "format": "csv"
            }
      }'

Paramètre
Description
{DATASET_ID}
ID du jeu de données de référence.
Réponse
201 Created

{
    "id": "{BATCH_ID}",
    "imsOrg": "{IMS_ORG}",
    "updated": 0,
    "status": "loading",
    "created": 0,
    "relatedObjects": [
        {
            "type": "dataSet",
            "id": "{DATASET_ID}"
        }
    ],
    "version": "1.0.0",
    "tags": {},
    "createdUser": "{USER_ID}",
    "updatedUser": "{USER_ID}"
}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.
{USER_ID}
ID de l’utilisateur qui a créé le lot.

Téléchargement de fichiers

Maintenant que vous avez créé un lot, vous pouvez utiliser le batchId formulaire d’origine pour transférer des fichiers vers le lot. Vous pouvez télécharger plusieurs fichiers dans le lot.
Voir la section de l’annexe pour un exemple de fichier de données CSV correctement formaté.
Format d’API
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier à télécharger.
Requête
Cette API prend en charge le téléchargement en une seule partie. Assurez-vous que le type de contenu est application/octet-stream.
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.csv \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/octet-stream' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  --data-binary "@{FILE_PATH_AND_NAME}.csv"

Paramètre
Description
{FILE_PATH_AND_NAME}
Chemin d’accès complet et nom du fichier que vous tentez de télécharger.
Réponse
200 OK

Traitement par lot complet

Une fois que vous avez terminé de télécharger toutes les différentes parties du fichier, vous devez signaler que les données ont été entièrement téléchargées et que le lot est prêt pour la promotion.
Format d’API
POST /batches/{BATCH_ID}?action=COMPLETE

Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse
200 OK

Annuler un lot

Pendant le traitement du lot, il peut toujours être annulé. Cependant, une fois qu'un lot est finalisé (par exemple, un état de réussite ou d'échec), le lot ne peut pas être annulé.
Format d’API
POST /batches/{BATCH_ID}?action=ABORT

Paramètre
Description
{BATCH_ID}
ID du lot à annuler.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=ABORT \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
200 OK

Suppression d’un lot

Un lot peut être supprimé en exécutant la requête POST suivante avec le paramètre de action=REVERT requête à l'ID du lot que vous souhaitez supprimer. Le lot est marqué comme "inactif", ce qui le rend éligible pour la collecte de déchets. Le lot sera collecté de manière asynchrone, puis marqué comme "supprimé".
Format d’API
POST /batches/{BATCH_ID}?action=REVERT

Paramètre
Description
{BATCH_ID}
ID du lot à supprimer.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=REVERT \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 

Réponse
200 OK

Réexécution d’un lot

Si vous souhaitez remplacer un lot déjà ingéré, vous pouvez le faire par "relecture par lot". Cette action équivaut à supprimer l’ancien lot et à en ingérer un nouveau.

Créer un lot

Tout d’abord, vous devrez créer un lot, avec JSON comme format d’entrée. Lors de la création du lot, vous devez fournir un ID de jeu de données. Vous devez également vous assurer que tous les fichiers téléchargés dans le cadre du lot sont conformes au schéma XDM lié au jeu de données fourni. De plus, vous devrez fournir les anciens lots comme référence dans la section de relecture. Dans l’exemple ci-dessous, vous rejouez des lots avec des ID batchIdA et batchIdB .
Format d’API
POST /batches

Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' 
  -d '{
          "datasetId": "{DATASET_ID}",
           "inputFormat": {
             "format": "json"
           },
            "replay": {
                "predecessors": ["${batchIdA}","${batchIdB}"],
                "reason": "replace"
             }
      }'

Paramètre
Description
{DATASET_ID}
ID du jeu de données de référence.
Réponse
201 Created

{
    "id": "{BATCH_ID}",
    "imsOrg": "{IMS_ORG}",
    "updated": 0,
    "status": "loading",
    "created": 0,
    "relatedObjects": [
        {
            "type": "dataSet",
            "id": "{DATASET_ID}"
        }
    ],
    "replay": {
        "predecessors": [
            "batchIdA", "batchIdB"
        ],
        "reason": "replace"
    },
    "version": "1.0.0",
    "tags": {},
    "createdUser": "{USER_ID}",
    "updatedUser": "{USER_ID}"
}

Paramètre
Description
{BATCH_ID}
ID du lot nouvellement créé.
{DATASET_ID}
ID du jeu de données référencé.
{USER_ID}
ID de l’utilisateur qui a créé le lot.

Téléchargement de fichiers

Maintenant que vous avez créé un lot, vous pouvez utiliser le batchId formulaire d’origine pour transférer des fichiers vers le lot. Vous pouvez télécharger plusieurs fichiers dans le lot.
Format d’API
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}

Paramètre
Description
{BATCH_ID}
ID du lot vers lequel vous souhaitez effectuer le transfert.
{DATASET_ID}
ID du jeu de données de référence du lot.
{FILE_NAME}
Nom du fichier à télécharger.
Requête
Cette API prend en charge le téléchargement en une seule partie. Assurez-vous que le type de contenu est application/octet-stream. N’utilisez pas l’option curl -F, car elle utilise par défaut une requête en plusieurs parties incompatible avec l’API.
curl -X PUT https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}.json \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/octet-stream' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  --data-binary "@{FILE_PATH_AND_NAME}.json"

Paramètre
Description
{FILE_PATH_AND_NAME}
Chemin d’accès complet et nom du fichier que vous tentez de télécharger.
Réponse
200 OK

Traitement par lot complet

Une fois que vous avez terminé de télécharger toutes les différentes parties du fichier, vous devez signaler que les données ont été entièrement téléchargées et que le lot est prêt pour la promotion.
Format d’API
POST /batches/{BATCH_ID}?action=COMPLETE

Paramètre
Description
{BATCH_ID}
ID du lot à terminer.
Requête
curl -X POST https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key : {API_KEY}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse
200 OK

Annexe

Transformation des données pour l'assimilation par lots

Pour importer un fichier de données dans la plate-forme d’expérience, la structure hiérarchique du fichier doit respecter le schéma du modèle de données d’ expérience (XDM) associé au jeu de données sur lequel le téléchargement est effectué.
Vous trouverez des informations sur la mise en correspondance d’un fichier CSV avec un schéma XDM dans les exemples de document de transformations , ainsi qu’un exemple de fichier de données JSON correctement formaté. Vous trouverez ici des exemples de fichiers fournis dans le document :