Criar um novo trabalho de exportação
Você pode criar um novo trabalho de exportação fazendo uma solicitação POST para o ponto de extremidade /export/jobs
.
Formato da API
POST /export/jobs
Solicitação
A solicitação a seguir cria um novo trabalho de exportação, configurado pelos parâmetros fornecidos na carga.
Um exemplo de solicitação para criar um trabalho de exportação.
curl -X POST https://platform.adobe.io/data/core/ups/export/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"fields": "identities.id,personalEmail.address",
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status": [
"realized"
]
}
],
"segmentQualificationTime": {
"startTime": "2018-01-01T00:00:00Z",
"endTime": "2018-02-01T00:00:00Z"
},
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"emptyProfiles": true
},
"additionalFields": {
"eventList": {
"fields": "string",
"filter": {
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"toIngestTimestamp": "2020-01-01T00:00:00Z"
}
}
},
"destination":{
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false
},
"schema":{
"name": "_xdm.context.profile"
},
"evaluationInfo": {
"segmentation": true
}
}'
Propriedade | Descrição |
---|---|
fields | Uma lista dos campos exportados, separados por vírgulas. Se deixado em branco, todos os campos serão exportados. |
mergePolicy | Especifica a política de mesclagem para controlar os dados exportados. Inclua esse parâmetro quando houver vários segmentos sendo exportados. Se não for fornecido, a exportação seguirá a mesma política de mesclagem que o segmento fornecido. |
filter | Um objeto que especifica os segmentos que serão incluídos no trabalho de exportação por ID, tempo de qualificação ou tempo de assimilação, dependendo das subpropriedades listadas abaixo. Se deixado em branco, todos os dados serão exportados. |
filter.segments |
Especifica os segmentos a serem exportados. A omissão desse valor resultará na exportação de todos os dados de todos os perfis. Aceita uma matriz de objetos de segmento, cada um contendo os seguintes campos:
|
filter.segmentQualificationTime | Filtrar com base no tempo de qualificação do segmento. A hora de início e/ou de término pode ser fornecida. |
filter.segmentQualificationTime.startTime | Hora de início da qualificação de segmento para uma ID de segmento para um determinado status. Se não for fornecido, não haverá filtro na hora de início para uma qualificação de ID de segmento. O carimbo de data/hora deve ser fornecido no formato RFC 3339. |
filter.segmentQualificationTime.endTime | Hora de término da qualificação de segmento para uma ID de segmento para um determinado status. Se não for fornecido, não haverá filtro na hora de término para uma qualificação de ID de segmento. O carimbo de data/hora deve ser fornecido no formato RFC 3339. |
filter.fromIngestTimestamp |
Limita os perfis exportados para incluir apenas aqueles que foram atualizados após esse carimbo de data e hora. O carimbo de data/hora deve ser fornecido no formato RFC 3339.
|
filter.emptyProfiles | Um valor booleano que indica se os perfis vazios devem ser filtrados. Os perfis podem conter registros de perfil, registros ExperienceEvent ou ambos. Perfis sem registros de perfil e somente registros ExperienceEvent são chamados de "emptyProfiles". Para exportar todos os perfis no repositório de perfis, incluindo o "emptyProfiles", defina o valor de emptyProfiles como true . Se emptyProfiles estiver definido como false , somente perfis com registros de perfil no armazenamento serão exportados. Por padrão, se o atributo emptyProfiles não for incluído, somente os perfis que contêm registros de perfil serão exportados. |
additionalFields.eventList |
Controla os campos de evento de série temporal exportados para objetos filho ou associados fornecendo uma ou mais das seguintes configurações:
|
destination |
(Obrigatório) Informações sobre os dados exportados:
|
schema.name | (Obrigatório) O nome do esquema associado ao conjunto de dados para o qual os dados devem ser exportados. |
evaluationInfo.segmentation | (Opcional) Um valor booliano que, se não for fornecido, assumirá false como padrão. Um valor de true indica que a segmentação precisa ser feita no trabalho de exportação. |
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes do trabalho de exportação recém-criado.
Um exemplo de resposta ao criar um trabalho de exportação.
{
"id": 100,
"jobType": "BATCH",
"destination": {
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false,
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
"fields": "identities.id,personalEmail.address",
"schema": {
"name": "_xdm.context.profile"
},
"imsOrgId": "{ORG_ID}",
"status": "NEW",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status": [
"realized"
]
}
],
"segmentQualificationTime": {
"startTime": "2018-01-01T00:00:00Z",
"endTime": "2018-02-01T00:00:00Z"
},
"fromIngestTimestamp": "2018-01-01T00:00:00Z",
"emptyProfiles": true
},
"additionalFields": {
"eventList": {
"fields": "_id, _experience",
"filter": {
"fromIngestTimestamp": "2018-01-01T00:00:00Z"
}
}
},
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"profileInstanceId": "ups",
"metrics": {
"totalTime": {
"startTimeInMs": 123456789000,
}
},
"computeGatewayJobId": {
"exportJob": ""
},
"creationTime": 1538615973895,
"updateTime": 1538616233239,
"requestId": "d995479c-8a08-4240-903b-af469c67be1f"
}
Propriedade | Descrição |
---|---|
id | Um valor somente leitura gerado pelo sistema identificando o trabalho de exportação que acabou de ser criado. |
Como alternativa, se destination.segmentPerBatch
tivesse sido definido como true
, o objeto destination
acima teria uma matriz batches
, como mostrado abaixo:
"destination": {
"dataSetId": "{DATASET_ID}",
"segmentPerBatch": true,
"batches": [
{
"segmentId": "segment1",
"segmentNs": "ups",
"status": ["realized"],
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
{
"segmentId": "segment2",
"segmentNs": "AdCloud",
"status": "exited",
"batchId": "df4gssdfb93a09f7e37fa53ad52"
}
]
}
Recuperar um trabalho de exportação específico
Você pode recuperar informações detalhadas sobre um trabalho de exportação específico fazendo uma solicitação GET para o ponto de extremidade /export/jobs
e fornecendo a ID do trabalho de exportação que deseja recuperar no caminho da solicitação.
Formato da API
GET /export/jobs/{EXPORT_JOB_ID}
Parâmetro | Descrição |
---|---|
{EXPORT_JOB_ID} | O id do trabalho de exportação que você deseja acessar. |
Solicitação
Uma solicitação de amostra para recuperar um trabalho de exportação.
curl -X GET https://platform.adobe.io/data/core/ups/export/jobs/11037 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas sobre o trabalho de exportação especificado.
Um exemplo de resposta ao recuperar um trabalho de exportação.
{
"id": 11037,
"jobType": "BATCH",
"destination": {
"datasetId": "5b7c86968f7b6501e21ba9df",
"segmentPerBatch": false,
"batchId": "da5cfb4de32c4b93a09f7e37fa53ad52"
},
"fields": "identities.id,personalEmail.address",
"schema": {
"name": "_xdm.context.profile"
},
"imsOrgId": "{ORG_ID}",
"status": "SUCCEEDED",
"filter": {
"segments": [
{
"segmentId": "52c26d0d-45f2-47a2-ab30-ed06abc981ff",
"segmentNs": "ups",
"status":[
"realized"
]
}
]
},
"mergePolicy": {
"id": "timestampOrdered-none-mp",
"version": 1
},
"profileInstanceId": "ups",
"metrics": {
"totalTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"profileExportTime": {
"startTimeInMs": 123456789000,
"endTimeInMs": 123456799000,
"totalTimeInMs": 10000
},
"totalExportedProfileCounter": 20,
"exportedProfileByNamespaceCounter": {
"namespace1": 10,
"namespace2": 5
}
},
"computeGatewayJobId": {
"exportJob": "f3058161-7349-4ca9-807d-212cee2c2e94"
},
"creationTime": 1538615973895,
"updateTime": 1538616233239,
"requestId": "d995479c-8a08-4240-903b-af469c67be1f"
}
Propriedade | Descrição |
---|---|
destination |
Informações de destino dos dados exportados:
|
fields | Uma lista dos campos exportados, separados por vírgulas. |
schema.name | O nome do esquema associado ao conjunto de dados para o qual os dados devem ser exportados. |
filter.segments |
Os segmentos que são exportados. Os seguintes campos estão incluídos:
|
mergePolicy | Informações de política de mesclagem para os dados exportados. |
metrics.totalTime | Um campo que indica o tempo total que o trabalho de exportação levou para ser executado. |
metrics.profileExportTime | Um campo que indica o tempo necessário para os perfis serem exportados. |
totalExportedProfileCounter | O número total de perfis exportados em todos os lotes. |