我需要使用Python将JSON文件上传到Azure blob,使用以下代码:
from azure.storage.blob import BlobClient
blob = BlobClient(account_url=ACCOUNT_URL,
container_name=CONTAINER_NAME,
blob_name = folder1/folder2/sample.json,
credential=CREDENTIAL)
blob.upload_blob(json.dumps(sample_json),overwrite=True)
此代码运行良好。唯一的问题是,软件包azure.storage.blob安装了chardet软件包,该软件包具有LGPL许可证,不适用于我的项目。有没有其他方法可以在不使用上述包的情况下将数据上传到Azure上的blob?
SDK只是Azure Storage REST API
的包装器。如果您无法使用SDK,您可以编写自己的代码来使用REST API。
对于上载blob,REST API操作将为Put Blob
:https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob.
考虑到SDK是开源的,您可以查看SDK代码并了解REST API在SDK中的使用情况。这是您可以找到源代码的地方:https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/storage/azure-storage-blob/azure/storage/blob.