Azure Python SDK:BlobServiceClient 与 BlobClient?
Azure Python SDK: BlobServiceClient vs. BlobClient?
我见过的大多数(全部?)Azure 存储 Python SDK 示例都演示了创建 BlobServiceClient
,然后创建 BlobClient
用于上传/下载 blob( ref1, ref2,等等)。
为什么先创建 BlobServiceClient
然后再创建 BlobClient
而不是直接创建 BlobClient
?
示例:
from azure.storage.blob import BlobClient
def create_blob_client(connection_string):
try:
blob_client = BlobClient.from_connection_string(connection_string)
except Exception as e:
logging.error(f"Error creating Blob Service Client: {e}")
return blob_client
connection_string = os.environ["CONNECTION_STRING"]
blob_client = create_blob_client(connection_string)
Why create a BlobServiceClient then a BlobClient instead of just
directly creating a BlobClient?
BlobClient
只允许您使用 blob,因此如果您只想使用 blob,您可以直接创建一个 BlobClient 并使用它。您无需先创建 BlobServiceClient,然后再从中创建 BlobClient。
BlobServiceClient
出现在图片中如果你想在 blob 服务级别执行操作,例如在存储帐户中设置 CORS 或列出 blob 容器。那个时候你就需要BlobServiceClient了。
如果您已经创建了 BlobServiceClient
并提供了连接信息,BlobServiceClient.get_blob_client
只是一种轻松获取 BlobClient
的便捷方法。 BlobServiceClient API 表示:
This client provides operations to retrieve and configure the account properties as well as list, create and delete containers within the account. For operations relating to a specific container or blob, clients for those entities can also be retrieved using the get_client functions.
如果这就是您的用例所需要的(例如,您的容器已经创建),直接创建 BlobClient
没有错。文档和示例可能使用 BlobServiceClient.get_blob_client
方法,因为它们通常是端到端的,即创建容器、上传 blob、删除容器等。
我见过的大多数(全部?)Azure 存储 Python SDK 示例都演示了创建 BlobServiceClient
,然后创建 BlobClient
用于上传/下载 blob( ref1, ref2,等等)。
为什么先创建 BlobServiceClient
然后再创建 BlobClient
而不是直接创建 BlobClient
?
示例:
from azure.storage.blob import BlobClient
def create_blob_client(connection_string):
try:
blob_client = BlobClient.from_connection_string(connection_string)
except Exception as e:
logging.error(f"Error creating Blob Service Client: {e}")
return blob_client
connection_string = os.environ["CONNECTION_STRING"]
blob_client = create_blob_client(connection_string)
Why create a BlobServiceClient then a BlobClient instead of just directly creating a BlobClient?
BlobClient
只允许您使用 blob,因此如果您只想使用 blob,您可以直接创建一个 BlobClient 并使用它。您无需先创建 BlobServiceClient,然后再从中创建 BlobClient。
BlobServiceClient
出现在图片中如果你想在 blob 服务级别执行操作,例如在存储帐户中设置 CORS 或列出 blob 容器。那个时候你就需要BlobServiceClient了。
BlobServiceClient
并提供了连接信息,BlobServiceClient.get_blob_client
只是一种轻松获取 BlobClient
的便捷方法。 BlobServiceClient API 表示:
This client provides operations to retrieve and configure the account properties as well as list, create and delete containers within the account. For operations relating to a specific container or blob, clients for those entities can also be retrieved using the get_client functions.
如果这就是您的用例所需要的(例如,您的容器已经创建),直接创建 BlobClient
没有错。文档和示例可能使用 BlobServiceClient.get_blob_client
方法,因为它们通常是端到端的,即创建容器、上传 blob、删除容器等。