We are excited to introduce a new blob type called Append Blob (alongside our existing Block and Page blobs) that will be publically available in Q3 2015. In this blog, we will provide an overview of Append Blob as well as highlight its most common usage scenarios. We will share more information and details as we get closer to release.
Overview
Append Blob is a new blob type that will be available with an upcoming storage service version. All writes to an Append Blob happen at the end of the blob. Updating and deleting existing blocks is not supported. To modify an Append Blob, you add blocks to the end of the blob via the new Append Block operation. Each appended block is accessible immediately.
Append Blob is optimized for fast append operations, making it ideal for scenarios where the data must be added to an existing blob without modifying the existing contents of that blob (Eg. logging, auditing). In addition, Append Blob supports having multiple clients writing to the same blob without any need for synchronization (unlike block and page blob). An Append Blob has the same scalability targets as a block blob. See Azure Storage Scalability and Performance Targets for details.
Preparing for Append Blob
Most customers can simply wait for AppendBlob to be available and then upgrade their applications to use the latest version of our client libraries, at which point they can begin using AppendBlob. Customers that will want to plan for Append Blob are likely to be tooling providers (Eg. Storage explorers, cloud storage management tools) that operate on storage accounts that are managed independently of the tooling.
Once Append Blob is released, customers who want to use Append Blob will have to upgrade their applications to use the latest version of the storage service, client libraries, and tools in order to handle the new blob type. There are three possible issues that you may encounter with Append Blob:
- A container that contains one or more Append Blobs may be accessed only with a version of the storage service and client library that supports Append Blobs. If you attempt to list from a container that contains an Append Blob using an earlier version of the service, the service returns error 409 [FeatureVersionMismatch]. For a tooling provider, this means that until you upgrade your application to the new version, your tool may receive an exception when listing a container in a customer's storage account that contains an Append Blob.
- For any AzCopy release version prior to 3.2.0, or preview version prior to 4.2.0, the download and copy operations will fail when the source container includes an Append Blob.
- If you attempt to access an Append Blob using a PowerShell version that does not support Append Blob, the Get-AzureStorageBlob operation, it will fail. An update to the PowerShell libraries will be coming shortly.
To help prepare for the release of Append Blob, we are offering a Preview Program to provide early access to our client library with support for Append Blob. Customers participating in our Preview Program can use this early access to validate that their apps continue to work once the Append blob is available broadly.
Please let us know if you have any questions or if you are interested in participating in our Preview Program by emailing us at peskount@microsoft.com.
Perry Skountrianos
Program Manager, Azure Storage