azure-sdk-for-net: [BUG] Latest Storage SDK does not work with Azure Storage Emulator 5.9

Describe the bug Recently installed Microsoft.Azure.Storage.Blob NuGet 11.0.0 https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/

The Storage Emulator locally version 5.9 (latest, have even re-installed).

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>AzureStorageEmulator.exe status
Windows Azure Storage Emulator 5.9.0.0 command line tool
IsRunning: True
BlobEndpoint: http://127.0.0.1:10000/
QueueEndpoint: http://127.0.0.1:10001/
TableEndpoint: http://127.0.0.1:10002/

Exception or Stack Trace

Microsoft.Azure.Storage.StorageException: Storage Exception (Request Id: 117143b0-1cef-400f-8e9c-2c9470c989e6): {"ErrorCode":"VersionNotSupportedByEmulator","ErrorMessage":"The REST version of this request is not supported by this release of the Storage Emulator. Please upgrade the storage emulator to the latest version. Refer to the following URL for more information: http://go.microsoft.com/fwlink/?LinkId=392237\nRequestId:117143b0-1cef-400f-8e9c-2c9470c989e6\nTime:2019-08-08T06:52:00.3785996Z","AdditionalDetails":{"VersionAttempted":"2019-02-02"}} ---> Microsoft.Azure.Storage.StorageException: The REST version of this request is not supported by this release of the Storage Emulator. Please upgrade the storage emulator to the latest version. Refer to the following URL for more information: http://go.microsoft.com/fwlink/?LinkId=392237

To Reproduce Try using Storage Emulator with latest SDK.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 19 (7 by maintainers)

Most upvoted comments

@amishra-dev I’m confused, isn’t Storage Emulator part of Visual Studio lifecycle? You can’t just kill it with no notice right?

Azurite just supports blob storage only, so we still need the Storage Emulator for Table and Queue storage. So is it only the Blob portion of Azure Storage Emulator that is being retired or the whole emulator? Is there an official announcement that you folks in MS are going to be making around this issue, because this is going to cause a lot of trouble for a lot of people.

@BrianVallelunga that is correct. Development of Storage Emulator is being discontinued, Azurite is the way foward for us. Filed the feature request in Azurite. https://github.com/Azure/Azurite/issues/249

Hi, Azurite will update and catch up latest storage features and API versions covering blob & queue. Now, we are working on Azurite Queue implementation, and planning to have a release for queue within several weeks. After that, we will start working on blob feature parity catch up. In the meantime, Azurite is an open source project, contribution are welcome. For Table Storage would recommend using the emualtor from Cosmos team. They are also working on cross platform support. https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator

I don’t know, call me crazy, but maybe next time don’t drop support for the current, working solution until you have actually finished implementing its replacement. Just a thought.

I currently use storage emulator when running Azure functions locally, or when running the tests in Azure Devops.

Are there any guides for running Azurite in a Devops build pipeline? When can we expect the fix for storage emulator to be available on Devops?

@pemari-msft I see you have suggested here that the CosmosDB emulator is the way forward for Table Emulation. This is worrying. The Table Emulation support in the Cosmos DB Emulator is not even close to the capability offered by the Azure Storage Emulator coupled with the Storage Explorer.

Added to this, the Docker support for the Cosmos DB Emulator is woefully inadequate and the GitHub repo for it has issues that are over two years old. This doesn’t sound like something that we should be looking to as a way forward at present.

So basically the solution for now is to downgrade the SDK to 10.0.3, I’ve confirmed this works for queues on 5.9 of the emulator. Is there a specific version or issue(s) we should watch to know when Azurite is ready to support all services for the v11 SDK? I don’t want to upgrade until I can test in dev and CI end to end, thanks.

Hi all, thanks for your feedback. We are still supporting the older, Windows-only Storage Emulator, but new features won’t be able to be added to it. We’ll release a new version in the coming days that will fix the latest api-versions to ensure you are unblocked ASAP and we apologize for the confusion.

The Azurite emulator is an open-source, cross-platform emulator that we’ve chosen to invest in in response to customer feedback. Azurite will support Blobs and Queues, and the CosmosDB emulator is the way forward for Table emulation. Azurite is our officially recommended solution, and as such, all new Storage Service releases will also have a corresponding Azurite release on day 1.

Please let me know if you have any questions regarding the above – we are working on some official documentation that outlines the above and we’ll be posting it shortly.

Its not killed, we will continue to support Azure Storage Emulator. We believe Azurite is a better solution for our customer for future releases of the service and we will add support for future versions only in Azurite.