如何使用 Python 在 Azure 中创建 blob 容器?
How to create a blob container in Azure using Python?
I am a novice in Python programming and trying to create a blob container using python. Even after following the documented steps, I see the below error.
Here is my code:
import os, uuid
from azure.storage.blob import BlobServiceClient,BlobClient,ContainerClient,__version__
class BlobSamples():
print("Azure Blob Storage v" + __version__ + " - Python quickstart sample")
connection_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')
print("Connection established to Azure storage account from the Python App")
#--Begin Blob Samples-----------------------------------------------------------------
def create_container_sample(self):
# Instantiate a new BlobServiceClient using a connection string
blob_service_client = BlobServiceClient.from_connection_string(self.connection_str)
# Instantiate a new ContainerClient
container_client = blob_service_client.get_container_client("mycontainer")
try:
# Create new container in the service
container_client.create_container()
# List containers in the storage account
list_response = blob_service_client.list_containers()
except Exception as ex:
print('Exception:')
print(ex)
#main program
sample = BlobSamples()
sample.create_container_sample()
**Error:**
py ConnectionString.py
Azure Blob 存储 v12.9.0 - Python 快速入门示例
从 Python 应用程序建立到 Azure 存储帐户的连接
追溯(最近一次通话):
文件“C:\Technical docs\cloud computing\MS Azure\blob-quickstart-v12\menu-driven-strg-ops\ConnectionString.py”,第 31 行,位于
sample.create_container_sample()
文件“C:\Technical docs\cloud computing\MS Azure\blob-quickstart-v12\menu-driven-strg-ops\ConnectionString.py”,第 16 行,在 create_container_sample 中
blob_service_client = BlobServiceClient.from_connection_string(self.connection_str)
文件“C:\Python-InstallPath\lib\site-packages\azure\storage\blob_blob_service_client.py”,第 174 行,在 from_connection_string 中
enter code here
account_url, 辅助, 凭证 = parse_connection_str(conn_str, 凭证, 'blob')
文件“C:\Python-InstallPath\lib\site-packages\azure\storage\blob_shared\base_client.py”,第 363 行,在 parse_connection_str 中
conn_str = conn_str.rstrip(";")
AttributeError: 'NoneType' 对象没有属性 'rstrip'
我看到您正在尝试使用 os.getenv
检索 connection_str
。但是,如果 connection_str
不是环境值,则此方法 returns None
可能是这种情况,因为您的错误状态为 AttributeError: 'NoneType' object has no attribute 'rstrip'
.
将 connection_str
添加到您的环境变量可能会解决您的错误。或者,您也可以在 create_container_sample()
方法中为 connection_str
创建一个参数,然后将 connection_str
作为变量传递以测试您的代码。
我试图在我的系统中重现该场景。
请检查您是否正确添加了环境变量。使用
'URL' in os.environ
检查环境是否存在(真或假)
在命令提示符中添加环境变量
set URL=https://pythonazurestorage12345.blob.core.windows.net
设置
尝试使用此代码
import os, uuid
from azure.storage.blob import BlobServiceClient,BlobClient,ContainerClient,__version__
print('URL' in os.environ)
connection_str = os.getenv("URL")
blob_service_client = BlobServiceClient.from_connection_string(connection_str)
# Instantiate a new ContainerClient
container_client = blob_service_client.get_container_client("testcontainers")
container_client.create_container()
输出
在 Azure 门户中成功创建容器
我遇到了同样的错误,但没有解决办法。直到我阅读了 Azure 的文档,他们才稍微改变了一些东西。
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
之后您需要重新启动您的编辑器。一切都会奏效。 :)
I am a novice in Python programming and trying to create a blob container using python. Even after following the documented steps, I see the below error.
Here is my code:
import os, uuid
from azure.storage.blob import BlobServiceClient,BlobClient,ContainerClient,__version__
class BlobSamples():
print("Azure Blob Storage v" + __version__ + " - Python quickstart sample")
connection_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')
print("Connection established to Azure storage account from the Python App")
#--Begin Blob Samples-----------------------------------------------------------------
def create_container_sample(self):
# Instantiate a new BlobServiceClient using a connection string
blob_service_client = BlobServiceClient.from_connection_string(self.connection_str)
# Instantiate a new ContainerClient
container_client = blob_service_client.get_container_client("mycontainer")
try:
# Create new container in the service
container_client.create_container()
# List containers in the storage account
list_response = blob_service_client.list_containers()
except Exception as ex:
print('Exception:')
print(ex)
#main program
sample = BlobSamples()
sample.create_container_sample()
**Error:**
py ConnectionString.py
Azure Blob 存储 v12.9.0 - Python 快速入门示例
从 Python 应用程序建立到 Azure 存储帐户的连接
追溯(最近一次通话):
文件“C:\Technical docs\cloud computing\MS Azure\blob-quickstart-v12\menu-driven-strg-ops\ConnectionString.py”,第 31 行,位于
sample.create_container_sample()
文件“C:\Technical docs\cloud computing\MS Azure\blob-quickstart-v12\menu-driven-strg-ops\ConnectionString.py”,第 16 行,在 create_container_sample 中
blob_service_client = BlobServiceClient.from_connection_string(self.connection_str)
文件“C:\Python-InstallPath\lib\site-packages\azure\storage\blob_blob_service_client.py”,第 174 行,在 from_connection_string 中
enter code here
account_url, 辅助, 凭证 = parse_connection_str(conn_str, 凭证, 'blob')
文件“C:\Python-InstallPath\lib\site-packages\azure\storage\blob_shared\base_client.py”,第 363 行,在 parse_connection_str 中
conn_str = conn_str.rstrip(";")
AttributeError: 'NoneType' 对象没有属性 'rstrip'
我看到您正在尝试使用 os.getenv
检索 connection_str
。但是,如果 connection_str
不是环境值,则此方法 returns None
可能是这种情况,因为您的错误状态为 AttributeError: 'NoneType' object has no attribute 'rstrip'
.
将 connection_str
添加到您的环境变量可能会解决您的错误。或者,您也可以在 create_container_sample()
方法中为 connection_str
创建一个参数,然后将 connection_str
作为变量传递以测试您的代码。
我试图在我的系统中重现该场景。
请检查您是否正确添加了环境变量。使用
'URL' in os.environ
检查环境是否存在(真或假)
在命令提示符中添加环境变量
set URL=https://pythonazurestorage12345.blob.core.windows.net
设置
尝试使用此代码
import os, uuid
from azure.storage.blob import BlobServiceClient,BlobClient,ContainerClient,__version__
print('URL' in os.environ)
connection_str = os.getenv("URL")
blob_service_client = BlobServiceClient.from_connection_string(connection_str)
# Instantiate a new ContainerClient
container_client = blob_service_client.get_container_client("testcontainers")
container_client.create_container()
输出
在 Azure 门户中成功创建容器
我遇到了同样的错误,但没有解决办法。直到我阅读了 Azure 的文档,他们才稍微改变了一些东西。
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
之后您需要重新启动您的编辑器。一切都会奏效。 :)