Azure Blob Storage error codes
You might see the following error codes returned by an operation against Azure Blob Storage.
Error code | HTTP status code | User message |
---|---|---|
AppendPositionConditionNotMet | Precondition Failed (412) | The append position condition specified was not met. |
BlobAlreadyExists | Conflict (409) | The specified blob already exists. |
BlobImmutableDueToLegalHold | Conflict (409) | This operation is not permitted as the blob is immutable due to one or more legal holds. |
BlobImmutableDueToPolicy | Conflict (409) | This operation is not permitted as the blob is immutable due to a policy. |
BlobNotFound | Not Found (404) | The specified blob does not exist. |
BlobOperationNotSupported | Conflict (409) | The operation is not supported in this scenario. This error can appear if you use the PutBlock or PutBlockList operation against a blob that was created by using Path - Create operation of the Azure Data Lake Storage Gen2 REST API. |
BlobOverwritten | Conflict (409) | The blob has been recreated since the previous snapshot was taken. |
BlobTierInadequateForContentLength | Conflict (409) | The specified blob tier size limit cannot be less than content length. |
BlockCountExceedsLimit | Conflict (409) | The committed block count cannot exceed the maximum limit of 50,000 blocks. |
BlockCountExceedsLimit | Conflict (409) | The uncommitted block count cannot exceed the maximum limit of 100,000 blocks. |
BlockListTooLong | Bad Request (400) | The blocklist may not contain more than 50,000 blocks. |
CannotChangeToLowerTier | Conflict (409) | A higher blob tier has already been explicitly set. |
CannotVerifyCopySource | Internal Server Error (500) | Could not verify the copy source within the specified time. Examine the HTTP status code and message for more information about the failure. |
ContainerAlreadyExists | Conflict (409) | The specified container already exists. |
ContainerBeingDeleted | Conflict (409) | The specified container is being deleted. |
ContainerDisabled | Conflict (409) | The specified container has been disabled by the administrator. |
ContainerHasLegalHold | Conflict (409) | The requested operation is not allowed as the container has one or more legal holds. |
ContainerImmutabilityPolicyLocked | Conflict (409) | The requested operation is not allowed as the container has a locked immutability policy. |
ContainerNotFound | Not Found (404) | The specified container does not exist. |
ContentLengthLargerThanTierLimit | Conflict (409) | The blob's content length cannot exceed its tier limit. |
CopyAcrossAccountsNotSupported | Bad Request (400) | The copy source account and destination account must be the same. |
CopyIdMismatch | Conflict (409) | The specified copy ID did not match the copy ID for the pending copy operation. |
DirectorySasNotSupportedVersion | Conflict (409) | Directory SAS is not supported in this version. |
FeatureVersionMismatch | Conflict (409) | The operation for AppendBlob requires at least version 2015-02-21. |
FeatureVersionMismatch | Conflict (409) | The type of blob in the container is unrecognized by this version. |
IncrementalCopyBlobMismatch | Conflict (409) | The specified source blob is different than the copy source of the existing incremental copy blob. |
IncrementalCopyOfEarlierVersionSnapshotNotAllowed | Conflict (409) | The specified snapshot is earlier than the last snapshot copied into the incremental copy blob. |
IncrementalCopySourceMustBeSnapshot | Conflict (409) | The source for incremental copy request must be a snapshot. |
InfiniteLeaseDurationRequired | Precondition Failed (412) | The lease ID matched, but the specified lease must be an infinite-duration lease. |
InvalidBlobOrBlock | Bad Request (400) | The specified blob or block content is invalid. |
InvalidBlobTier | Bad Request (400) | The specified blob tier is invalid. |
InvalidBlobType | Conflict (409) | The blob type is invalid for this operation. |
InvalidBlockId | Bad Request (400) | The specified block ID is invalid. The block ID must be Base64-encoded. |
InvalidBlockList | Bad Request (400) | The specified blocklist is invalid. |
InvalidOperation | Bad Request (400) | Invalid operation against a blob snapshot. |
InvalidPageRange | Requested Range Not Satisfiable (416) | The page range specified is invalid. |
InvalidSourceBlobType | Conflict (409) | The copy source blob type is invalid for this operation. |
InvalidSourceBlobUrl | Conflict (409) | The source URL for incremental copy request must be valid Azure Storage blob URL. |
InvalidVersionForPageBlobOperation | Bad Request (400) | All operations on page blobs require at least version 2009-09-19. |
LeaseAlreadyPresent | Conflict (409) | There is already a lease present. |
LeaseAlreadyBroken | Conflict (409) | The lease has already been broken and cannot be broken again. |
LeaseIdMismatchWithBlobOperation | Precondition Failed (412) | The lease ID specified did not match the lease ID for the blob. |
LeaseIdMismatchWithContainerOperation | Precondition Failed (412) | The lease ID specified did not match the lease ID for the container. |
LeaseIdMismatchWithLeaseOperation | Conflict (409) | The lease ID specified did not match the lease ID for the blob/container. |
LeaseIdMissing | Precondition Failed (412) | There is currently a lease on the blob/container and no lease ID was specified in the request. |
LeaseIsBreakingAndCannotBeAcquired | Conflict (409) | The lease ID matched, but the lease is currently in breaking state and cannot be acquired until it is broken. |
LeaseIsBreakingAndCannotBeChanged | Conflict (409) | The lease ID matched, but the lease is currently in breaking state and cannot be changed. |
LeaseIsBrokenAndCannotBeRenewed | Conflict (409) | The lease ID matched, but the lease has been broken explicitly and cannot be renewed. |
LeaseLost | Precondition Failed (412) | A lease ID was specified, but the lease for the blob/container has expired. |
LeaseNotPresentWithBlobOperation | Precondition Failed (412) | There is currently no lease on the blob. |
LeaseNotPresentWithContainerOperation | Precondition Failed (412) | There is currently no lease on the container. |
LeaseNotPresentWithLeaseOperation | Conflict (409) | There is currently no lease on the blob/container. |
MaxBlobSizeConditionNotMet | Precondition Failed (412) | The max blob size condition specified was not met. |
NoPendingCopyOperation | Conflict (409) | There is currently no pending copy operation. |
OperationNotAllowedOnIncrementalCopyBlob | Conflict (409) | The specified operation is not allowed on an incremental copy blob. |
PendingCopyOperation | Conflict (409) | There is currently a pending copy operation. |
PreviousSnapshotCannotBeNewer | Bad Request (400) | The prevsnapshot query parameter value cannot be newer than snapshot query parameter value. |
PreviousSnapshotNotFound | Conflict (409) | The previous snapshot is not found. |
PreviousSnapshotOperationNotSupported | Conflict (409) | Differential Get Page Ranges is not supported on the previous snapshot. |
QueryParameterSddInvalid | Forbidden (403) | Invalid sdd parameter. |
QueryParameterSasMandatory | Forbidden (403) | The sdd parameter is mandatory in case of directory SAS. Cannot be empty. |
SequenceNumberConditionNotMet | Precondition Failed (412) | The sequence number condition specified was not met. |
SequenceNumberIncrementTooLarge | Conflict (409) | The sequence number increment cannot be performed because it would result in overflow of the sequence number. |
SnapshotCountExceeded | Conflict (409) | The snapshot count against this blob has been exceeded. |
SnapshotOperationRateExceeded | Conflict (409) | The rate of snapshot operations against this blob has been exceeded. |
SnapshotsPresent | Conflict (409) | This operation is not permitted while the blob has snapshots. |
SourceConditionNotMet | Precondition Failed (412) | The source condition specified using HTTP conditional header(s) is not met. |
SystemInUse | Conflict (409) | This blob is in use by the system. |
TargetConditionNotMet | Precondition Failed (412) | The target condition specified using HTTP conditional header(s) is not met. |
UnauthorizedBlobOverwrite | Forbidden (403) | This request is not authorized to perform blob overwrites. |
UnsupportedHeader | Bad Request (400) | One of the headers specified in the request is not supported. |
BlobBeingRehydrated | Conflict (409) | This operation is not permitted because the blob is being rehydrated. |
BlobArchived | Conflict (409) | This operation is not permitted on an archived blob. |
BlobNotArchived | Conflict (409) | This blob is currently not in the archived state. |
See also
Common REST API error codes
Queue Storage error codes
Table Storage error codes
Troubleshooting API operations
HttpStatusCode enumeration
Storage services REST