简体   繁体   English

将平面文件上传到 Azure 存储帐户

[英]Uploading flat files to Azure Storage Account

I was following the instructions from this link .我按照此链接的说明进行操作。 I did all the steps for uploading the file to the storage account starting from running this command从运行此命令开始,我完成了将文件上传到存储帐户的所有步骤

setx AZURE_STORAGE_CONNECTION_STRING "12334455"

Basically, I just copied the code from the Microsoft site for uploading files.基本上,我只是从 Microsoft 网站复制了用于上传文件的代码。 But after doing all the requirements as given on the Microsoft site I am still facing some errors.但是在完成了微软网站上给出的所有要求之后,我仍然面临一些错误。 The code I wrote is我写的代码是

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)


Now while running the code I am getting the error现在在运行代码时出现错误

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'

Now I don't know of what I am doing wrong.现在我不知道我做错了什么。 It will be really wonderful if you can tell me on how to upload text files to Azure Storage container.如果您能告诉我如何将文本文件上传到 Azure 存储容器,那就太好了。

Thanks in advance.提前致谢。

The reason you're getting the error is because you are not creating an instance of BlobServiceClient and using it as static here:您收到错误的原因是您没有创建BlobServiceClient的实例并将其用作 static :

blob_client = BlobServiceClient.get_blob_client(container="testingnlearning", blob=local_file_name)

What you would want to do is create an instance of BlobServiceClient and then use that instance.您想要做的是创建BlobServiceClient的实例,然后使用该实例。 Something like:就像是:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM