你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

aio 包

BlobClient

用于与特定 Blob 交互的客户端,尽管该 Blob 可能尚不存在。

BlobLeaseClient

创建新的 BlobLeaseClient。

此客户端在 BlobClient 或 ContainerClient 上提供租约操作。

BlobPrefix

Blob 属性的可迭代项。

使用分隔符时从 walk_blobs 返回。 可视为虚拟 Blob 目录。

BlobServiceClient

在帐户级别与 Blob 服务交互的客户端。

此客户端提供检索和配置帐户属性的操作,以及列出、创建和删除帐户中的容器。 对于与特定容器或 Blob 相关的操作,也可以使用 get_client 函数检索这些实体的客户端。

ContainerClient

与特定容器交互的客户端,尽管该容器可能尚不存在。

对于与此容器中的特定 Blob 相关的操作,可以使用 函数检索 get_blob_client Blob 客户端。

ExponentialRetry

指数重试。

构造指数重试对象。 initial_backoff用于第一次重试。 后续重试在 initial_backoff + increment_power^retry_count 秒后重试。 例如,默认情况下,第一次重试在 15 秒后发生,第二次重试在 (15+3^1) = 18 秒后发生,第三次重试在 15+3^2) = 24 秒后 (发生。

LinearRetry

线性重试。

构造线性重试对象。

StorageStreamDownloader

要从 Azure 存储下载的流式处理对象。

函数

download_blob_from_url

将 Blob 的内容下载到本地文件或流。

async download_blob_from_url(blob_url: str, output: str, credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long = None, **kwargs) -> None

参数

blob_url
str
必需

Blob 的完整 URI。 这还可以包括 SAS 令牌。

output
str 或 <xref:<xref:writable stream>>
必需

数据应下载到的位置。 这可以是要写入的文件路径,也可以是要写入的开放 IO 句柄。

credential
默认值: None

用于进行身份验证的凭据。 如果 Blob URL 已具有 SAS 令牌或 blob 是公共的,则这是可选的。 该值可以是 SAS 令牌字符串、AzureSasCredential 的实例或 azure.core.credentials 中的 AzureNamedKeyCredential、帐户共享访问密钥或 azure.identity 中的 TokenCredentials 类的实例。 如果资源 URI 已包含 SAS 令牌,则会忽略此令牌,转而使用显式凭据

  • AzureSasCredential 的情况除外,其中冲突的 SAS 令牌将引发 ValueError。 如果使用 AzureNamedKeyCredential 的实例,则“name”应为存储帐户名称,“密钥”应为存储帐户密钥。
overwrite
bool

如果本地文件已存在,是否应覆盖该文件。 默认值为 False - 在这种情况下,如果文件已存在,将引发 ValueError。 如果设置为 True,则将尝试写入现有文件。 如果传入流句柄,则忽略此值。

max_concurrency
int

要下载的并行连接数。

offset
int

要用于下载 Blob 部分的字节范围的起始。 如果提供了长度,则必须设置 。

length
int

要从流中读取的字节数。 这是可选的,但应提供以获得最佳性能。

validate_content
bool

如果为 true,则计算 Blob 的每个区块的 MD5 哈希。 存储服务会检查随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,此 MD5 哈希值不与 Blob 一起存储。 另请注意,如果启用,将不会使用内存高效上传算法,因为计算 MD5 哈希需要缓冲整个块,这样做会破坏内存高效算法的用途。

返回类型

upload_blob_to_url

将数据上传到给定 URL

数据将作为块 Blob 上传。

param str blob_url:Blob 的完整 URI。 这还可以包括 SAS 令牌。

参数数据:要上传的数据。 这可以是字节、文本、可迭代对象或类似文件的对象。

类型数据:bytes or str 或 Iterable

async upload_blob_to_url(blob_url: str, data: Union[Iterable[AnyStr], IO[AnyStr]], credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long = None, **kwargs) -> dict[str, Any]

参数

credential
默认值: None

用于进行身份验证的凭据。 如果 Blob URL 已有 SAS 令牌,则这是可选的。 该值可以是 SAS 令牌字符串、AzureSasCredential 的实例或 azure.core.credentials 中的 AzureNamedKeyCredential、帐户共享访问密钥或 azure.identity 中的 TokenCredentials 类的实例。 如果资源 URI 已包含 SAS 令牌,则会忽略此令牌,转而使用显式凭据

  • AzureSasCredential 的情况除外,其中冲突的 SAS 令牌将引发 ValueError。 如果使用 AzureNamedKeyCredential 的实例,则“name”应为存储帐户名称,“密钥”应为存储帐户密钥。

paramtype 凭据:Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, “TokenCredential”]] # pylint: disable=line-too-long

关键字 (keyword) 布尔覆盖:要上传的 Blob 是否应覆盖当前数据。 如果为 True,upload_blob_to_url将覆盖任何现有数据。 如果设置为 False,操作将失败并显示 ResourceExistsError。

关键字 (keyword) int max_concurrency:要下载的并行连接数。

关键字 (keyword) int 长度:要从流中读取的字节数。 这是可选的,但应提供以获得最佳性能。

关键字 (keyword) dict (str,str) 元数据:与作为元数据的 Blob 关联的名称-值对。

关键字 (keyword) bool validate_content:如果为 true,则计算 blob 的每个区块的 MD5 哈希。 存储服务会检查随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,此 MD5 哈希值不与 Blob 一起存储。 另请注意,如果启用,将不会使用内存高效上传算法,因为计算 MD5 哈希需要缓冲整个块,这样做会破坏内存高效算法的用途。

关键字 (keyword) str 编码:将文本作为输入提供时要使用的编码。 默认为 UTF-8。

返回结果:Blob 更新的属性 dict (Etag 和上次修改)

rtype:dict (str、Any)

blob_url
data