Существует два решения для получения содержимого XML из BLOB-объекта.
Решение 1. Чтобы получить URL-адрес большого двоичного объекта с токеном sas с помощью обозревателя хранилищ Azure, а затем получить содержимое xml на requests
.
Рис 1.1. Щелкните правой кнопкой мыши на объекте a-sample.xml
и выберите параметр Get Shared Access Signature
.
.
Рис 1.2. Выберите опцию UTC
и включите разрешение Read
, затем Create
.
Рис 1.3. Copy
URL-адрес большого двоичного объекта с маркером sas.
Рис. 1.4. Установите requests
через !pip install requests
и получите содержимое XML.
import requests
resp = requests.get('<the blob url with sas token copied from Azure Storage Explorer>')
xml_content = resp.text
print(xml_content)
Решение 2. На самом деле Azure Storage SDK для Python называется azure-storage
, поэтому вы можете следовать приведенному ниже рисунку, чтобы делать то, что вы хотите.
Рис 2.1. Установите хранилище Azure Python через !pip install azure-storage
и получите содержимое по коду. Пожалуйста, обратитесь к репозиторию GitHub Azure/azure-storage-python
.
from azure.storage.blob import BlockBlobService
account_name = '<your account name>'
account_key = '<your account key>'
container_name = '<container name>'
blob_name = '< the xml blob name, such as a-sample.xml>'
block_blob_service = BlockBlobService(account_name=account_name, account_key=account_key)
xml_content = block_blob_service.get_blob_to_text(container_name, blob_name).content
print(xml_content)
Я сделал это ниже в Блокнот Azure Jupyter , он также работает с базами данных Azure.
Надеюсь, это поможет.