Como já havia falado em um post anterior, algumas mensagens de erro do Windows Azure representam uma curva maior para a solução do problema. Como os serviços de Armazenamento fazem acesso a dados com interfaces REST(HTTP e HTTPs) por meio das emissões de pedidos de URLs HTTP, é muito comum que erros relacionados ao Windows Azure Storage retornarem código de erro HTTP.

Pensando nisso, resolvi reunir os códigos de erro para os serviços de armazenamento no Windows Azure, como está descrito nas tabelas abaixo:

  1. Códigos de Erro para serviços de Table;
  2. Códigos de Erro para serviços de Blob;
  3. Códigos de Erro para serviços deFila.

Códigos de Erro para Serviços de Table no Azure

Error code HTTP status code User message
DuplicatePropertiesSpecified Bad Request (400) A property is specified more than one time.
EntityAlreadyExists Conflict (409) The specified entity already exists.
EntityTooLarge Bad Request (400) The entity is larger than the maximum size permitted.
HostInformationNotPresent Bad Request (400) The required host information is not present in the request. You must send a non-empty Hostheader or include the absolute URI in the request line.
InvalidValueType Bad Request (400) The value specified is invalid.
JsonFormatNotSupported Unsupported Media Type (415) JSON format is not supported.
MethodNotAllowed Method Not Allowed (405) The requested method is not allowed on the specified resource.
NotImplemented Not Implemented (501) The requested operation is not implemented on the specified resource.
PropertiesNeedValue Bad Request (400) Values have not been specified for all properties in the entity.
PropertyNameInvalid Bad Request (400) The property name is invalid.
PropertyNameTooLong Bad Request (400) The property name exceeds the maximum allowed length.
PropertyValueTooLarge Bad Request (400) The property value is larger than the maximum size permitted.
TableAlreadyExists Conflict (409) The table specified already exists.
TableBeingDeleted Conflict (409) The specified table is being deleted.
TableNotFound Not Found (404) The table specified does not exist.
TooManyProperties Bad Request (400) The entity contains more properties than allowed.
UpdateConditionNotSatisfied Precondition Failed (412) The update condition specified in the request was not satisfied.
XMethodIncorrectCount Bad Request (400) More than one X-HTTP-Method is specified.
XMethodIncorrectValue Bad Request (400) The specified X-HTTP-Method is invalid.
XMethodNotUsingPost Bad Request (400) The request uses X-HTTP-Methodwith an HTTP verb other than POST.

Códigos de Erro para Serviços de Blob no Azure

Error code HTTP status code User message
InvalidBlobOrBlock Bad Request (400) The specified blob or block content is invalid.
InvalidBlockId Bad Request (400) The specified block ID is invalid. The block ID must be Base64-encoded.
InvalidBlockList Bad Request (400) The specified block list is invalid.
ContainerNotFound Not Found (404) The specified container does not exist.
BlobNotFound Not Found (404) The specified blob does not exist.
ContainerAlreadyExists Conflict (409) The specified container already exists.
ContainerDisabled Conflict (409) The specified container has been disabled by the administrator.
ContainerBeingDeleted Conflict (409) The specified container is being deleted.
BlobAlreadyExists Conflict (409) The specified blob already exists.
LeaseNotPresentWith
BlobOperation
Precondition Failed (412) There is currently no lease on the blob.
LeaseLost Precondition Failed (412) A lease ID was specified, but the lease for the blob has expired.
LeaseIdMismatchWith
BlobOperation
Precondition Failed (412) The lease ID specified did not match the lease ID for the blob.
LeaseIdMissing Precondition Failed (412) There is currently a lease on the blob and no lease ID was specified in the request.
LeaseNotPresentWith
LeaseOperation
Conflict (409) There is currently no lease on the blob.
LeaseIdMismatchWith
LeaseOperation
Conflict (409) The lease ID specified did not match the lease ID for the blob.
LeaseAlreadyPresent Conflict (409) There is already a lease present.
LeaseAlreadyBroken Conflict (409) The lease has already been broken and cannot be broken again.
LeaseIsBrokenAnd
Cannot
BeRenewed
Conflict (409) The lease ID matched, but the lease has been broken explicitly and cannot be renewed.
SnapshotsPresent Conflict (409) This operation is not permitted because the blob has snapshots.
InvalidBlobType Conflict (409) The blob type is invalid for this operation.
InvalidVersionForPage
BlobOperation
Bad Request (400) All operations on page blobs require at least version 2009-09-19.
InvalidPageRange Requested Range Not Satisfiable (416) The page range specified is invalid.
SequenceNumber
ConditionNotMet
Precondition Failed (412) The sequence number condition specified was not met.
SequenceNumber
IncrementTooLarge
Conflict (409) The sequence number increment cannot be performed because it would result in overflow of the sequence number.
SourceConditionNotMet Precondition Failed (412) The source condition specified using HTTP conditional header(s) is not met.
TargetConditionNotMet Precondition Failed (412) The target condition specified using HTTP conditional header(s) is not met.
CopyAcrossAccounts
NotSupported
Bad Request (400) The copy source account and destination account must be the same.

Códigos de Erro para Serviços de Fila (Queue) no Azure

Error code HTTP status code User message
MessageTooLarge Bad Request (400) The message exceeds the maximum allowed size.
InvalidMarker Bad Request (400) The specified marker is invalid.
PopReceiptMismatch Bad Request (400) The specified pop receipt did not match the pop receipt for a dequeued message.
QueueNotFound Not Found (404) The specified queue does not exist.
MessageNotFound Not Found (404) The specified message does not exist.
QueueDisabled Conflict (409) The specified queue has been disabled by the administrator.
QueueAlreadyExists Conflict (409) The specified queue already exists.
QueueBeingDeleted Conflict (409) The specified queue is being deleted.
QueueNotEmpty Conflict (409) The specified queue is not empty.

 

Um grande abraço e ótima semana!

logo

      Twitter: @vitormeriat
      vitormeriat@gmail.com
      vitor.pereira@studentpartners.com.br