이 페이지에서는 페이로드 래핑 해제 문제를 해결하는 방법을 보여줍니다.
HTTP 상태 코드 오류
페이로드 래핑 해제를 사용할 때 일반적인 HTTP 상태 코드 오류가 발생할 수 있습니다.
push_request_count
측정항목을 사용하여 오류를 모니터링할 수 있습니다.
400 잘못된 요청
다음 오류는 잘못된 구성 또는 데이터 누락으로 인해 Pub/Sub에서 요청을 처리할 수 없을 때 발생합니다.
400 Bad Request
이 오류는 여러 이유로 발생합니다. 이 오류의 가장 일반적인 원인은 다음과 같습니다.
- 페이로드(메시지 데이터)가 HTTP 엔드포인트에서 지정된 예상 요청 형식과 일치하지 않습니다.
- 요청을 처리하는 데 필요한 헤더가 누락되었습니다.
- 구독에 잘못된 HTTP 엔드포인트가 구성되어 있습니다.
이 문제를 해결하려면 다음 솔루션을 시도해 보세요.
- 페이로드의(메시지 데이터) 형식을 확인합니다. HTTP 엔드포인트에서 지정된 예상 요청 형식과 일치하는지 확인합니다.
- 요청에 필요한 헤더가 있는지 확인합니다. 헤더가 없는 경우 메시지 속성에 헤더를 추가해야 할 수도 있습니다. 예시로는
Content-Type
이 포함될 수 있지만 다른 항목도 필요할 수 있습니다. - 구독에 구성된 HTTP 엔드포인트가 유효한지 확인합니다.
- 푸시 구독에서 데드 레터 큐(DLQ)를 사용 설정합니다. 이렇게 하면 전송할 수 없는 개별 메시지가 리디렉션됩니다. 검사할 400 오류 수가 적은 경우 DLQ를 사용 설정하는 것이 유용합니다.
401 승인되지 않음 / 403 금지됨
잘못되었거나 유효하지 않은 사용자 인증 정보로 인해 Pub/Sub가 요청을 처리할 수 없을 때 다음 오류가 발생합니다.
401 unauthorized / 403 forbidden
이 오류는 푸시 구독이 인증되지 않았기 때문에 발생합니다.
이 문제를 해결하려면 다음 솔루션을 시도해 보세요.
푸시 인증을 사용 설정합니다. Cloud Run 또는 App Engine과 통합하는 경우 푸시 인증을 사용하는 것이 중요합니다.
푸시 인증이 솔루션에서 작동하지 않으면 게시 메시지 속성에 자체 승인 키 또는 API 키를 추가해야 할 수 있습니다.
415 지원되지 않는 미디어 유형
페이로드 형식이 지원되지 않는 형식이기 때문에 Pub/Sub에서 요청을 처리할 수 없으면 다음 오류가 발생합니다.
415 Unsupported Media Type
이 오류는 여러 이유로 발생합니다. 이 오류의 가장 일반적인 원인은 다음과 같습니다.
- 엔드포인트에 필수 미디어 유형 헤더가 없습니다.
이 문제를 해결하려면 다음 솔루션을 시도해 보세요.
- 엔드포인트에
Content-Type
헤더가 필요할 가능성이 높습니다. 기본적으로 페이로드 래핑 해제는 미디어 유형 헤더를 설정하지 않습니다.Content-Type
헤더를 게시 메시지 속성으로 연결하여 설정할 수 있습니다.
431 요청 헤더 필드가 너무 큼 / 413 콘텐츠가 너무 큼
요청에서 전송한 콘텐츠가 너무 커서 Pub/Sub에서 요청을 처리할 수 없으면 다음 오류가 발생합니다.
431 request header fields too Large / 413 content too large
이 오류는 Pub/Sub 메시지의 속성이 서버의 헤더 크기 한도를 초과하는 경우에 발생합니다.
이 문제를 해결하려면 다음 솔루션을 시도해 보세요.
- 메타데이터 쓰기를 사용 중지합니다.
- 푸시 구독에서 데드 레터 큐(DLQ)를 사용 설정합니다. 이렇게 하면 전송할 수 없는 개별 메시지가 리디렉션됩니다. 그 후에는 구독이 계속 작동하지만 추가 분석을 위해 오류가 있는 메시지가 별도의 주제로 리디렉션됩니다.
페이로드 래핑 해제가 사용 설정되었는지 확인
Google Cloud 콘솔에서 구독 페이지로 이동합니다.
서비스의 이름을 클릭합니다.
서비스 세부정보 페이지가 열립니다.
구성 테이블에서 메시지 데이터 래핑 해제 및 메시지 메타데이터 쓰기 값을 찾습니다.
페이로드 래핑 상태(사용 설정 또는 중지)가 해당 테이블 행에 표시됩니다.
다음 단계
- 페이로드 래핑 해제 문제가 계속되면 지원 받기를 참조하세요.