Update azure blob SDK version #1515
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Partial fix for #1343
Please Read
#1343 is for porting over Azure Blobs and Queues from .NET and JS. In those SDK, Azure Blobs was plural-ified from
Bot.Builder.Azure.BlobStorage
to...Blob*s*Storage
, adding a new Blob Storage library. This was done because of a dependency namespace conflict that would break binary compatibility.As far as I can tell, we can't do this in the Python SDK because that would require the SDK to depend on two different versions of
azure.storage.blob
. The current version in our SDK is 2.1, but the most recent version is 12.7.1. This PR updates to 12.7.0 because there's an msrest dependency conflict at 122.7.1.So, this PR updates our current
blob_storage
to just use the new SDK. If approved, I'll then add an additionalqueue_storage
.There's some pretty big changes in the the internal code for this PR due to:
azure.storage.blob
10 major versions, andTesting
All tests pass when running Storage Emulator and setting this to True so the tests run.
The warning are all of this nature:
...but per @axelsrz, that's expected for our SDK and Python 3.8.
Backwards Compatibility Testing
I also tested by:
botbuilder.azure
from sample, then added newblob_storage.py
and ensured it used thatblob_storage
Conversation and UserState data still look the same:
I'm not sure why e_tag gets quotes placed around it. I don't do any encoding, so I think it's something done by
azure.storage.blob
. I sort of mitigate it hereNote
This library will eventually benefit from investigating some of the Blob Storage options, but I won't have the bandwidth to land this in R12.