#python #azure #azure-blob-storage
Вопрос:
у меня проблема с чтением моего файла в хранилище больших двоичных объектов. В моем файле есть только текст.
Например, я хочу получить из своего файла информацию о своем файле
{......}
Муравей, я хочу войти в переменную, как это s = {......}
Я загружаю в хранилище blob-объектов строку, подобную этой.
blob = BlobClient.from_connection_string(conn_str="DefaultEndpointsProtocol=https;AccountName=dasdasdas;AccountKey=sdf sdfds dfds==;EndpointSuffix=core.windows.net", container_name="XXXXXX", blob_name="XXXX.json")
store_items = 'swx'
data = str(store_items) str(conversation_reference)
blob.upload_blob(data, overwrite=True)
Теперь я хочу получить какую-то ценность и использовать ее.
Я пробую что-то вроде этого
block_blob_service = BlockBlobService(account_name='XXXXX', account_key='XXXXX XXXXX XXXXX==')
blob2 = block_blob_service.get_blob_to_text('XXXXX', 'XXXXX.json')
print (blob2.content)
Но это не работает, это кажется старым кодом.
ошибка
NameError: name 'BlockBlobService' is not defined
это нужно Я использую 4.10 и не могу использовать 2.10, потому что моя программа не будет работать.
Есть идеи, как это решить?
Ответ №1:
Может быть, вы можете попробовать использовать этот код:
from azure.storage.blob import BlobServiceClient
connection_string=''
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_client = blob_service_client.get_container_client("<container name>")
blob_client = container_client.get_blob_client("<blob name>")
blobstr = blob_client.download_blob().readall().decode("utf-8") # read blob content as string
Пожалуйста, обратитесь к быстрому началу работы: Управление большими двоичными объектами с помощью Python v12 SDK
Комментарии:
1. Это работает, спасибо, но не могли бы вы сказать мне, если капля пуста, я получаю
b''
2. С моей стороны уже слишком поздно, я свяжусь с вами завтра.
3. Я провел тест, если капля пуста, вы получите
b''
4. может быть, вы знаете, как его удалить?
5. Спасибо, теперь все выглядит хорошо