Status HTTP e códigos de erro para XML

O documento a seguir fornece informações de referência sobre as mensagens de erro e os códigos de status usados na API Cloud Storage XML. Para informações sobre erros e códigos de status usados pela API JSON do Cloud Storage, consulte esta página.

Formato da resposta de erro

O Cloud Storage usa o formato de relatório de erro HTTP padrão. As solicitações bem-sucedidas retornam códigos de status HTTP no intervalo 2xx. As solicitações com falha retornam códigos de status nos intervalos 4xx e 5xx. As solicitações que exigem um redirecionamento retornam códigos de status no intervalo 3xx. As respostas de erro geralmente incluem um documento XML no corpo da resposta, que contém informações sobre o erro.

Veja a seguir um exemplo de resposta de erro.

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>

A tabela a seguir descreve os elementos de um corpo de resposta:

Element Descrição
Error Recipiente para as informações de erro.
Code Nome do erro.
Message Descrição do erro.

Códigos de status e de erro HTTP

A seguir, veja as descrições do status HTTP e dos códigos de erro usados pelo Cloud Storage.

301 - Moved Permanently

Nome do erro Descrição
PermanentRedirect O bloco que você está tentando acessar precisa ser endereçado usando o ponto de extremidade especificado. Envie todas as solicitações futuras para esse ponto de extremidade.

304 - Not Modified

Nome do erro Descrição
NotModified O recurso solicitado não foi modificado de acordo com a condição especificada.

307 - Temporary Redirect

Nome do erro Descrição
Redirect Redirecionamento temporário.
TemporaryRedirect Você está sendo redirecionado ao bloco enquanto o DNS é atualizado.

308 - Resume Incomplete

Nome do erro Descrição
Resume Incomplete Indica um upload retomável incompleto e fornece o intervalo de bytes já recebidos pelo Cloud Storage.

400 - Bad Request

Nome do erro Descrição
AmbiguousGrantByEmailAddress O endereço de e-mail fornecido está associado a mais de uma conta.
BadDigest O Content-MD5 especificado não corresponde ao que recebemos.
CloudKmsBadKey Chave do Cloud KMS inválida.
CloudKmsCandChangeKeyName O nome da chave do Cloud KMS não pode ser alterado.
CloudKmsDecryptionKeyNotFound A chave de descriptografia do Cloud KMS do recurso não foi encontrada.
CloudKmsDisabledKey A chave do Cloud KMS está desativada, destruída ou programada para ser destruída.
CloudKmsEncryptionKeyNotFound Chave de criptografia do Cloud KMS não encontrada.
CloudKmsKeyLocationNotAllowed O local da chave do Cloud KMS não é permitido.
CredentialsNotSupported Esta solicitação não suporta credenciais.
Crusmatch O CRC32C especificado não corresponde ao que calculamos.
CustomerEncryptionAlgorithIsIs Falta um algoritmo de criptografia ou o algoritmo fornecido não é "AE256".
CustomerEncryptionKeyFormatIsInvalid Falta uma chave de criptografia, ela não é codificada em Base64 ou não atende ao comprimento necessário do algoritmo de criptografia.
CustomerEncryptionKeyIsIncorrect A chave de criptografia fornecida está incorreta.
CustomerEncryptionKeySha256IsInvalid Um hash SHA256 da chave de criptografia não foi codificado ou não é codificado em Base64 ou não corresponde à chave de criptografia.
DotefulBucketNameNotUnderTld O bucket especificado contém um '.' mas não está em um domínio de nível superior reconhecido.
EntityTooSmall Seu upload proposto é menor do que o tamanho mínimo de objeto permitido.
EntityTooLarge Seu upload proposto excede o tamanho máximo de objeto permitido.
ExcessHeaderValues Múltiplos valores de cabeçalho HTTP quando apenas um era esperado.
ExpiredToken O token fornecido expirou.
IncompleteBody Você não forneceu o número de bytes especificado pelo cabeçalho HTTP Content-Length.
IncorrectNumberOfFilesInPostRequest POST exige exatamente um upload de arquivo por solicitação.
EndpointEndpoint Endpoints somente de upload e somente de download podem ser usados para upload ou download de objetos, respectivamente.
InlineDataTooLarge Os dados em linha excedem o tamanho máximo permitido.
InvalidArgument Argumento inválido.
InvalidBucketName O bloco especificado não é válido.
Contagem de componentes inválidos Tentativa de composição com muitos ou poucos componentes na solicitação.
InvalidCrc O CRC32c especificado é inválido.
InvalidDigest O Content-MD5 especificado era inválido.
InvalidDotfulBucketName. O bucket especificado contém um '.' mas não é sintaticamente válido.
HashHash O cabeçalho x-goog-hash especificado é inválido.
InvalidLocationConstraint A restrição de local especificada não é válida. Não é possível especificar locais com a API Cloud Storage.
InvalidPolicyDocument O conteúdo do formulário não atende às condições especificadas no documento de política.
InvalidStorageClass A classe de armazenamento especificada não é válida.
InvalidLocationConstraintStorageClassCombination Essa combinação de local e classe de armazenamento especificada não é compatível. Especificamente, os buckets regionais não são compatíveis com o armazenamento MULTI_REGIONAL, e os buckets multirregionais não são compatíveis com o armazenamento do REGIONAL.
Nome do objeto inválido O nome de objeto especificado não é válido.
InvalidTargetBucketForLogging O bucket de destino para geração de registros não existe ou não concede permissão de gravação ao grupo "cloud-storage-analytics@google.com". Consulte Como configurar a entrega de registros.
InvalidToken O token fornecido está malformado ou é inválido de outra maneira.
InvalidURI Não foi possível analisar o URI especificado.
KeyTooLong O nome de seu objeto é muito longo.
MalformedACLError O XML fornecido não estava formado adequadamente ou não foi possível validá-lo com base em nosso esquema publicado.
MalformedHeaderValue Um valor de cabeçalho HTTP estava malformado.
MalformedPOSTRequest O corpo de sua solicitação POST não é um multipart/form-data formado adequadamente.
MalformedXML Isso acontece quando o usuário envia um XML malformado (XML que não está em conformidade com o XSD publicado) para a configuração.
MaxMessageLengthExceeded Sua solicitação era muito grande.
MaxPostPreDataLengthExceededError Os campos de sua solicitação POST que precedem o arquivo de upload eram muito grandes.
MetadataTooLarge Os cabeçalhos de seus metadados excedem o tamanho máximo de metadados permitido.
MissingRequestBodyError Isso acontece quando o usuário envia um documento XML vazio como solicitação.
MissingSecurityHeader Falta um cabeçalho obrigatório em sua solicitação.
NoLoggingStatusForKey Não há um subrecurso de status de registro para uma chave.
NotImplemented Um cabeçalho ou uma consulta que você forneceu solicitou uma função que não foi implementada.
NoMd5Provided O MD5 é obrigatório para a operação solicitada, mas não foi fornecido.
RequestIsNotMultiPartContent O POST do bloco precisa ter o tipo de hiperlink anexo multipart/form-data.
RequestTimeout Sua conexão de soquete com o servidor não foi lida ou gravada no período do tempo limite.
ResourceIsEncryptedWithCustomerEncryptionKey (em inglês) O recurso é criptografado com uma chave de criptografia fornecida pelo cliente, mas a solicitação não forneceu uma.
ResourceNotEncryptedWithCustomerEncryptionKey. O recurso não é criptografado com uma chave de criptografia fornecida pelo cliente, mas a solicitação forneceu uma.
SecureConnectionRequired É necessária uma conexão segura para processar esta solicitação.
TokenRefreshRequired O token fornecido precisa ser atualizado.
TooManyBuckets Você tentou criar mais blocos do que o permitido.
UnexpectedContent Esta solicitação não suporta o conteúdo.
UnresolvableGrantByEmailAddress O endereço de e-mail fornecido não corresponde a qualquer conta registrada.
UnsupportedAcl A ACL especificada não é suportada. Para mais informações sobre as ACLs compatíveis com o Cloud Storage, consulte Controle de acesso.
UserKeyMustBeSpecified O POST do bloco precisa conter o nome de campo especificado. Se estiver especificado, verifique a ordem dos campos.
userProjectIn inconsistente O projeto de usuário especificado na solicitação não corresponde ao especificado na solicitação relacionada.
Projeto do usuário inválido O projeto de usuário especificado na solicitação é inválido porque é um ID de projeto incorreto ou porque se refere a um projeto inexistente.
Projeto do usuário ausente O bucket solicitado tem Pagamentos do solicitante ativado, o solicitante não é um proprietário do bucket e nenhum projeto de usuário estava presente na solicitação.

401 - Unauthorized

Nome do erro Descrição
AuthenticationRequiredRequesterPayments O acesso a um bucket de Pagamentos do solicitante exige autenticação.
Não autorizadas

Indica que uma solicitação não autorizada foi recebida pelo Cloud Storage.
O cabeçalho da solicitação é inválido ou está faltando.
Para mais informações, consulte a RFC 7235 §3.1.
A prática padrão para lidar com esse erro é uma ou ambas as opções a seguir:

  1. Acompanhe quando você recebeu o token de acesso atual e atualize-o sempre que perceber que ele é mais antigo do que o período de vida retornado quando ele foi adquirido (normalmente uma hora).
  2. Capture a exceção 401, adquira automaticamente um novo token de acesso e tente novamente a solicitação.

403 - Forbidden

Nome do erro Descrição
AccessDenied Acesso negado. Isso se aplica a qualquer objeto ao qual você não tenha acesso, independentemente de o objeto realmente existir ou não.
AccountProblem Há um problema com sua Conta do Google que impede a conclusão da operação. Um problema pode ser o faturamento. Consulte a página de faturamento para ver se você tem um saldo devedor ou se o cartão de crédito (ou outro mecanismo de pagamento) na sua conta expirou. Para a criação de projetos, consulte a página "Projetos" no Console do Google Cloud. Para outros problemas, consulte a página "Recursos e suporte".
AnotherUserOwnsDomain O bloco que você tentou criar é um nome de domínio que pertence a outro usuário.
BucketAlreadyExists The requested bucket name is not available. O namespace do bucket é compartilhado por todos os usuários do sistema. Selecione um nome diferente e tente de novo.
Proibição de CrossLocationLogging Não é permitido usar o registro de vários locais. Um bucket em um local não pode registrar informações em um bucket em outro local.
DomainVerificationRequired O bloco que você tentou criar exige a verificação de propriedade de domínio. Para mais informações, consulte as Diretrizes de nomenclatura de intervalos.
InsufficientQuota O usuário não tem a cota suficiente para completar essa operação.
InvalidAccessKeyId O ID do usuário fornecido não existe em nossos registros.
InvalidPayer Todo acesso a este objeto foi desativado.
InvalidSecurity As credenciais de segurança fornecidas não são válidas.
ObjectUnderActiveHold A substituição ou a exclusão de objetos não é permitida devido a uma retenção ativa no objeto.
RequestTimeTooSkewed A diferença entre a hora da solicitação e a hora do servidor é muito grande.
RetentionPolicyNotMet A substituição ou exclusão de objetos não é permitida até que o objeto atenda ao período de armazenamento definido pela política de retenção no bucket.
SignatureDoesNotMatch A assinatura da solicitação que calculamos não corresponde à assinatura fornecida. Verifique seu segredo do Google e o método de assinatura.
UserProjectAccessDenied O solicitante não está autorizado a usar o projeto especificado na solicitação dele. O solicitante precisa ter a permissão serviceusage.services.use para o projeto especificado.
UserProjectAccountIssue Há um problema com o projeto usado na solicitação que impede a conclusão da operação. Um problema pode ser o faturamento. Consulte a página de faturamento para ver se você tem um saldo devedor ou se o cartão de crédito (ou outro mecanismo de pagamento) na sua conta expirou. Para a criação de projetos, consulte a página "Projetos" no Console do Google Cloud. Para outros problemas, consulte a página "Recursos e suporte".

404 - Not Found

Nome do erro Descrição
NoSuchBucket O bloco especificado não existe.
NoSuchKey O nome de objeto especificado não existe.

405 - Method Not Allowed

Nome do erro Descrição
AccessDenied Acesso negado.
MethodNotAllowed O método especificado não é permitido neste recurso.

408 - Tempo limite de solicitação

Nome do erro Descrição
uploadBreakedConnection A solicitação atingiu o tempo limite. Aguarde alguns instantes com retirada exponencial antes de continuar.

409 - Conflict

Nome do erro Descrição
BucketAlreadyOwnedByYou Sua solicitação anterior para criar o bloco nomeado foi bem-sucedida e você já o possui.
BucketNameUnavailable The requested bucket name is not available. O namespace do bucket é compartilhado por todos os usuários do sistema. Selecione um nome diferente e tente de novo. Esse erro pode ocorrer quando você tenta criar um nome de bucket que já existe ou tenta criar um nome de bucket que não atende aos requisitos de nomenclatura de bucket.
BucketNotEmpty O bloco que você tentou excluir não está vazio.
OperationAborted Atualmente, há um operação condicional conflitante em progresso neste recurso. Tente novamente.
RewriteTokenDestAlreadyFinalizado Tentar chamar Rewrite com um RewriteToken para uma operação de Regravação já concluída.

411 - Length Required

Nome do erro Descrição
MissingContentLength Você precisa fornecer o cabeçalho HTTP Content-Length.

412 - Precondition Failed

Nome do erro Descrição
PreconditionFailed Pelo menos uma das pré-condições especificadas não foi atendida.

416 - Requested Range Not Satisfiable

Nome do erro Descrição
InvalidRange Não é possível atender ao intervalo solicitado.

429: muitas solicitações

Nome do erro Descrição
RateLimitExceeded O limite de taxa do Cloud Storage foi excedido. Tente novamente usando espera exponencial.
SlowDown Você está enviando solicitações com muita frequência. Por exemplo, as atualizações de objetos têm um limite de aproximadamente 1 atualização/segundo. Para mais informações, consulte Limites e cotas. Aguarde alguns instantes com retirada exponencial antes de continuar e diminua a taxa em que envia solicitações.

500 - Internal Server Error

Nome do erro (se houver) Descrição
InternalError Encontramos um erro interno. Aguarde alguns instantes com retirada exponencial antes de continuar.

503 - Service Unavailable

Nome do erro (se houver) Descrição
SlowDown O serviço está temporariamente indisponível. Aguarde alguns instantes com retirada exponencial antes de continuar.

504 Tempo limite do gateway

Nome do erro Descrição
N/A O serviço está temporariamente impedido de acessar outro serviço. Aguarde alguns instantes com retirada exponencial antes de continuar.