일괄 처리 수집 개발자 안내서
이 문서에서는 사용에 대한 포괄적인 안내서를 제공합니다 일괄 처리 수집 API 엔드포인트 Adobe Experience Platform. 사전 요구 사항 및 모범 사례를 포함하여 일괄 처리 수집 API에 대한 개요를 알려면 다음 문서를 읽는 것부터 시작하십시오. 일괄 처리 수집 API 개요.
이 문서의 부록에서는 다음에 대한 정보를 제공합니다. 수집에 사용할 데이터 서식 지정샘플 CSV 및 JSON 데이터 파일을 포함합니다.
시작하기
이 안내서에 사용된 API 엔드포인트는 일괄 처리 수집 API. 지원되는 객체 유형에 대해 기본 CRUD 작업을 수행할 수 있는 RESTful API를 통해 일괄 수집이 제공됩니다.
계속하기 전에 다음을 검토하십시오. 일괄 처리 수집 API 개요 및 시작 안내서.
JSON 파일 수집
일괄 처리 만들기
먼저 JSON을 입력 형식으로 한 일괄 처리를 만들어야 합니다. 배치를 생성할 때 데이터 세트 ID를 제공해야 합니다. 또한 배치의 일부로 업로드된 모든 파일이 제공된 데이터 세트에 연결된 XDM 스키마를 준수하는지 확인해야 합니다.
isMultiLineJson
플래그를 설정해야 합니다. 자세한 내용은 다음을 참조하십시오. 일괄 처리 수집 문제 해결 안내서.API 형식
POST /batches
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "json"
}
}'
{DATASET_ID}
응답
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
파일 업로드
배치를 만들었으므로 이제 배치 생성 응답의 배치 ID를 사용하여 파일을 배치에 업로드할 수 있습니다. 여러 파일을 배치에 업로드할 수 있습니다.
API 형식
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.json"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.응답
200 OK
일괄 처리 완료
파일의 여러 부분을 모두 업로드했으면 데이터가 완전히 업로드되었음을 알리고 배치를 승격할 준비가 되었음을 표시해야 합니다.
API 형식
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
Parquet 파일 수집 ingest-parquet-files
일괄 처리 만들기
먼저 Parquet를 입력 형식으로 하여 일괄 처리를 만들어야 합니다. 배치를 생성할 때 데이터 세트 ID를 제공해야 합니다. 또한 배치의 일부로 업로드된 모든 파일이 제공된 데이터 세트에 연결된 XDM 스키마를 준수하는지 확인해야 합니다.
요청
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: {ORG_ID}" \
-H "x-api-key: {API_KEY}" \
-H "x-sandbox-name: {SANDBOX_NAME}"
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "parquet"
}
}'
{DATASET_ID}
응답
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
파일 업로드
일괄 처리를 만들었으므로 batchId
을 눌러 파일을 배치에 업로드합니다. 여러 파일을 배치에 업로드할 수 있습니다.
API 형식
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.parquet"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.parquet
.응답
200 OK
일괄 처리 완료
파일의 여러 부분을 모두 업로드했으면 데이터가 완전히 업로드되었음을 알리고 배치를 승격할 준비가 되었음을 표시해야 합니다.
API 형식
POST /batches/{BATCH_ID}?action=complete
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
큰 Parquet 파일 수집
일괄 처리 만들기
먼저 Parquet를 입력 형식으로 하여 일괄 처리를 만들어야 합니다. 배치를 생성할 때 데이터 세트 ID를 제공해야 합니다. 또한 배치의 일부로 업로드된 모든 파일이 제공된 데이터 세트에 연결된 XDM 스키마를 준수하는지 확인해야 합니다.
API 형식
POST /batches
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "parquet"
}
}'
{DATASET_ID}
응답
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
대용량 파일 초기화
일괄 처리를 작성한 후 일괄 처리에 청크를 업로드하기 전에 큰 파일을 초기화해야 합니다.
API 형식
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
201 Created
큰 파일 청크 업로드
이제 파일이 생성되었으므로 파일의 각 섹션에 대해 하나씩 반복된 PATCH 요청을 수행하여 모든 후속 청크를 업로드할 수 있습니다.
API 형식
PATCH /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.parquet"
{CONTENT_RANGE}
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.응답
200 OK
전체 대형 파일
일괄 처리를 만들었으므로 batchId
을 눌러 파일을 배치에 업로드합니다. 여러 파일을 배치에 업로드할 수 있습니다.
API 형식
POST /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
201 Created
일괄 처리 완료
파일의 여러 부분을 모두 업로드했으면 데이터가 완전히 업로드되었음을 알리고 배치를 승격할 준비가 되었음을 표시해야 합니다.
API 형식
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
CSV 파일 수집
CSV 파일을 수집하려면 CSV를 지원하는 클래스, 스키마 및 데이터 세트를 만들어야 합니다. 필요한 클래스 및 스키마를 만드는 방법에 대한 자세한 내용은 임시 스키마 만들기 자습서.
데이터 세트 만들기
위의 지침에 따라 필요한 클래스와 스키마를 만든 후에는 CSV를 지원할 수 있는 데이터 세트를 만들어야 합니다.
API 형식
POST /catalog/dataSets
요청
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: {ORG_ID}' \
-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"
}
}'
{TENANT_ID}
{SCHEMA_ID}
일괄 처리 만들기
그런 다음 CSV를 입력 형식으로 사용하여 일괄 처리를 만들어야 합니다. 배치를 생성할 때 데이터 세트 ID를 제공해야 합니다. 또한 배치의 일부로 업로드된 모든 파일이 제공된 데이터 세트에 연결된 스키마를 준수하는지 확인해야 합니다.
API 형식
POST /batches
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "csv"
}
}'
{DATASET_ID}
응답
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"updated": 0,
"status": "loading",
"created": 0,
"relatedObjects": [
{
"type": "dataSet",
"id": "{DATASET_ID}"
}
],
"version": "1.0.0",
"tags": {},
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
파일 업로드
일괄 처리를 만들었으므로 batchId
을 눌러 파일을 배치에 업로드합니다. 여러 파일을 배치에 업로드할 수 있습니다.
API 형식
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.csv"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.csv
.응답
200 OK
일괄 처리 완료
파일의 여러 부분을 모두 업로드했으면 데이터가 완전히 업로드되었음을 알리고 배치를 승격할 준비가 되었음을 표시해야 합니다.
API 형식
POST /batches/{BATCH_ID}?action=COMPLETE
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
일괄 처리 취소
일괄 처리를 처리하는 동안 취소할 수 있습니다. 하지만 일괄 처리가 완료되면(예: 성공 또는 실패 상태) 일괄 처리를 취소할 수 없습니다.
API 형식
POST /batches/{BATCH_ID}?action=ABORT
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
일괄 처리 삭제 delete-a-batch
로 다음 POST 요청을 수행하여 배치를 삭제할 수 있습니다. action=REVERT
쿼리 매개 변수를 삭제하려는 배치의 ID로 바꿉니다. 배치가 "비활성"으로 표시되어 가비지 수집에 적합합니다. 배치는 비동기적으로 수집되며, 이 때 "삭제됨"으로 표시됩니다.
API 형식
POST /batches/{BATCH_ID}?action=REVERT
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
일괄 처리 패치
조직의 프로필 스토어에서 데이터를 업데이트해야 하는 경우가 있습니다. 예를 들어 레코드를 수정하거나 속성 값을 변경해야 할 수 있습니다. Adobe Experience Platform은 업데이트 작업 또는 "일괄 패치 작업"을 통해 프로필 스토어 데이터의 업데이트 또는 패치를 지원합니다.
배치를 패치하려면 다음 조건을 충족해야 합니다.
- 프로필 및 속성 업데이트에 대해 활성화된 데이터 세트입니다. 이 작업은 데이터 세트 태그를 통해 수행되며
isUpsert:true
태그에 추가할 태그unifiedProfile
배열입니다. 데이터 세트를 만들거나 업데이트할 기존 데이터 세트를 구성하는 방법을 보여 주는 자세한 단계는 프로필 업데이트를 위한 데이터 세트 활성화. - 패치할 필드와 프로필의 ID 필드가 포함된 Parquet 파일입니다. 배치 패치를 위한 데이터 형식은 일반 배치 수집 프로세스와 유사합니다. 필요한 입력은 Parquet 파일이며 업데이트할 필드 외에도 프로필 스토어의 데이터와 일치시키기 위해 업로드된 데이터에는 ID 필드가 포함되어야 합니다.
프로필 및 업데이트에 대한 데이터 세트가 활성화되고, 패치할 필드와 필수 ID 필드가 포함된 Parquet 파일이 생성되면 다음 단계를 따를 수 있습니다. Parquet 파일 수집 일괄 처리 수집을 통해 패치를 완료하려면
배치 재생
이미 수집된 배치를 바꾸려면 "배치 재생"을 사용합니다. 이 작업은 이전 배치를 삭제하고 대신 새 배치를 수집하는 것과 같습니다.
일괄 처리 만들기
먼저 JSON을 입력 형식으로 한 일괄 처리를 만들어야 합니다. 배치를 생성할 때 데이터 세트 ID를 제공해야 합니다. 또한 배치의 일부로 업로드된 모든 파일이 제공된 데이터 세트에 연결된 XDM 스키마를 준수하는지 확인해야 합니다. 또한 이전 배치를 재생 섹션에 참조로 제공해야 합니다. 아래 예에서는 ID가 있는 배치를 재생하고 있습니다 batchIdA
및 batchIdB
.
API 형식
POST /batches
요청
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: {ORG_ID}' \
-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"
}
}'
{DATASET_ID}
응답
201 Created
{
"id": "{BATCH_ID}",
"imsOrg": "{ORG_ID}",
"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}"
}
{BATCH_ID}
{DATASET_ID}
{USER_ID}
파일 업로드
일괄 처리를 만들었으므로 batchId
을 눌러 파일을 배치에 업로드합니다. 여러 파일을 배치에 업로드할 수 있습니다.
API 형식
PUT /batches/{BATCH_ID}/datasets/{DATASET_ID}/files/{FILE_NAME}
{BATCH_ID}
{DATASET_ID}
{FILE_NAME}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
--data-binary "@{FILE_PATH_AND_NAME}.json"
{FILE_PATH_AND_NAME}
acme/customers/campaigns/summer.json
.응답
200 OK
일괄 처리 완료
파일의 여러 부분을 모두 업로드했으면 데이터가 완전히 업로드되었음을 알리고 배치를 승격할 준비가 되었음을 표시해야 합니다.
API 형식
POST /batches/{BATCH_ID}?action=COMPLETE
{BATCH_ID}
요청
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
200 OK
부록
다음 섹션에서는 일괄 처리 수집을 사용하여 Experience Platform에서 데이터를 수집하기 위한 추가 정보를 제공합니다.
일괄 처리 수집을 위한 데이터 변환
데이터 파일을에 수집하려면 Experience Platform, 파일의 계층 구조는 경험 데이터 모델(XDM) 업로드 중인 데이터 세트와 연결된 스키마.
XDM 스키마를 준수하도록 CSV 파일을 매핑하는 방법에 대한 정보는 샘플 변형 적절한 포맷의 JSON 데이터 파일의 예와 함께 문서. 문서에 제공된 샘플 파일은 여기에서 찾을 수 있습니다.