오류 처리
개요 overview
Adobe Experience Platform Edge Network Server API의 API 오류는 내부(Edge Network 자체) 또는 외부(입력, 구성 또는 업스트림 관련) 등 다양한 원인이 있을 수 있습니다.
오류 유형 error-types
RequestProcessingError
500
InputError
4xx
ConfigurationError
422
UpstreamError
207 Multi-Status
심각도
서버 API 오류는 심각도로 분할할 수도 있습니다.
- 치명적인 오류 디스패치 파이프라인이 중단됩니다.
- 치명적이지 않은 오류 은(는) 요청 처리를 계속할 수 있도록 하는 동안 부분 처리를 시그널링할 수 있습니다.
- 이 경우 요청의 전체 상태 코드가 다음으로 변경됩니다.
207 Multi-Status
.
- 이 경우 요청의 전체 상태 코드가 다음으로 변경됩니다.
RequestProcessingError
InputError
ConfigurationError
UpstreamError
치명적인 오류 fatal-errors
치명적인 오류로 인해 요청 처리가 중지되고 2xx 이외의 응답 상태가 반환됩니다. 다음을 확인하십시오. 오류 유형 섹션에 각 오류 유형에 해당하는 예상 상태 코드를 표시합니다.
오류에는 오류 개체가 포함된 응답 본문이 함께 표시됩니다. 이 경우 응답 본문에 정의된 문제 세부 정보가 포함됩니다. RFC 7807 HTTP API에 대한 문제 세부 정보.
반환된 콘텐츠 유형은 다음과 같습니다. application/problem+json
미디어 유형. 존재하는 경우 이 응답에는 오류와 관련하여 기계가 읽을 수 있는 세부 정보가 포함됩니다. 문제 세부 정보에 URI 유형이 포함됩니다.
모든 오류 개체에는 type
, status
, title
, detail
및 report
api 클라이언트가 문제가 무엇인지 알 수 있도록 메시지 속성.
type
https://ns.adobe.com/aep/errors/<ERROR-CODE>
.status
title
detail
report
{
"type":"https://ns.adobe.com/aep/errors/EXEG-0104-422",
"status":422,
"title":"Unprocessable entity",
"detail":"Invalid request (report attached). Please check your input and try again.",
"report":{
"errors":[
"Allowed Adobe version is 1.0 for standard 'Adobe' at index 0",
"Allowed IAB version is 2.0 for standard 'IAB TCF' at index 1",
"IAB consent string value must not be empty for standard 'IAB TCF' at index 1"
],
"requestId":"0f8821e5-ed1a-4301-b445-5f336fb50ee8",
"orgId":"53A16ACB5CC1D3760A495C99@AdobeOrg"
}
}
치명적이지 않은 오류 non-fatal-errors
치명적이지 않은 오류는 다음으로 분류될 수 있습니다.
- 오류: 요청을 처리하는 동안 발생했지만 전체 요청이 거부되지 않은 문제(예: 중요하지 않은 업스트림 실패).
- 경고: 요청의 일부 처리가 발생했음을 알릴 수 있는 업스트림 서비스의 메시지.
치명적이지 않은 오류(경고 제외)가 발생하면 Server API 응답 상태를 다음으로 변경 207 Multi-Status
.
반면 경고는 일반적으로 요청에 완전히 영향을 주지 않는 일시적인 상태를 나타내므로 대부분 정보입니다. 여기 한 가지 예는 세그먼테이션 엔진에서 읽은 부분 프로필이며, 이 경우 정확도는 어느 정도 영향을 받지만 기능은 계속 전달됩니다.
치명적이지 않은 오류는 문제 세부 정보 형식을 지정하지만, 유형이 인 Edge Gateway의 표준 응답에 직접 포함됩니다. application/json
.
{
"requestId": "72eaa048-207e-4dde-bf16-0cb2b21336d5",
"handle": [
],
"errors": [
{
"type": "https://ns.adobe.com/aep/errors/EXEG-0201-503",
"status": 503,
"title": "The 'com.adobe.experience.platform.ode' service is temporarily unable to serve this request. Please try again later."
}
],
"warnings": [
{
"type": "https://ns.adobe.com/aep/errors/EXEG-0204-200",
"status": 200,
"title": "A warning occurred while calling the 'com.adobe.audiencemanager' service for this request.",
"report": {
"cause": {
"message": "Cannot read related customer for device id: ...",
"code": 202
}
}
}
]
}
처리 4xx
및 5xx
응답
4xx Bad Request
4xx
400, 403, 404와 같은 오류는 클라이언트를 대신하여 재시도하면 안 됩니다. 단, 429
. 이는 클라이언트 오류이며 성공하지 못합니다. 클라이언트는 요청을 다시 시도하기 전에 오류를 해결해야 합니다.429 Too Many Requests
429
HTTP 응답 코드는 Adobe Experience Platform Edge Network 또는 업스트림 서비스가 요청을 제한하고 있음을 나타냅니다. 이 경우 이러한 시나리오에서는 호출자가 다음을 준수해야 합니다. Retry-After
응답 헤더. 뒤로 흐르는 모든 응답은 도메인별 오류 코드와 함께 HTTP 응답 코드를 전달해야 합니다.500 Internal Server Error
500
오류는 일반적인 catch-all 오류입니다. 500
오류는 재시도하지 않아야 합니다. 단, 502
및 503
. 중개인은 다음으로 응답해야 함: 500
일반적인 오류 코드/메시지 또는 더 많은 도메인별 오류 코드/메시지로 응답할 수 있습니다.502 Bad Gateway
502
잠시 후 오류가 요청을 다시 시도할 수 있습니다.503 Service Unavailable
503
오류는 요청을 다시 시도할 수 있지만 은(는) 다음을 준수해야 합니다. Retry-After
머리글입니다.504 Gateway Timeout