데이터 액세스 API를 사용하여 실패한 일괄 처리 검색

마지막 업데이트: 2023-05-24
  • 작성 대상:
  • Developer
    User
    Admin
    Leader

Adobe Experience Platform은 데이터를 업로드하고 수집하는 두 가지 방법을 제공합니다. 다양한 파일 유형(예: CSV)을 사용하여 데이터를 삽입할 수 있는 일괄 처리 수집이나 데이터를 삽입할 수 있는 스트리밍 수집을 사용할 수 있습니다. Platform 실시간으로 스트리밍 엔드포인트 사용.

이 자습서에서는 을 사용하여 실패한 배치에 대한 정보를 검색하는 단계를 다룹니다. Data Ingestion API.

시작하기

이 안내서를 사용하려면 Adobe Experience Platform의 다음 구성 요소에 대해 이해하고 있어야 합니다.

샘플 API 호출 읽기

이 튜토리얼에서는 요청 형식을 지정하는 방법을 보여 주는 예제 API 호출을 제공합니다. 여기에는 경로, 필수 헤더 및 적절한 포맷의 요청 페이로드가 포함됩니다. API 응답에서 반환되는 샘플 JSON도 제공됩니다. 샘플 API 호출에 대한 설명서에 사용되는 규칙에 대한 자세한 내용은 의 섹션을 참조하십시오. 예제 API 호출을 읽는 방법 다음에서 Experience Platform 문제 해결 가이드.

필수 헤더에 대한 값 수집

을 호출하기 위해 Platform API, 먼저 다음을 완료해야 합니다. 인증 자습서. 인증 자습서를 완료하면 모든 항목에서 필요한 각 헤더에 대한 값이 제공됩니다 Experience Platform 아래와 같이 API 호출:

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

의 모든 리소스 Experience Platform, 다음에 속하는 항목 포함 Schema Registry는 특정 가상 샌드박스로 분리됩니다. 에 대한 모든 요청 Platform API에는 작업이 수행될 샌드박스의 이름을 지정하는 헤더가 필요합니다.

  • x-sandbox-name: {SANDBOX_NAME}
노트

의 샌드박스에 대한 자세한 내용 Platform, 다음을 참조하십시오. 샌드박스 개요 설명서.

페이로드(POST, PUT, PATCH)가 포함된 모든 요청에는 추가 헤더가 필요합니다.

  • Content-Type: application/json

샘플 일괄 처리 실패

이 자습서에서는 달의 값을 로 설정하는 형식이 잘못된 타임스탬프가 있는 샘플 데이터를 사용합니다. 00​아래에 표시된 대로 :

{
    "body": {
        "xdmEntity": {
            "id": "c8d11988-6b56-4571-a123-b6ce74236036",
            "timestamp": "2018-00-10T22:07:56Z",
            "environment": {
                "browserDetails": {
                    "userAgent": "Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/29.0.1547.57 Safari\/537.36 OPR\/16.0.1196.62",
                    "acceptLanguage": "en-US",
                    "cookiesEnabled": true,
                    "javaScriptVersion": "1.6",
                    "javaEnabled": true
                },
                "colorDepth": 32,
                "viewportHeight": 799,
                "viewportWidth": 414
            }
        }
    }
}

잘못된 타임스탬프로 인해 위의 페이로드가 XDM 스키마에 대해 제대로 확인되지 않습니다.

실패한 일괄 처리 검색

API 형식

GET /batches/{BATCH_ID}/failed
속성 설명
{BATCH_ID} 조회 중인 배치 ID입니다.

요청

curl -X GET 'https://platform.adobe.io/data/foundation/export/batches/{BATCH_ID}/failed' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Cache-Control: no-cache' \
  -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}'

응답

{
    "data": [
        {
            "name": "_SUCCESS",
            "length": "0",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io:443/data/foundation/export/batches/{BATCH_ID}/failed?path=_SUCCESS"
                }
            }
        },
        {
            "name": "part-00000-44c7b669-5e38-43fb-b56c-a0686dabb982-c000.json",
            "length": "1800",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io:443/data/foundation/export/batches/{BATCH_ID}/failed?path=part-00000-44c7b669-5e38-43fb-b56c-a0686dabb982-c000.json"
                }
            }
        }
    ],
    "_page": {
        "limit": 100,
        "count": 2
    }
}

위의 응답을 사용하여 성공한 일괄 처리의 청크와 실패한 청크를 확인할 수 있습니다. 이 응답에서 파일이 part-00000-44c7b669-5e38-43fb-b56c-a0686dabb982-c000.json 실패한 일괄 처리를 포함합니다.

실패한 일괄 처리 다운로드

배치에서 실패한 파일을 알고 있으면 실패한 파일을 다운로드하여 오류 메시지를 확인할 수 있습니다.

API 형식

GET /batches/{BATCH_ID}/failed?path={FAILED_FILE}
속성 설명
{BATCH_ID} 실패한 파일이 포함된 배치의 ID입니다.
{FAILED_FILE} 서식이 실패한 파일의 이름입니다.

요청

다음 요청을 사용하면 수집 오류가 발생한 파일을 다운로드할 수 있습니다.

curl -X GET 'https://platform.adobe.io/data/foundation/export/batches/{BATCH_ID}/failed?path={FAILED_FILE}' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

응답

이전에 수집된 배치에 잘못된 날짜-시간이 있으므로 다음 유효성 검사 오류가 표시됩니다.

{
    "_validationErrors": [
        {
            "causingExceptions": [],
            "keyword": "format",
            "message": "[2018-00-23T22:07:01Z] is not a valid date-time. Expected [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1-9}Z, yyyy-MM-dd'T'HH:mm:ss[+-]HH:mm, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,9}[+-]HH:mm]",
            "pointerToViolation": "#/timestamp",
            "schemaLocation": "#/properties/timestamp"
        }
    ]
}

다음 단계

이 자습서를 읽은 후 실패한 배치에서 오류를 검색하는 방법을 배웠습니다. 일괄 처리에 대한 자세한 내용은 일괄 처리 수집 개발자 안내서. 스트리밍 수집에 대한 자세한 내용은 스트리밍 연결 자습서 만들기.

부록

이 섹션에는 발생할 수 있는 다른 수집 오류 유형에 대한 정보가 포함되어 있습니다.

잘못된 형식의 XDM

이전 예제 흐름의 타임스탬프 오류와 마찬가지로 이러한 오류는 잘못된 형식의 XDM으로 인해 발생합니다. 이러한 오류 메시지는 문제의 특성에 따라 달라집니다. 따라서 구체적인 오류 예는 표시되지 않습니다.

누락되었거나 잘못된 조직 ID

이 오류는 조직 ID가 페이로드에서 누락된 경우 표시됩니다.

{
    "type": "http://ns.adobe.com/adobecloud/problem/data-collection-service/inlet",
    "status": 400,
    "title": "Invalid XDM Message Format",
    "report": {
        "message": "inletId: [{INLET_ID}] imsOrgId: [{ORG_ID}@AdobeOrg] Message has an absent or wrong ims org in the header"
    }
}

XDM 스키마 누락

다음 경우에 이 오류가 표시됩니다. schemaRef 대상: xdmMeta 누락되었습니다.

{
    "type": "http://ns.adobe.com/adobecloud/problem/data-collection-service/inlet",
    "status": 400,
    "title": "Invalid XDM Message Format",
    "report": {
        "message": "inletId: [{INLET_ID}] imsOrgId: [{ORG_ID}@AdobeOrg] Message has unknown xdm format"
    }
}

소스 이름 누락

다음 경우에 이 오류가 표시됩니다. source 헤더에 이(가) 없습니다. name.

{
    "_errors":{
        "_streamingValidation": [
            {
                "message": "Payload header is missing Source Name"
            }
        ]
    }
}

XDM 엔티티 누락

이 오류가 없으면 이 오류가 표시됩니다. xdmEntity 있음.

{
    "_validationErrors": [
        {
            "message": "Payload body is missing xdmEntity"
        }
    ]
}

이 페이지에서는