XML의 HTTP 상태 및 오류 코드
다음 문서는 Cloud Storage XML API에서 사용되는 오류 메시지 및 상태 코드에 대한 참조 정보를 제공합니다. Cloud Storage JSON API에서 사용되는 오류 메시지 및 상태 코드는 이 페이지를 참조하세요.
오류 응답 형식
Cloud Storage는 표준 HTTP 오류 보고 형식을 사용합니다. 요청이 성공하면 2xx 범위의 HTTP 상태 코드가 반환됩니다. 실패한 요청은 4xx 및 5xx 범위의 상태 코드를 반환합니다. 리디렉션이 필요한 요청은 3xx 범위의 상태 코드를 반환합니다. 오류 응답은 일반적으로 응답 본문에 XML 관련 정보가 포함된 XML 문서를 포함합니다.
다음은 오류 응답의 예시입니다.
HTTP/1.1 409 Conflict Content-Type: application/xml Content-Length: 182 Date: Wed, 03 Mar 2010 00:22:00 GMT Expires: Wed, 03 Mar 2010 00:22:00 GMT Cache-Control: private, max-age=0<?xml version='1.0' encoding='utf-8'?> <Error> <Code>BucketNameUnavailable</Code> <Message> The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again. </Message> </Error>
다음 표에서는 응답 본문에 있는 요소를 설명합니다.
요소 | 설명 |
---|---|
Error |
오류 정보를 표시하는 컨테이너입니다. |
Code |
오류 이름입니다. |
Message |
오류 설명입니다. |
HTTP 상태 및 오류 코드
다음은 Cloud Storage에서 사용하는 HTTP 상태 및 오류 코드에 대한 설명입니다.
301: 영구 이전
오류 이름 | 설명 |
---|---|
영구 리디렉션 | 액세스하려는 버킷을 지정된 엔드포인트를 사용하여 해결해야 합니다. 향후 요청을 모두 이 엔드포인트로 보냅니다. |
304—수정되지 않음
오류 이름 | 설명 |
---|---|
수정되지 않음 | 지정한 조건에 따라 요청한 리소스가 수정되지 않았습니다. |
307—임시 리디렉션
오류 이름 | 설명 |
---|---|
리디렉션 | 임시 리디렉션. |
임시 리디렉션 | DNS가 업데이트되는 동안 버킷으로 리디렉션됩니다. |
308—완료되지 않음
오류 이름 | 설명 |
---|---|
완료되지 않음 | 불완전한 재개 가능한 업로드를 나타내고 Cloud Storage에서 이미 수신한 바이트 범위를 제공합니다. |
400—잘못된 요청
오류 이름 | 설명 |
---|---|
모호한 지원금 | 제공한 이메일 주소가 둘 이상의 계정에 연결되어 있습니다. |
잘못된 다이제스트 | 지정하신 Content-MD5가 YouTube에 접수된 콘텐츠와 일치하지 않습니다. |
CloudKmsBad키 | 잘못된 Cloud KMS 키입니다. |
CloudKmsCannotChangeKeyName | Cloud KMS 키 이름은 변경할 수 없습니다. |
CloudKmsDecryptionKeyNotFound 클래스의 생성자 | 리소스의 Cloud KMS 복호화 키를 찾을 수 없습니다. |
CloudKmsDisabled 키 | Cloud KMS 키가 사용 중지, 폐기 또는 폐기되도록 예약되었습니다. |
CloudKms암호화KeyNotFound | Cloud KMS 암호화 키를 찾을 수 없습니다. |
CloudKmsKeyLocationNotAllowed가 허용되지 않음 | Cloud KMS 키 위치는 허용되지 않습니다. |
사용자 인증 정보가 지원되지 않음 | 이 요청은 사용자 인증 정보를 지원하지 않습니다. |
C일치 불일치 | 지정하신 CRC32C가 Google이 계산한 것과 일치하지 않습니다. |
고객 암호화 알고리즘 무효 | 암호화 알고리즘이 없거나 제공된 알고리즘이 'AE256'이 아닙니다. |
고객 암호화 키 형식이 잘못되었습니다. | 암호화 키가 누락되었거나 Base64로 인코딩되지 않았거나 암호화 알고리즘의 필수 길이를 충족하지 않습니다. |
고객 암호화 키 불일치 | 입력한 암호화 키가 잘못되었습니다. |
고객 암호화 키Sha256IsInvalid | 암호화 키의 SHA256 해시가 없거나 Base64로 인코딩되지 않거나 암호화 키와 일치하지 않습니다. |
DotfulBucketNameNotUnderTld | 지정된 버킷에는 '?'가 포함됩니다. 현재 최상위 최상위 도메인에 있지 않은 경우 |
항목 너무 작음 | 제안된 업로드가 허용되는 최소 객체 크기보다 작습니다. |
항목이 너무 큼 | 제안된 업로드가 허용되는 최대 객체 크기를 초과합니다. |
ExceedHeaderValues 값 | 예상된 여러 HTTP 헤더 값입니다. |
만료된 토큰 | 제공된 토큰이 만료되었습니다. |
불완전한 본문 | Content-Length HTTP 헤더에서 지정된 바이트 수를 제공하지 않았습니다. |
잘못된 요청 파일 오류 | POST에서는 요청당 정확히 하나의 파일을 업로드해야 합니다. |
IllegalEndpoint | 업로드 전용 및 다운로드 전용 엔드포인트는 각각 객체를 업로드하거나 다운로드하는 용도로만 사용할 수 있습니다. |
인라인 데이터 TooLarge | 인라인 데이터가 허용되는 최대 크기를 초과합니다. |
InvalidArgument | 잘못된 인수입니다. |
잘못된 버킷 이름 | 지정된 버킷이 잘못되었습니다. |
잘못된 구성요소 개수 | 합성 요소가 너무 많거나 요청에 너무 적습니다. |
잘못된 Crc | 지정한 CRC32c가 잘못되었습니다. |
잘못된 다이제스트 | 지정한 Content-MD5가 잘못되었습니다. |
InvalidDotfulBucketName | 지정된 버킷에는 '?'가 포함됩니다. 구문적으로는 유효하지 않습니다. |
잘못된 해시 | 지정한 x-goog-hash 헤더가 잘못되었습니다. |
InvalidLocationConstraint | 지정된 위치 제약조건이 잘못되었습니다. Cloud Storage API로 위치를 지정할 수 없습니다. |
잘못된 정책 문서 | 양식의 콘텐츠가 정책 문서에 지정된 조건을 충족하지 않습니다. |
잘못된 StorageClass | 지정한 스토리지 클래스가 잘못되었습니다. |
InvalidLocationConstraintStorageClass 조합 | 지정된 이 위치와 스토리지 클래스의 조합은 지원되지 않습니다. 특히 리전 버킷은 MULTI_REGIONAL 스토리지를 지원하지 않으며 멀티 리전 버킷은 REGIONAL 스토리지를 지원하지 않습니다. |
잘못된 객체 이름 | 지정된 객체 이름이 잘못되었습니다. |
잘못된 TargetBucketForLogging | 로깅을 위한 대상 버킷이 존재하지 않거나 'cloud-storage-analytics@google.com' 그룹에 쓰기 권한을 부여하지 않습니다. 로그 전송 설정을 참조하세요. |
InvalidToken | 제공된 토큰이 잘못되었거나 형식이 잘못되었습니다. |
잘못된 URI | 지정된 URI를 파싱할 수 없습니다. |
키가 너무 김 | 객체 이름이 너무 깁니다. |
잘못된 형식의 ACLError | 제공한 XML 형식이 잘못되었거나 Google의 게시된 스키마의 유효성을 확인하지 못했습니다. |
잘못된 형식의 | HTTP 헤더 값의 형식이 잘못되었습니다. |
잘못된 형식의 POST 요청 | POST 요청 본문이 올바른 멀티파트/form-data가 아닙니다. |
형식이 잘못된 XML | 이 문제는 사용자가 구성에 대해 잘못된 XSD (게시된 XSD를 준수하지 않는 XML)를 보내는 경우에 발생합니다. |
MaxMessageLengthExceeded | 요청이 너무 큽니다. |
MaxPostPreDataLengthExceedError | POST 요청 입력란이 업로드 파일보다 큽니다. |
메타데이터 크기가 너무 큼 | 메타데이터 헤더가 최대 허용 메타데이터 크기를 초과합니다. |
요청 본문 누락 오류 | 이 문제는 사용자가 빈 XML 문서를 요청으로 전송하면 발생합니다. |
보안 헤더 누락 | 요청에 필수 헤더가 누락되었습니다. |
로깅 상태 없음 키 | 키의 로깅 상태 하위 리소스도 없습니다. |
구현되지 않음 | 제공한 헤더 또는 쿼리에서 구현되지 않은 함수를 요청했습니다. |
NoMd5Provided | 요청한 작업에 MD5가 필요하지만 제공되지 않았습니다. |
요청IsMultiPartContent | 버킷 POST는 enclosure-multipart/form-data의 유형이어야 합니다. |
요청 시간 초과 | 서버와의 소켓 연결이 시간 제한 기간 동안 읽기 또는 기록되지 않았습니다. |
리소스 암호화 키-고객 암호화 키 | 리소스는 고객이 제공한 암호화 키로 암호화되었지만 요청에서 제공하지 않았습니다. |
ResourceNotEncryptedWithCustomerEncryptionKey 클래스의 생성자 | 리소스는 고객이 제공한 암호화 키로 암호화되지 않지만 요청에서 제공됩니다. |
보안 연결 필요 | 이 요청을 처리하려면 보안 연결이 필요합니다. |
토큰 새로고침 필요 | 제공된 토큰을 새로고침해야 합니다. |
너무 많음 | 허용된 것보다 많은 버킷을 만들려고 했습니다. |
예상치 못한 콘텐츠 | 이 요청은 콘텐츠를 지원하지 않습니다. |
UnresolvableGrantByEmailAddress | 입력한 이메일 주소가 등록된 계정과 일치하지 않습니다. |
지원되지 않는 Acl | 지정한 ACL은 지원되지 않습니다. Cloud Storage가 지원하는 ACL에 대한 자세한 내용은 액세스 제어를 참조하세요. |
사용자 키(지정된 경우) | 버킷 POST에 지정된 필드 이름이 포함되어야 합니다. 이 필드가 지정되면 필드 순서를 확인하세요. |
사용자 프로젝트 불일치 | 요청에 지정된 사용자 프로젝트가 이전의 관련 요청에 지정된 사용자 프로젝트와 일치하지 않습니다. |
잘못된 사용자 프로젝트 | 요청에 지정된 사용자 프로젝트가 잘못되었습니다. 잘못된 프로젝트 ID이거나 존재하지 않는 프로젝트를 참조하기 때문입니다. |
사용자 프로젝트 누락 | 요청한 버킷에 요청자 지불이 사용 설정되어 있고, 요청자는 버킷 소유자가 아니며, 요청에 사용자 프로젝트가 없습니다. |
401—승인되지 않음
오류 이름 | 설명 |
---|---|
인증 필수 요청자 지불 | 요청자 지불 버킷에 액세스하려면 인증이 필요합니다. |
승인되지 않음 |
Cloud Storage에서 승인되지 않은 요청을 수신했음을 나타냅니다.
|
403: 금지됨
오류 이름 | 설명 |
---|---|
액세스 거부됨 | 액세스가 거부되었습니다. 이는 객체가 실제로 존재하는지 여부와 상관없이 액세스 권한이 없는 모든 객체에 적용됩니다. |
계정 문제 | Google 계정에 문제가 발생하여 작업을 제대로 완료하지 못했습니다. 한 가지 문제는 결제일 수 있습니다. 결제 페이지에서 연체 금액이 있는지 또는 계정의 신용카드 또는 기타 결제 수단이 만료되었는지 확인합니다. 프로젝트를 만드는 방법은 Google Cloud Console의 프로젝트 페이지를 참조하세요. 다른 문제는 리소스 및 지원 페이지를 참조하세요. |
다른 사용자 도메인 | 만들려는 버킷이 다른 사용자가 소유한 도메인 이름입니다. |
버킷이 이미 존재함 | 요청한 버킷 이름을 사용할 수 없습니다. 버킷 네임스페이스는 시스템의 모든 사용자가 공유합니다. 다른 이름을 선택한 후 다시 시도해 주세요. |
CrossLocationLogging금지됨 | 교차 위치 로깅은 허용되지 않습니다. 한 위치의 버킷은 다른 위치의 버킷에 정보를 기록할 수 없습니다. |
도메인 확인 필요 | 만들려는 버킷에 도메인 소유권 확인이 필요합니다. 자세한 내용은 버킷 이름 지정 가이드라인을 참조하세요. |
불충분한 할당량 | 사용자에게 할당량이 부족하여 이 작업을 완료할 수 없습니다. |
잘못된 액세스 키 ID | 입력한 사용자 ID가 Google 기록에 없습니다. |
잘못된 결제자 | 이 객체에 대한 모든 액세스가 비활성화되었습니다. |
잘못된 보안 | 제공한 보안 사용자 인증 정보가 올바르지 않습니다. |
ObjectUnderActiveHold | 객체의 활성 보존 조치로 인해 객체 대체 또는 삭제가 허용되지 않습니다. |
요청 시간 초과 | 요청 시간과 서버 시간의 차이가 너무 큽니다. |
보관 정책 없음 | 객체가 버킷의 보관 정책으로 설정된 보관 기간을 충족할 때까지 객체 대체 또는 삭제가 허용되지 않습니다. |
SignatureDoesNotMatch | Google이 계산한 요청 서명이 제공된 서명과 일치하지 않습니다. Google 보안 비밀과 서명 방법을 확인합니다. |
사용자 프로젝트 액세스 거부 | 요청자는 요청에 지정된 프로젝트를 사용할 권한이 없습니다. 요청자에게 지정된 프로젝트에 대한 serviceusage.services.use 권한이 있어야 합니다. |
사용자 프로젝트 계정 문제 | 요청에 사용된 프로젝트에 문제가 발생하여 작업이 정상적으로 완료되지 못했습니다. 한 가지 문제는 결제일 수 있습니다. 결제 페이지에서 연체 금액이 있는지 또는 계정의 신용카드 또는 기타 결제 수단이 만료되었는지 확인합니다. 프로젝트를 만드는 방법은 Google Cloud Console의 프로젝트 페이지를 참조하세요. 다른 문제는 리소스 및 지원 페이지를 참조하세요. |
404: 찾을 수 없음
오류 이름 | 설명 |
---|---|
NoSuchBucket | 지정된 버킷이 없습니다. |
NoSuchKey | 지정된 객체 이름이 존재하지 않습니다. |
405: 허용되지 않는 방법
오류 이름 | 설명 |
---|---|
액세스 거부됨 | 액세스가 거부되었습니다. |
메서드 허용되지 않음 | 지정된 메서드가 이 리소스에 허용되지 않습니다. |
408—요청 시간 초과
오류 이름 | 설명 |
---|---|
크래킹연결 | 요청이 타임아웃되었습니다. 계속하기 전에 지수 백오프를 잠시 기다려 주세요. |
409 - 충돌
오류 이름 | 설명 |
---|---|
이미 버킷에 사용자가 추가한 버킷 | 이름이 지정된 버킷을 만들기 위한 이전 요청이 성공했으며 이미 이 버킷을 소유하고 있습니다. |
버킷 이름 사용 불가 | 요청한 버킷 이름을 사용할 수 없습니다. 버킷 네임스페이스는 시스템의 모든 사용자가 공유합니다. 다른 이름을 선택하고 다시 시도해 주세요. 이 오류는 이미 존재하는 버킷 이름을 만들거나 버킷 이름 지정 요구사항을 충족하지 않는 버킷 이름을 만들려고 시도할 때 발생할 수 있습니다. |
BucketNotEmpty | 삭제하려는 버킷이 비어 있습니다. |
작업 중단 | 이 리소스에 대해 충돌하는 조건부 작업이 현재 진행 중입니다. 다시 시도해 주세요. |
RewriteTokenDestination이 확정됨 | 이미 재작성된 작업에 대해 RewriteToken을 사용하여 Rewrite를 호출하려고 시도합니다. |
411—길이 필요
오류 이름 | 설명 |
---|---|
콘텐츠 길이 누락 | Content-Length HTTP 헤더를 제공해야 합니다. |
412—사전 조건 실패
오류 이름 | 설명 |
---|---|
사전 조건 실패 | 지정한 사전 조건 중 하나 이상이 보존 조치되지 않았습니다. |
416 - 요청 범위 불가
오류 이름 | 설명 |
---|---|
잘못된 범위 | 요청한 범위가 충족될 수 없습니다. |
429—요청이 너무 많음
오류 이름 | 설명 |
---|---|
비율 제한 초과 | Cloud Storage 비율 한도를 초과했습니다. 지수 백오프를 사용하여 다시 시도하세요. |
느림 | 요청을 너무 자주 보냈습니다. 예를 들어 객체 업데이트의 한도는 초당 약 1회입니다. 자세한 내용은 한도 및 할당량을 참조하세요. 지수 백오프를 잠시 기다렸다가 요청을 보내는 속도를 늦추세요. |
500—내부 서버 오류
오류 이름 (있는 경우) | 설명 |
---|---|
InternalError | 내부 오류가 발생했습니다. 계속하기 전에 지수 백오프를 잠시 기다려 주세요. |
503: 서비스를 사용할 수 없음
오류 이름 (있는 경우) | 설명 |
---|---|
느림 | 서비스를 일시적으로 사용할 수 없습니다. 계속하기 전에 지수 백오프를 잠시 기다려 주세요. |
504 - 게이트웨이 시간 초과
오류 이름 | 설명 |
---|---|
N/A | 서비스가 일시적으로 다른 서비스에 도달할 수 없습니다. 계속하기 전에 지수 백오프를 사용하여 잠시 기다리세요. |