[英]Uploading flat files to Azure Storage Account
我按照此鏈接的說明進行操作。 從運行此命令開始,我完成了將文件上傳到存儲帳戶的所有步驟
setx AZURE_STORAGE_CONNECTION_STRING "12334455"
基本上,我只是從 Microsoft 網站復制了用於上傳文件的代碼。 但是在完成了微軟網站上給出的所有要求之后,我仍然面臨一些錯誤。 我寫的代碼是
import os, uuid
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient, __version__
try:
print("Azure Blob Storage v" + __version__ + " - Python quickstart sample")
# local_path = "C:\Users\shang\Desktop\Trial"
# os.mkdir(local_path)
#
# # Create a file in the local data directory to upload and download
# local_file_name = str(uuid.uuid4()) + ".txt"
# upload_file_path = os.path.join(local_path, local_file_name)
#
# # Write text to the file
# file = open(upload_file_path, 'w')
# file.write("Hello, World!")
# file.close()
upload_file_path = r"C:\Users\shang\Desktop\Trial\Trial.txt"
local_file_name = "Trial.txt"
# Create a blob client using the local file name as the name for the blob
blob_client = BlobServiceClient.get_blob_client(container="testingnlearning", blob=local_file_name)
print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)
# Upload the created file
with open(upload_file_path, "rb") as data:
blob_client.upload_blob(data)
# Quick start code goes here
except Exception as ex:
print('Exception:')
print(ex)
現在在運行代碼時出現錯誤
TypeError Traceback (most recent call last)
<ipython-input-3-3a6b42061e89> in <module>
----> 1 blob_client = BlobServiceClient.get_blob_client(container="testingnlearning", blob="Trial.txt")
TypeError: get_blob_client() missing 1 required positional argument: 'self'
現在我不知道我做錯了什么。 如果您能告訴我如何將文本文件上傳到 Azure 存儲容器,那就太好了。
提前致謝。
您收到錯誤的原因是您沒有創建BlobServiceClient
的實例並將其用作 static :
blob_client = BlobServiceClient.get_blob_client(container="testingnlearning", blob=local_file_name)
您想要做的是創建BlobServiceClient
的實例,然后使用該實例。 就像是:
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
blob_client = blob_service_client.get_blob_client(container="testingnlearning", blob=local_file_name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.