Guía para desarrolladores de ingesta por lotes

Este documento proporciona una guía completa sobre el uso de extremos de la API de ingesta por lotes en Adobe Experience Platform. Para obtener información general sobre las API de ingesta por lotes, incluidos los requisitos previos y las prácticas recomendadas, lea en primer lugar la información general de la API de ingesta por lotes.

El apéndice de este documento proporciona información sobre los datos de formato que se utilizarán para la ingesta, incluidos archivos de datos CSV y JSON de muestra.

Primeros pasos

Los extremos de API utilizados en esta guía forman parte de la API de ingesta de datos. La ingesta de datos proporciona una API RESTful mediante la cual puede realizar operaciones CRUD básicas con los tipos de objeto admitidos.

Antes de continuar, revise la información general de la API de ingesta por lotes y la guía de introducción.

Ingesta de archivos JSON

NOTA

Los siguientes pasos son aplicables a archivos pequeños (256 MB o menos). Si se supera el tiempo de espera de la puerta de enlace o se solicitan errores de tamaño del cuerpo, debe cambiar a la carga de archivos de gran tamaño.

Crear lote

En primer lugar, debe crear un lote, con JSON como formato de entrada. Al crear el lote, deberá proporcionar un ID de conjunto de datos. También debe asegurarse de que todos los archivos cargados como parte del lote se ajustan al esquema XDM vinculado al conjunto de datos proporcionado.

NOTA

Los ejemplos siguientes son para JSON de una sola línea. Para ingerir JSON multilínea, será necesario establecer el indicador isMultiLineJson . Para obtener más información, lea la guía de solución de problemas de ingesta por lotes.

Formato de API

POST /batches

Solicitud

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"
           }
      }'
Parámetro Descripción
{DATASET_ID} ID del conjunto de datos de referencia.

Respuesta

{
    "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}"
}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.

Cargar archivos

Ahora que ha creado un lote, puede utilizar el ID de lote de la respuesta de creación del lote para cargar los archivos en el lote. Puede cargar varios archivos en el lote.

NOTA

Consulte la sección del apéndice para ver un ejemplo de un archivo de datos JSON con formato correcto.

Formato de API

PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} Nombre del archivo que desea cargar. Esta ruta de archivo es la ubicación donde se guardará el archivo en el lado del Adobe.

Solicitud

NOTA

La API admite la carga de una sola parte. Asegúrese de que el tipo de contenido sea 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"
Parámetro Descripción
{FILE_PATH_AND_NAME} Ruta de acceso completa y nombre del archivo que está intentando cargar. Esta ruta de archivo es la ruta de archivo local, como Users/sample-user/Downloads/sample.json.

Respuesta

200 OK

Lote completo

Una vez que haya terminado de cargar todas las partes del archivo, tendrá que indicar que los datos se han cargado completamente y que el lote está listo para la promoción.

Formato de API

POST /batches/{BATCH_ID}?action=COMPLETE
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.

Solicitud

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}'

Respuesta

200 OK

Ingesta de archivos de parquet

NOTA

Los siguientes pasos son aplicables a archivos pequeños (256 MB o menos). Si supera el tiempo de espera de la puerta de enlace o solicita errores de tamaño del cuerpo, deberá cambiar a la carga de archivos de gran tamaño.

Crear lote

En primer lugar, tendrá que crear un lote, con Parquet como formato de entrada. Al crear el lote, deberá proporcionar un ID de conjunto de datos. También debe asegurarse de que todos los archivos cargados como parte del lote se ajustan al esquema XDM vinculado al conjunto de datos proporcionado.

Solicitud

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"
           }
      }'
Parámetro Descripción
{DATASET_ID} ID del conjunto de datos de referencia.

Respuesta

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}"
}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.
{USER_ID} ID del usuario que creó el lote.

Cargar archivos

Ahora que ha creado un lote, puede utilizar el batchId de antes para cargar archivos en el lote. Puede cargar varios archivos en el lote.

Formato de API

PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} Nombre del archivo que desea cargar. Esta ruta de archivo es la ubicación donde se guardará el archivo en el lado del Adobe.

Solicitud

PRECAUCIÓN

Esta API admite la carga de una sola parte. Asegúrese de que el tipo de contenido sea 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"
Parámetro Descripción
{FILE_PATH_AND_NAME} Ruta de acceso completa y nombre del archivo que está intentando cargar. Esta ruta de archivo es la ruta de archivo local, como Users/sample-user/Downloads/sample.json.

Respuesta

200 OK

Lote completo

Una vez que haya terminado de cargar todas las partes del archivo, tendrá que indicar que los datos se han cargado completamente y que el lote está listo para la promoción.

Formato de API

POST /batches/{BATCH_ID}?action=complete
Parámetro Descripción
{BATCH_ID} El ID del lote que desea señalar está listo para completarse.

Solicitud

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}' 

Respuesta

200 OK

Ingesta de archivos de parqué grandes

NOTA

Esta sección detalla cómo cargar archivos de más de 256 MB. Los archivos grandes se cargan en fragmentos y luego se vinculan mediante una señal de API.

Crear lote

En primer lugar, tendrá que crear un lote, con Parquet como formato de entrada. Al crear el lote, deberá proporcionar un ID de conjunto de datos. También debe asegurarse de que todos los archivos cargados como parte del lote se ajustan al esquema XDM vinculado al conjunto de datos proporcionado.

Formato de API

POST /batches

Solicitud

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"
           }
      }'
Parámetro Descripción
{DATASET_ID} ID del conjunto de datos de referencia.

Respuesta

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}"
}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.
{USER_ID} ID del usuario que creó el lote.

Inicializar archivo grande

Después de crear el lote, tendrá que inicializar el archivo grande antes de cargar fragmentos en el lote.

Formato de API

POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.
{FILE_NAME} Nombre del archivo que está a punto de iniciarse.

Solicitud

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}' 

Respuesta

201 Created

Cargar fragmentos de archivos grandes

Ahora que el archivo se ha creado, todos los fragmentos posteriores se pueden cargar realizando solicitudes de PATCH repetidas, una para cada sección del archivo.

Formato de API

PATCH /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} Nombre del archivo que desea cargar. Esta ruta de archivo es la ubicación donde se guardará el archivo en el lado del Adobe.

Solicitud

PRECAUCIÓN

Esta API admite la carga de una sola parte. Asegúrese de que el tipo de contenido sea 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"
Parámetro Descripción
{CONTENT_RANGE} En enteros, el principio y el final del rango solicitado.
{FILE_PATH_AND_NAME} Ruta de acceso completa y nombre del archivo que está intentando cargar. Esta ruta de archivo es la ruta de archivo local, como Users/sample-user/Downloads/sample.json.

Respuesta

200 OK

Completar archivo grande

Ahora que ha creado un lote, puede utilizar el batchId de antes para cargar archivos en el lote. Puede cargar varios archivos en el lote.

Formato de API

POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote que desea que indique la finalización del proceso.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} El nombre del archivo que desea que indique la finalización de.

Solicitud

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}' 

Respuesta

201 Created

Lote completo

Una vez que haya terminado de cargar todas las partes del archivo, tendrá que indicar que los datos se han cargado completamente y que el lote está listo para la promoción.

Formato de API

POST /batches/{BATCH_ID}?action=COMPLETE
Parámetro Descripción
{BATCH_ID} Se ha completado el ID del lote que desea señalar.

Solicitud

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}' 

Respuesta

200 OK

Ingesta de archivos CSV

Para introducir archivos CSV, deberá crear una clase, un esquema y un conjunto de datos que admita CSV. Para obtener información detallada sobre cómo crear la clase y el esquema necesarios, siga las instrucciones proporcionadas en el tutorial de creación de esquema ad-hoc.

NOTA

Los siguientes pasos son aplicables a archivos pequeños (256 MB o menos). Si supera el tiempo de espera de la puerta de enlace o solicita errores de tamaño del cuerpo, deberá cambiar a la carga de archivos de gran tamaño.

Crear conjunto de datos

Después de seguir las instrucciones anteriores para crear la clase y el esquema necesarios, debe crear un conjunto de datos que admita CSV.

Formato de API

POST /catalog/dataSets

Solicitud

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"
      }
  }'
Parámetro Descripción
{TENANT_ID} Este ID se utiliza para garantizar que los recursos que crea tengan un espacio de nombres adecuado y estén contenidos dentro de su organización de IMS.
{SCHEMA_ID} El ID del esquema que ha creado.

Crear lote

A continuación, debe crear un lote con CSV como formato de entrada. Al crear el lote, deberá proporcionar un ID de conjunto de datos. También debe asegurarse de que todos los archivos cargados como parte del lote se ajustan al esquema vinculado al conjunto de datos proporcionado.

Formato de API

POST /batches

Solicitud

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"
            }
      }'
Parámetro Descripción
{DATASET_ID} ID del conjunto de datos de referencia.

Respuesta

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}"
}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.
{USER_ID} ID del usuario que creó el lote.

Cargar archivos

Ahora que ha creado un lote, puede utilizar el batchId de antes para cargar archivos en el lote. Puede cargar varios archivos en el lote.

NOTA

Consulte la sección del apéndice para ver un ejemplo de un archivo de datos CSV con formato correcto.

Formato de API

PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} Nombre del archivo que desea cargar. Esta ruta de archivo es la ubicación donde se guardará el archivo en el lado del Adobe.

Solicitud

PRECAUCIÓN

Esta API admite la carga de una sola parte. Asegúrese de que el tipo de contenido sea 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"
Parámetro Descripción
{FILE_PATH_AND_NAME} Ruta de acceso completa y nombre del archivo que está intentando cargar. Esta ruta de archivo es la ruta de archivo local, como Users/sample-user/Downloads/sample.json.

Respuesta

200 OK

Lote completo

Una vez que haya terminado de cargar todas las partes del archivo, tendrá que indicar que los datos se han cargado completamente y que el lote está listo para la promoción.

Formato de API

POST /batches/{BATCH_ID}?action=COMPLETE

Solicitud

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}'

Respuesta

200 OK

Cancelar un lote

Mientras el lote se esté procesando, aún se puede cancelar. Sin embargo, una vez finalizado un lote (como un estado de éxito o de error), el lote no se puede cancelar.

Formato de API

POST /batches/{BATCH_ID}?action=ABORT
Parámetro Descripción
{BATCH_ID} El ID del lote que desea cancelar.

Solicitud

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}' 

Respuesta

200 OK

Eliminar un lote

Se puede eliminar un lote realizando la siguiente solicitud de POST con el parámetro de consulta action=REVERT al ID del lote que desea eliminar. El lote está marcado como "inactivo", lo que lo hace apto para la recolección de basura. El lote se recopilará asincrónicamente, momento en el que se marcará como "eliminado".

Formato de API

POST /batches/{BATCH_ID}?action=REVERT
Parámetro Descripción
{BATCH_ID} El ID del lote que desea eliminar.

Solicitud

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}' 

Respuesta

200 OK

Parche de un lote

En ocasiones puede ser necesario actualizar los datos en el Almacenamiento de perfiles de su organización. Por ejemplo, es posible que necesite corregir registros o cambiar un valor de atributo. Adobe Experience Platform admite la actualización o el parche de datos del Almacenamiento de perfiles mediante una acción de actualización o "parche de un lote".

NOTA

Estas actualizaciones solo se permiten en registros de perfil, no en eventos de experiencia.

Se requiere lo siguiente para parche de un lote:

  • Conjunto de datos habilitado para actualizaciones de perfiles y atributos. Esto se realiza mediante etiquetas de conjuntos de datos y requiere que se agregue una isUpsert:true etiqueta específica a la unifiedProfile matriz. Para obtener más información sobre los pasos que muestran cómo crear un conjunto de datos o configurar un conjunto de datos existente para su actualización, siga el tutorial para habilitar un conjunto de datos para actualizaciones de perfil.
  • Archivo de parquet que contiene los campos que se van a parchear y los campos de identidad para el perfil. El formato de datos para la revisión de un lote es similar al proceso normal de ingesta por lotes. La entrada necesaria es un archivo Parquet y, además de los campos que se van a actualizar, los datos cargados deben contener los campos de identidad para que coincidan con los datos del Almacenamiento de perfiles.

Una vez que tenga un conjunto de datos habilitado para Profile y upsert, y un archivo de parquet que contenga los campos que desea parche, así como los campos de identidad necesarios, puede seguir los pasos para ingesta de archivos de parquet para completar el parche mediante la ingesta por lotes.

Reproducir un lote

Si desea reemplazar un lote ya ingestado, puede hacerlo con "reproducción por lotes": esta acción equivale a eliminar el lote antiguo e ingerir uno nuevo en su lugar.

Crear lote

En primer lugar, debe crear un lote, con JSON como formato de entrada. Al crear el lote, deberá proporcionar un ID de conjunto de datos. También debe asegurarse de que todos los archivos cargados como parte del lote se ajustan al esquema XDM vinculado al conjunto de datos proporcionado. Además, debe proporcionar los lotes antiguos como referencia en la sección de repetición. En el siguiente ejemplo, está reproduciendo lotes con ID batchIdA y batchIdB.

Formato de API

POST /batches

Solicitud

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"
             }
      }'
Parámetro Descripción
{DATASET_ID} ID del conjunto de datos de referencia.

Respuesta

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}"
}
Parámetro Descripción
{BATCH_ID} El ID del lote recién creado.
{DATASET_ID} ID del conjunto de datos al que se hace referencia.
{USER_ID} ID del usuario que creó el lote.

Cargar archivos

Ahora que ha creado un lote, puede utilizar el batchId de antes para cargar archivos en el lote. Puede cargar varios archivos en el lote.

Formato de API

PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
Parámetro Descripción
{BATCH_ID} El ID del lote al que desea cargar.
{DATASET_ID} El ID del conjunto de datos de referencia del lote.
{FILE_NAME} Nombre del archivo que desea cargar. Esta ruta de archivo es la ubicación donde se guardará el archivo en el lado del Adobe.

Solicitud

PRECAUCIÓN

Esta API admite la carga de una sola parte. Asegúrese de que el tipo de contenido sea application/octet-stream. No utilice la opción curl -F, ya que el valor predeterminado de la solicitud de varias partes es incompatible con la 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"
Parámetro Descripción
{FILE_PATH_AND_NAME} Ruta de acceso completa y nombre del archivo que está intentando cargar. Esta ruta de archivo es la ruta de archivo local, como Users/sample-user/Downloads/sample.json.

Respuesta

200 OK

Lote completo

Una vez que haya terminado de cargar todas las partes del archivo, tendrá que indicar que los datos se han cargado completamente y que el lote está listo para la promoción.

Formato de API

POST /batches/{BATCH_ID}?action=COMPLETE
Parámetro Descripción
{BATCH_ID} El ID del lote que desea completar.

Solicitud

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}'

Respuesta

200 OK

Apéndice

La siguiente sección contiene información adicional para la ingesta de datos en Experience Platform mediante ingesta por lotes.

Transformación de datos para la ingesta por lotes

Para poder introducir un archivo de datos en Experience Platform, la estructura jerárquica del archivo debe cumplir con el esquema Experience Data Model (XDM) asociado con el conjunto de datos que se está cargando en.

Puede encontrar información sobre cómo asignar un archivo CSV para cumplir con un esquema XDM en el documento transformaciones de ejemplo, junto con un ejemplo de archivo de datos JSON con formato correcto. Los archivos de muestra proporcionados en el documento se pueden encontrar aquí:

En esta página