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

BaseBlobService 类

这是管理 Blob 资源的main类。

Blob 服务将文本和二进制数据以 Blob 形式存储在云中。 BLOB 服务提供以下三种资源:存储帐户、容器和 Blob。 在存储帐户中,容器提供组织 Blob 集的方法。 有关详细信息,请参阅: https://msdn.microsoft.com/en-us/library/azure/ee691964.aspx

:type ~azure.storage.common.TokenCredential

继承
BaseBlobService

构造函数

BaseBlobService(account_name=None, account_key=None, sas_token=None, is_emulated=False, protocol='https', endpoint_suffix='core.windows.net', custom_domain=None, request_session=None, connection_string=None, socket_timeout=None, token_credential=None)

参数

account_name
str
默认值: None

存储帐户名称。 这用于对使用帐户密钥签名的请求进行身份验证,并构造存储终结点。 除非提供了连接字符串,或者自定义域与匿名身份验证一起使用,否则是必需的。

account_key
str
默认值: None

存储帐户密钥。 这用于共享密钥身份验证。 如果未指定帐户密钥或 sas 令牌,则将使用匿名访问。

sas_token
str
默认值: None

用于对请求进行身份验证的共享访问签名令牌,而不是帐户密钥。 如果同时指定了帐户密钥和 sas 令牌,则将使用帐户密钥进行签名。 如果两者均未指定,则将使用匿名访问。

is_emulated
bool
默认值: False

是否使用模拟器。 默认为 False。 如果指定, 将替代除连接字符串和请求会话以外的所有其他参数。

protocol
str
默认值: https

用于请求的协议。 默认为 https。

endpoint_suffix
str
默认值: core.windows.net

URL 的主机基组件减去帐户名称。 默认为 Azure (core.windows.net) 。 重写此项以使用中国云 (core.chinacloudapi.cn) 。

custom_domain
str
默认值: None

要使用的自定义域。 这可以在 Azure 门户中进行设置。 例如,“www.mydomain.com”。

request_session
<xref:requests.Session>
默认值: None

用于 http 请求的会话对象。

connection_string
str
默认值: None

如果指定,这将替代请求会话以外的所有其他参数。 有关连接字符串格式,请参阅http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/

socket_timeout
int
默认值: None

如果指定,这将替代默认套接字超时。 指定的超时值以秒为单位。 有关默认值,请参阅 _constants.py 中的DEFAULT_SOCKET_TIMEOUT。

token_credential
默认值: None

用于对 HTTPS 请求进行身份验证的令牌凭据。 令牌值应在过期之前更新。

变量

MAX_SINGLE_GET_SIZE
int

如果max_connections大于 1,则第一个范围的大小由 get_blob_to_* 方法执行。 如果 blob 小于此大小,则返回的数据将更少。

MAX_CHUNK_GET_SIZE
int

如果max_connections大于 1 且 blob 大于 MAX_SINGLE_GET_SIZE,则后续范围的大小由 get_blob_to_* 方法执行。 如果 blob 的其余部分小于此值,则返回的数据将更少。 如果此值设置为大于 4MB,content_validation将引发错误(如果启用)。 但是,如果不需要content_validation,则大于 4MB 的大小可能是最佳选择。 不建议将其设置为低于 4MB。

key_encryption_key
object

用户(可选)提供的 key-encryption-key。 如果提供, 将用于在支持的方法中加密/解密。 对于需要解密的方法,必须提供 key_encryption_key 或 冲突解决程序。 如果同时提供两者,则解析程序优先。 必须为需要加密的 API 实现以下方法:wrap_key (密钥) 使用用户选择的算法) 包装指定的密钥 (字节。 以字节形式返回加密密钥。 get_key_wrap_algorithm () – 返回用于包装指定对称密钥的算法。 get_kid () – 返回此密钥加密密钥的字符串密钥 ID。 必须为需要解密的 API 实现以下方法:unwrap_key (密钥、算法) - 使用字符串指定的算法返回指定对称密钥的未包装形式。 get_kid () – 返回此密钥加密密钥的字符串密钥 ID。

key_resolver_function
kid) (<xref:function>

用于解析用户(可选)提供的密钥的函数。 如果提供, 将用于在支持的方法中解密。 对于需要解密的方法,必须提供 key_encryption_key 或 冲突解决程序。 如果同时提供两者,则解析程序优先。 它使用子字符串返回实现上面定义的接口的 key-encryption-key。

require_encryption
bool

可以设置的标志,以确保成功上传到队列的所有消息以及从队列中下载和成功读取的所有消息在服务器上都已加密。 如果设置了此标志,则必须提供加密/解密所需的所有参数。 请参阅上述有关key_encryption_key和解析程序的注释。

方法

abort_copy_blob

中止挂起的copy_blob操作,并将目标 blob 保留为零长度和完整元数据。

acquire_blob_lease

请求新的租约。 如果 Blob 没有活动租约,BLOB 服务将在 Blob 上创建一个租约并返回新的租约 ID。

acquire_container_lease

请求新的租约。 如果容器没有活动租约,则 BLOB 服务会在该容器上创建一个租约,并返回新的租约 ID。

batch_delete_blobs

发送一批多个 Blob 删除请求。

blob delete 方法删除指定的 blob 或快照。 请注意,删除 Blob 也会删除其所有快照。 有关详细信息,请参阅 https://docs.microsoft.com/rest/api/storageservices/delete-blob

break_blob_lease

如果 blob 具有活动租约,则中断租约。 在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对 blob 执行任何租约操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。

也可以释放已中断的租约,此时,其他客户端可以立即获取 Blob 的租约。

break_container_lease

如果容器具有活动租约,则中断租约。 在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对容器执行任何租用操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。

change_blob_lease

更改活动租约的租约 ID。 更改必须包括当前租约 ID 和新的租约 ID。

change_container_lease

更改活动租约的租约 ID。 更改必须包括当前租约 ID 和新的租约 ID。

copy_blob

异步复制 Blob。 此操作返回复制操作属性对象,包括可用于检查或中止复制操作的副本 ID。 BLOB 服务尽量复制 Blob。

复制操作的源 Blob 可以是块 Blob、追加 Blob 或页 Blob。 如果目标 Blob 已存在,该 Blob 的类型必须与源 Blob 的类型相同。 将覆盖任何现有的目标 Blob。 复制操作进行时不能修改目标 Blob。

从页 Blob 复制时,Blob 服务会创建源 Blob 长度的目标页 Blob,最初包含所有零。 然后枚举页面范围,复制非空范围。

对于块 Blob 或追加 Blob,Blob 服务会在从此操作返回之前创建长度为零的已提交 blob。 从块 Blob 复制时,将复制所有提交的块及其块 ID。 不会复制未提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。

从追加 Blob 复制时,将复制所有提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。

对于所有 Blob 类型,可以调用目标 blob 上的get_blob_properties来检查复制操作的状态。 完成复制时,将提交最终的 Blob。

create_container

在指定的帐户下创建新容器。 如果已存在同名的容器,则如果fail_on_exist为 True,则操作将失败。

delete_blob

标记要删除的指定 blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。

请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

如果为服务启用了删除保留策略,则此操作将软删除 blob 或快照,并将 blob 或快照保留指定的天数。 在指定的天数后,Blob 的数据在垃圾回收期间会从服务中删除。 可以通过指定 include=Include.Deleted 选项的列表 Blob API 访问软删除的 blob 或快照。 可以使用 Undelete API 还原软删除的 blob 或快照。

delete_container

标记要删除的指定容器。 在稍后的垃圾回收期间,将删除该容器及其包含的任何 Blob。

exists

返回一个布尔值,指示容器是否存在 (如果blob_name为 None) ,则返回一个布尔值,否则返回一个指示 blob 是否存在的布尔值。

extract_date_and_request_id
generate_account_shared_access_signature

为 Blob 服务生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

generate_blob_shared_access_signature

为 Blob 或其快照之一生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

generate_container_shared_access_signature

为容器生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

get_blob_account_information

获取与存储帐户相关的信息。 如果用户具有对容器或 Blob 的 SAS,也可以检索该信息。

get_blob_metadata

返回指定 blob 或快照的所有用户定义的元数据。

get_blob_properties

返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。 返回 BlobBlobProperties 和 元数据听写。

get_blob_service_properties

获取存储帐户的 Blob 服务的属性,包括 Azure 存储分析。

get_blob_service_stats

检索与 Blob 服务的复制有关的统计信息。 仅当为存储帐户启用了读取访问异地冗余复制时,它才可用。

通过地域冗余复制,Azure 存储服务在两个位置维护你的持久数据。 在这两个位置,Azure 存储始终维护您数据的多个运行正常副本。 读取、创建、更新或删除数据的位置称为“主”存储帐户位置。 主要位置存在于你通过 Azure 管理 Azure 经典门户(例如美国中北部)创建帐户时选择的区域。 数据复制到的位置为“辅助”位置。 根据主位置自动确定辅助位置,它在主位置所在区域中的第二个数据中心内。 如果为存储帐户启用了“读访问的地域冗余复制”,则可对辅助位置执行只读访问。

get_blob_to_bytes

将 Blob 下载为字节数组,并提供自动分块和进度通知。 返回具有属性、元数据和内容的 实例 Blob

get_blob_to_path

使用自动分块和进度通知将 Blob 下载到文件路径。 返回具有属性和元数据的 Blob 实例。

get_blob_to_stream

使用自动分块和进度通知将 Blob 下载到流。 返回具有属性和元数据的 Blob 实例。

get_blob_to_text

下载 blob 作为 unicode 文本,并带有自动分块和进度通知。 返回具有属性、元数据和内容的 实例 Blob

get_container_acl

获取指定容器的权限。 这些权限指示是否可以公开访问容器数据。

get_container_metadata

返回指定容器的所有用户定义的元数据。

get_container_properties

返回指定容器的所有用户定义的元数据和系统属性。 返回的数据不包含该容器的 Blob 列表。

get_user_delegation_key

获取用于对 SAS 令牌进行签名的用户委派密钥。 服务对象上必须存在令牌凭据,此请求才能成功。

list_blob_names

返回一个生成器,用于列出指定容器下的 Blob 名称。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有 blob 或到达num_results时停止。

如果指定了num_results,并且帐户的 blob 数超过该数目,则生成器在完成时将具有填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

list_blobs

返回一个生成器,用于列出指定容器下的 Blob。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有 blob 或到达num_results时停止。

如果指定了num_results,并且帐户的 blob 数超过该数目,则生成器在完成时将具有填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

list_containers

返回一个生成器,用于列出指定帐户下的容器。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有容器或到达num_results时停止。

如果指定了num_results,并且帐户的容器数超过该数目,则生成器将在完成后填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

make_blob_url

创建用于访问 Blob 的 URL。

make_container_url

创建用于访问容器的 URL。

release_blob_lease

释放租约。 如果在请求中指定的租约 ID 与 Blob 的关联租约 ID 匹配,则可以释放租约。 通过释放租约,其他客户端可以在释放完成后立即获取 Blob 的租约。

release_container_lease

释放租约。 如果指定的lease_id与容器关联的匹配,则可能会释放租约。 通过释放租约,其他客户端可以在释放完成时立即获取该容器的租约。

renew_blob_lease

续订租约。 如果在请求中指定的租约 ID 与 Blob 的关联租约 ID 匹配,则可以续订租约。 请注意,即使租约已过期,但只要在该租约过期后未修改或再次租用 Blob,就可以续订租约。 在续订租约时,将重置租约持续时间时钟。

renew_container_lease

续订租约。 如果指定的租约 ID 与容器关联的 ID 匹配,则可以续订租约。 请注意,只要自租约过期以来尚没有再次租用容器,即使租约已过期,也可以对其进行续订。 在续订租约时,将重置租约持续时间时钟。

set_blob_metadata

将特定 blob 的用户定义元数据设置为一个或多个名称/值对。

set_blob_properties

在 blob 上设置系统属性。 如果为content_settings设置了一个属性,则将重写所有属性。

set_blob_service_properties

设置存储帐户的 Blob 服务的属性,包括 Azure 存储分析。 如果某个元素 (ex Logging) 保留为 None,则会保留该服务上针对该功能的现有设置。

set_container_acl

为可能与共享访问签名一起使用的指定容器或存储访问策略设置权限。 这些权限指示是否可以公开访问容器中的 Blob。

set_container_metadata

为指定的容器设置一个或多个用户定义的名称/值对。 每次调用此操作时,将替换与容器关联的所有现有的元数据。 若要从容器中删除所有元数据,请在不带元数据 dict 的情况下调用此操作。

set_proxy

设置 HTTP CONNECT 隧道的代理服务器主机和端口。

snapshot_blob

创建 Blob 的只读快照。

undelete_blob

取消删除 Blob 操作可还原软删除 blob 或快照的内容和元数据。 尝试取消删除未软删除的 blob 或快照将成功,而不会进行任何更改。

abort_copy_blob

中止挂起的copy_blob操作,并将目标 blob 保留为零长度和完整元数据。

abort_copy_blob(container_name, blob_name, copy_id, lease_id=None, timeout=None)

参数

container_name
str
必需

目标容器的名称。

blob_name
str
必需

目标 Blob 的名称。

copy_id
str
必需

原始copy_blob操作 copy.id 中提供的复制标识符。

lease_id
str
默认值: None

如果目标 Blob 具有活动无限期租约,则是必需的。

timeout
int
默认值: None

超时参数以秒表示。

acquire_blob_lease

请求新的租约。 如果 Blob 没有活动租约,BLOB 服务将在 Blob 上创建一个租约并返回新的租约 ID。

acquire_blob_lease(container_name, blob_name, lease_duration=-1, proposed_lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

lease_duration
int
默认值: -1

指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。 默认值为 -1, (无限租约) 。

proposed_lease_id
str
默认值: None

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租约 ID 格式不正确,Blob 服务将返回 400 (无效请求) 。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

返回

str

acquire_container_lease

请求新的租约。 如果容器没有活动租约,则 BLOB 服务会在该容器上创建一个租约,并返回新的租约 ID。

acquire_container_lease(container_name, lease_duration=-1, proposed_lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_duration
int
默认值: -1

指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。 默认值为 -1, (无限租约) 。

proposed_lease_id
str
默认值: None

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租约 ID 格式不正确,Blob 服务将返回 400 (无效请求) 。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

str

batch_delete_blobs

发送一批多个 Blob 删除请求。

blob delete 方法删除指定的 blob 或快照。 请注意,删除 Blob 也会删除其所有快照。 有关详细信息,请参阅 https://docs.microsoft.com/rest/api/storageservices/delete-blob

batch_delete_blobs(batch_delete_sub_requests, timeout=None)

参数

batch_delete_sub_requests
list(BatchDeleteSubRequest)
必需

Blob 删除请求以批处理的形式发送。

timeout
int
默认值: None

超时参数以秒表示。

返回

分析的批处理删除 HTTP 响应

返回类型

break_blob_lease

如果 blob 具有活动租约,则中断租约。 在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对 blob 执行任何租约操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。

也可以释放已中断的租约,此时,其他客户端可以立即获取 Blob 的租约。

break_blob_lease(container_name, blob_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

lease_break_period
int
默认值: None

对于中断操作,这是租约在中断前应继续的建议秒持续时间,介于 0 到 60 秒之间。 只有在少于租约的剩余时间时,才能使用中断期。 如果超过租约的剩余时间,则使用租约的剩余时间。 在中断期到期之前,无法使用新租约,但可以将租约保留到超过中断期。 如果此标头未随中断操作一起出现,则固定持续时间的租约将在剩余租约期过后中断,无限租约将立即中断。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

返回

int

break_container_lease

如果容器具有活动租约,则中断租约。 在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对容器执行任何租用操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。

break_container_lease(container_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_break_period
int
默认值: None

这是租约在中断前应继续的建议秒持续时间,介于 0 到 60 秒之间。 只有在少于租约的剩余时间时,才能使用中断期。 如果超过租约的剩余时间,则使用租约的剩余时间。 在中断期到期之前,无法使用新租约,但可以将租约保留到超过中断期。 如果此标头未随中断操作一起出现,则固定持续时间的租约将在剩余租约期过后中断,无限租约将立即中断。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

int

change_blob_lease

更改活动租约的租约 ID。 更改必须包括当前租约 ID 和新的租约 ID。

change_blob_lease(container_name, blob_name, lease_id, proposed_lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

lease_id
str
必需

如果 Blob 具有活动租约,则是必需的。

proposed_lease_id
str
必需

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租用 ID 格式不正确,Blob 服务将返回 400 (无效请求) 。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

change_container_lease

更改活动租约的租约 ID。 更改必须包括当前租约 ID 和新的租约 ID。

change_container_lease(container_name, lease_id, proposed_lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
str
必需

活动租约的租约 ID。

proposed_lease_id
str
必需

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租用 ID 格式不正确,Blob 服务将返回 400 (无效请求) 。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

copy_blob

异步复制 Blob。 此操作返回复制操作属性对象,包括可用于检查或中止复制操作的副本 ID。 BLOB 服务尽量复制 Blob。

复制操作的源 Blob 可以是块 Blob、追加 Blob 或页 Blob。 如果目标 Blob 已存在,该 Blob 的类型必须与源 Blob 的类型相同。 将覆盖任何现有的目标 Blob。 复制操作进行时不能修改目标 Blob。

从页 Blob 复制时,Blob 服务会创建源 Blob 长度的目标页 Blob,最初包含所有零。 然后枚举页面范围,复制非空范围。

对于块 Blob 或追加 Blob,Blob 服务会在从此操作返回之前创建长度为零的已提交 blob。 从块 Blob 复制时,将复制所有提交的块及其块 ID。 不会复制未提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。

从追加 Blob 复制时,将复制所有提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。

对于所有 Blob 类型,可以调用目标 blob 上的get_blob_properties来检查复制操作的状态。 完成复制时,将提交最终的 Blob。

copy_blob(container_name, blob_name, copy_source, metadata=None, source_if_modified_since=None, source_if_unmodified_since=None, source_if_match=None, source_if_none_match=None, destination_if_modified_since=None, destination_if_unmodified_since=None, destination_if_match=None, destination_if_none_match=None, destination_lease_id=None, source_lease_id=None, timeout=None)

参数

container_name
str
必需

目标容器的名称。 容器必须存在。

blob_name
str
必需

目标 Blob 的名称。 如果目标 Blob 存在,则会覆盖它。 如果不存在,则创建该 URI。

copy_source
str
必需

长度为 2 KB 的 URL,用于指定 Azure 文件或 Blob。 此值应为 URL 编码,如同它显示在请求 URI 中那样。 如果源位于另一个帐户中,则源必须是公共的,或者必须通过共享访问签名进行身份验证。 如果源是公共的,则无需身份验证。 示例:https://myaccount.blob.core.windows.net/mycontainer/myblobhttps://myaccount.blob.core.windows.net/mycontainer/myblob?快照=https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken

metadata
dict(str, str)
默认值: None

作为元数据、与 Blob 关联的名称-值对。 如果未指定名称/值对,则操作会将元数据从源 Blob 或文件复制到目标 Blob。 如果指定了一个或多个名称/值对,则使用指定的元数据创建目标 Blob,并且不会从源 Blob 或文件复制元数据。

source_if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后发生了修改时才复制 Blob。

source_if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后未修改时才复制 Blob。

source_if_match
<xref:ETag>
默认值: None

ETag 值或通配符 (*)。 如果指定此条件头,则仅当源 Blob 的 ETag 与指定的值匹配时才复制源 Blob。 如果 ETag 值不匹配,BLOB 服务将返回状态代码 412(不满足前提条件)。 如果源是 Azure 文件,则无法指定此标头。

source_if_none_match
<xref:ETag>
默认值: None

ETag 值或通配符 (*)。 如果指定此条件头,则仅当 Blob 的 ETag 与指定的值不匹配时才复制 Blob。 如果值相同,BLOB 服务将返回状态代码 412(不满足前提条件)。 如果源是 Azure 文件,则无法指定此标头。

destination_if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后发生了修改时才复制 Blob。 如果目标 Blob 未修改,BLOB 服务将返回状态代码 412(不满足前提条件)。

destination_if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后未修改时才复制 Blob。 如果目标 Blob 已修改,BLOB 服务将返回状态代码 412(不满足前提条件)。

destination_if_match
<xref:ETag>
默认值: None

ETag 值或通配符 (*)。 指定此条件标头的 ETag 值,仅当指定的 ETag 值与现有目标 Blob 的 ETag 值匹配时,才能复制 Blob。 如果目标 blob 的 ETag 与为 If-Match 指定的 ETag 不匹配,则 Blob 服务将返回状态代码 412 (先决条件失败) 。

destination_if_none_match
<xref:ETag>
默认值: None

ETag 值或通配符 () 。指定此条件标头的 ETag 值,以便仅当指定的 ETag 值与目标 Blob 的 ETag 值不匹配时复制 Blob。指定通配符 () 仅在目标 blob 不存在时才执行操作。 如果不满足指定的条件,BLOB 服务将返回状态代码 412(不满足前提条件)。

destination_lease_id
str
默认值: None

此标头的租约 ID 必须与目标 Blob 的租约 ID 匹配。 如果请求中不包含租约 ID 或租约 ID 无效,则操作将失败,且显示状态码 412(不满足前提条件)。

source_lease_id
str
默认值: None

仅当给定的租约 ID 与源 Blob 的活动租约 ID 匹配时,指定此项才能执行复制 Blob 操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

复制操作属性,例如状态、源和 ID。

返回类型

create_container

在指定的帐户下创建新容器。 如果已存在同名的容器,则如果fail_on_exist为 True,则操作将失败。

create_container(container_name, metadata=None, public_access=None, fail_on_exist=False, timeout=None)

参数

container_name
str
必需

要创建的容器的名称。 容器名称只能包含小写字母、数字和连字符,并且必须以字母或数字开头。 每个连字符的前后必须为非连字符字符。 名称的长度还必须介于 3 到 63 个字符之间。

metadata
dict(str, str)
默认值: None

包含name_value对的 dict,这些对作为元数据与容器相关联。 示例:{'Category':'test'}

public_access
PublicAccess
默认值: None

可能的值包括:container、blob。

fail_on_exist
bool
默认值: False

指定在容器存在时是否引发异常。

timeout
int
默认值: None

超时参数以秒表示。

返回

如果创建了容器,则为 True;如果容器已存在,则为 False。

返回类型

delete_blob

标记要删除的指定 blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。

请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

如果为服务启用了删除保留策略,则此操作将软删除 blob 或快照,并将 blob 或快照保留指定的天数。 在指定的天数后,Blob 的数据在垃圾回收期间会从服务中删除。 可以通过指定 include=Include.Deleted 选项的列表 Blob API 访问软删除的 blob 或快照。 可以使用 Undelete API 还原软删除的 blob 或快照。

delete_blob(container_name, blob_name, snapshot=None, lease_id=None, delete_snapshots=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要删除的 blob 快照。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

delete_snapshots
DeleteSnapshot
默认值: None

如果 Blob 有关联快照,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

delete_container

标记要删除的指定容器。 在稍后的垃圾回收期间,将删除该容器及其包含的任何 Blob。

delete_container(container_name, fail_not_exist=False, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

要删除的容器的名称。

fail_not_exist
bool
默认值: False

指定在容器不存在时是否引发异常。

lease_id
str
默认值: None

如果指定,delete_container仅当容器的租约处于活动状态且与此 ID 匹配时才会成功。 如果容器具有活动租约,则为必需。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

如果删除容器,则为 True,False 容器不存在。

返回类型

exists

返回一个布尔值,指示容器是否存在 (如果blob_name为 None) ,则返回一个布尔值,否则返回一个指示 blob 是否存在的布尔值。

exists(container_name, blob_name=None, snapshot=None, timeout=None)

参数

container_name
str
必需

容器的名称。

blob_name
str
默认值: None

Blob 的名称。 如果“无”,则会检查容器是否存在。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定快照。

timeout
int
默认值: None

超时参数以秒表示。

返回

指示资源是否存在的布尔值。

返回类型

extract_date_and_request_id

static extract_date_and_request_id(retry_context)

参数

retry_context
必需

generate_account_shared_access_signature

为 Blob 服务生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

generate_account_shared_access_signature(resource_types, permission, expiry, start=None, ip=None, protocol=None)

参数

resource_types
<xref:ResourceTypes>
必需

指定可通过帐户 SAS 访问的资源类型。

permission
<xref:AccountPermissions>
必需

与共享访问签名关联的权限。 用户只能执行权限允许的操作。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。

expiry
datetimestr
必需

共享访问签名变为无效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

start
datetimestr
默认值: None

共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

ip
str
默认值: None

指定从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。

protocol
str
默认值: None

指定允许发出的请求的协议。 默认值为 https,http。 有关可能的值,请参阅Protocol

返回

共享访问签名 (sas) 令牌。

返回类型

str

generate_blob_shared_access_signature

为 Blob 或其快照之一生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

generate_blob_shared_access_signature(container_name, blob_name, snapshot=None, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, user_delegation_key=None)

参数

container_name
str
必需

容器的名称。

blob_name
str
必需

Blob 的名称。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要授予权限的 blob 快照。

permission
BlobPermissions
默认值: None

与共享访问签名关联的权限。 用户只能执行权限允许的操作。 权限必须是对读取、写入、删除、列表进行排序。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。

expiry
datetimestr
默认值: None

共享访问签名变为无效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

start
datetimestr
默认值: None

共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

id
str
默认值: None

一个唯一值,长度最多为 64 个字符,与存储访问策略相关。 若要创建存储访问策略,请使用 set_container_acl

ip
str
默认值: None

指定从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。

protocol
str
默认值: None

指定允许发出的请求的协议。 默认值为 https,http。 有关可能的值,请参阅Protocol

cache_control
str
默认值: None

使用此共享访问签名访问资源时 Cache-Control 的响应标头值。

content_disposition
str
默认值: None

使用此共享访问签名访问资源时的内容处置的响应标头值。

content_encoding
str
默认值: None

使用此共享访问签名访问资源时的内容编码的响应标头值。

content_language
str
默认值: None

使用此共享访问签名访问资源时的内容语言的响应标头值。

content_type
str
默认值: None

使用此共享访问签名访问资源时 Content-Type 的响应标头值。

user_delegation_key
UserDelegationKey
默认值: None

用户可以传入用户委派密钥,而不是帐户密钥。 可以通过使用 AAD 标识进行身份验证,从服务获取用户委派密钥;这可以通过调用 get_user_delegation_key 来实现。 如果存在,则使用用户委派密钥对 SAS 进行签名。

返回

共享访问签名 (sas) 令牌。

返回类型

str

generate_container_shared_access_signature

为容器生成共享访问签名。 将返回的签名与任何 BlobService 的 sas_token 参数一起使用。

generate_container_shared_access_signature(container_name, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, user_delegation_key=None)

参数

container_name
str
必需

容器的名称。

permission
ContainerPermissions
默认值: None

与共享访问签名关联的权限。 用户只能执行权限允许的操作。 权限必须是对读取、写入、删除、列表进行排序。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。

expiry
datetimestr
默认值: None

共享访问签名变为无效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

start
datetimestr
默认值: None

共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。

id
str
默认值: None

一个唯一值,长度最多为 64 个字符,与存储访问策略相关。 若要创建存储访问策略,请使用 set_blob_service_properties。

ip
str
默认值: None

指定从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。

protocol
str
默认值: None

指定允许发出的请求的协议。 默认值为 https,http。 有关可能的值,请参阅Protocol

cache_control
str
默认值: None

使用此共享访问签名访问资源时 Cache-Control 的响应标头值。

content_disposition
str
默认值: None

使用此共享访问签名访问资源时的内容处置的响应标头值。

content_encoding
str
默认值: None

使用此共享访问签名访问资源时的内容编码的响应标头值。

content_language
str
默认值: None

使用此共享访问签名访问资源时的内容语言的响应标头值。

content_type
str
默认值: None

使用此共享访问签名访问资源时 Content-Type 的响应标头值。

user_delegation_key
UserDelegationKey
默认值: None

用户可以传入用户委派密钥,而不是帐户密钥。 可以通过使用 AAD 标识进行身份验证,从服务获取用户委派密钥;这可以通过调用 get_user_delegation_key 来实现。 如果存在,则使用用户委派密钥对 SAS 进行签名。

返回

共享访问签名 (sas) 令牌。

返回类型

str

get_blob_account_information

获取与存储帐户相关的信息。 如果用户具有对容器或 Blob 的 SAS,也可以检索该信息。

get_blob_account_information(container_name=None, blob_name=None, timeout=None)

参数

container_name
str
默认值: None

现有容器的名称。 可选,除非将 SAS 令牌用于特定容器或 Blob,在这种情况下,需要它。

blob_name
str
默认值: None

现有 Blob 的名称。 可选,除非将 SAS 令牌用于特定 Blob,在这种情况下需要它。

timeout
int
默认值: None

超时参数以秒表示。

返回

AccountInformation

get_blob_metadata

返回指定 blob 或快照的所有用户定义的元数据。

get_blob_metadata(container_name, blob_name, snapshot=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

snapshot
str
默认值: None

快照 参数是一个不透明值,如果存在,则指定要检索的 blob 快照。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。

返回

表示 Blob 元数据名称、值对的字典。

返回类型

get_blob_properties

返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。 返回 BlobBlobProperties 和 元数据听写。

get_blob_properties(container_name, blob_name, snapshot=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要检索的 blob 快照。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。

返回

包含属性和元数据的 Blob 对象。

返回类型

get_blob_service_properties

获取存储帐户的 Blob 服务的属性,包括 Azure 存储分析。

get_blob_service_properties(timeout=None)

参数

timeout
int
默认值: None

超时参数以秒表示。

返回

具有附加target_version属性的 Blob ServiceProperties

get_blob_service_stats

检索与 Blob 服务的复制有关的统计信息。 仅当为存储帐户启用了读取访问异地冗余复制时,它才可用。

通过地域冗余复制,Azure 存储服务在两个位置维护你的持久数据。 在这两个位置,Azure 存储始终维护您数据的多个运行正常副本。 读取、创建、更新或删除数据的位置称为“主”存储帐户位置。 主要位置存在于你通过 Azure 管理 Azure 经典门户(例如美国中北部)创建帐户时选择的区域。 数据复制到的位置为“辅助”位置。 根据主位置自动确定辅助位置,它在主位置所在区域中的第二个数据中心内。 如果为存储帐户启用了“读访问的地域冗余复制”,则可对辅助位置执行只读访问。

get_blob_service_stats(timeout=None)

参数

timeout
int
默认值: None

超时参数以秒表示。

返回

Blob 服务统计信息。

返回类型

get_blob_to_bytes

将 Blob 下载为字节数组,并提供自动分块和进度通知。 返回具有属性、元数据和内容的 实例 Blob

get_blob_to_bytes(container_name, blob_name, snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要检索的 blob 快照。

start_range
int
默认值: None

用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。

end_range
int
默认值: None

用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。

validate_content
bool
默认值: False

如果设置为 true,则验证 Blob 的每个检索部分的 MD5 哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,该服务将仅返回 4MB 或更小区块的事务 MD5,因此第一个获取请求的大小为自身。MAX_CHUNK_GET_SIZE而不是自我。MAX_SINGLE_GET_SIZE。 如果为 self。MAX_CHUNK_GET_SIZE设置为大于 4MB,将引发错误。 由于计算 MD5 需要处理时间,并且由于区块大小减小,需要完成更多请求,延迟可能会有所增加。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
默认值: None

使用签名函数 (当前总) 的进度回调,其中 current 是到目前为止传输的字节数,total 是 Blob 的大小(如果已知)。

max_connections
int
默认值: 2

如果设置为 2 或更大,则将为第一个自身执行初始获取。blob 的MAX_SINGLE_GET_SIZE字节。 如果这是整个 Blob,则方法此时返回 。 否则,它将使用等于 max_connections 的线程数并行下载剩余数据。 每个区块的大小为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵,或者不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,这可能也很有用,因为如果max_connections大于 1,空 blob 需要额外的请求。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。 此方法可能会对 Azure 服务进行多次调用,超时将分别应用于每个调用。

返回

具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回在 blob) 上设置的content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。

返回类型

get_blob_to_path

使用自动分块和进度通知将 Blob 下载到文件路径。 返回具有属性和元数据的 Blob 实例。

get_blob_to_path(container_name, blob_name, file_path, open_mode='wb', snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

file_path
str
必需

要写出到的文件的路径。

open_mode
str
默认值: wb

打开文件时要使用的模式。 请注意,仅指定追加open_mode会阻止并行下载。 因此,如果使用此open_mode,必须将max_connections设置为 1。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要检索的 blob 快照。

start_range
int
默认值: None

要用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。

end_range
int
默认值: None

用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。

validate_content
bool
默认值: False

如果设置为 true,则验证 Blob 的每个检索部分的 MD5 哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,该服务将仅返回 4MB 或更小区块的事务 MD5,因此第一个获取请求的大小为自身。MAX_CHUNK_GET_SIZE而不是自我。MAX_SINGLE_GET_SIZE。 如果为 self。MAX_CHUNK_GET_SIZE设置为大于 4MB,将引发错误。 由于计算 MD5 需要处理时间,并且由于区块大小减小,需要完成更多请求,延迟可能会有所增加。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
默认值: None

使用签名函数 (当前总) 的进度回调,其中 current 是到目前为止传输的字节数,total 是 Blob 的大小(如果已知)。

max_connections
int
默认值: 2

如果设置为 2 或更大,则将为第一个自身执行初始获取。blob 的MAX_SINGLE_GET_SIZE字节。 如果这是整个 Blob,则方法此时返回 。 否则,它将使用等于 max_connections 的线程数并行下载剩余数据。 每个区块的大小为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵,或者不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,这可能也很有用,因为如果max_connections大于 1,空 blob 需要额外的请求。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。 此方法可能会对 Azure 服务进行多次调用,超时将分别应用于每个调用。

返回

具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回在 blob) 上设置的content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。

返回类型

get_blob_to_stream

使用自动分块和进度通知将 Blob 下载到流。 返回具有属性和元数据的 Blob 实例。

get_blob_to_stream(container_name, blob_name, stream, snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

stream
IOBase
必需

已打开要写入的流。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要检索的 blob 快照。

start_range
int
默认值: None

要用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。

end_range
int
默认值: None

用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。

validate_content
bool
默认值: False

如果设置为 true,则验证 Blob 的每个检索部分的 MD5 哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,该服务将仅返回 4MB 或更小的区块的事务 MD5,因此第一个获取请求的大小为自身。MAX_CHUNK_GET_SIZE而不是自我。MAX_SINGLE_GET_SIZE。 如果为 self。MAX_CHUNK_GET_SIZE设置为大于 4MB,将引发错误。 由于计算 MD5 需要处理时间,并且由于区块大小减小,需要执行更多请求,延迟可能会有所增加。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
默认值: None

签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而总计是 blob 的大小(如果已知)。

max_connections
int
默认值: 2

如果设置为 2 或更大,则将为第一个自身完成初始获取。MAX_SINGLE_GET_SIZE blob 的字节。 如果这是整个 Blob,则 方法此时返回。 如果不是,它将使用等于max_connections的线程数并行下载剩余数据。 每个区块的大小均为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵或不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,因为如果max_connections大于 1,则需要对空 blob 执行额外的请求,这也可能很有用。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。 此方法可能会对 Azure 服务进行多次调用,超时将分别应用于每个调用。

返回

具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回对 blob) 设置content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。

返回类型

get_blob_to_text

下载 blob 作为 unicode 文本,并带有自动分块和进度通知。 返回具有属性、元数据和内容的 实例 Blob

get_blob_to_text(container_name, blob_name, encoding='utf-8', snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

encoding
str
默认值: utf-8

解码 Blob 数据时要使用的 Python 编码。

snapshot
str
默认值: None

快照 参数是一个不透明的 DateTime 值,如果存在,则指定要检索的 blob 快照。

start_range
int
默认值: None

用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。

end_range
int
默认值: None

用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。

validate_content
bool
默认值: False

如果设置为 true,则验证 Blob 的每个检索部分的 MD5 哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,该服务将仅返回 4MB 或更小的区块的事务 MD5,因此第一个获取请求的大小为自身。MAX_CHUNK_GET_SIZE而不是自我。MAX_SINGLE_GET_SIZE。 如果为 self。MAX_CHUNK_GET_SIZE设置为大于 4MB,将引发错误。 由于计算 MD5 需要处理时间,并且由于区块大小减小,需要执行更多请求,延迟可能会有所增加。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
默认值: None

签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而总计是 blob 的大小(如果已知)。

max_connections
int
默认值: 2

如果设置为 2 或更大,则将为第一个自身完成初始获取。MAX_SINGLE_GET_SIZE blob 的字节。 如果这是整个 Blob,则 方法此时返回。 如果不是,它将使用等于max_connections的线程数并行下载剩余数据。 每个区块的大小均为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵或不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,因为如果max_connections大于 1,则需要对空 blob 执行额外的请求,这也可能很有用。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。 此方法可能会对 Azure 服务进行多次调用,超时将分别应用于每个调用。

返回

具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回对 blob) 设置content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。

返回类型

get_container_acl

获取指定容器的权限。 这些权限指示是否可以公开访问容器数据。

get_container_acl(container_name, lease_id=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
默认值: None

如果指定,get_container_acl仅当容器的租约处于活动状态且与此 ID 匹配时才会成功。

timeout
int
默认值: None

超时参数以秒表示。

返回

与容器关联的访问策略字典。 如果打开公共访问,则为 str AccessPolicy 和 public_access 属性的 dict

get_container_metadata

返回指定容器的所有用户定义的元数据。

get_container_metadata(container_name, lease_id=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
str
默认值: None

如果指定,get_container_metadata仅当容器的租约处于活动状态且与此 ID 匹配时才会成功。

timeout
int
默认值: None

超时参数以秒表示。

返回

表示容器元数据名称、值对的字典。

返回类型

get_container_properties

返回指定容器的所有用户定义的元数据和系统属性。 返回的数据不包含该容器的 Blob 列表。

get_container_properties(container_name, lease_id=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
str
默认值: None

如果指定,get_container_properties仅当容器的租约处于活动状态且与此 ID 匹配时才会成功。

timeout
int
默认值: None

超时参数以秒表示。

返回

容器对象中指定容器的属性。

返回类型

get_user_delegation_key

获取用于对 SAS 令牌进行签名的用户委派密钥。 服务对象上必须存在令牌凭据,此请求才能成功。

get_user_delegation_key(key_start_time, key_expiry_time, timeout=None)

参数

key_start_time
datetime
必需

一个日期时间值。 指示密钥何时变为有效。

key_expiry_time
datetime
必需

一个日期时间值。 指示密钥何时停止有效。

timeout
int
默认值: None

超时参数以秒表示。

返回

用户委派密钥。

返回类型

list_blob_names

返回一个生成器,用于列出指定容器下的 Blob 名称。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有 blob 或到达num_results时停止。

如果指定了num_results,并且帐户的 blob 数超过该数目,则生成器在完成时将具有填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

list_blob_names(container_name, prefix=None, num_results=None, include=None, delimiter=None, marker=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

prefix
str
默认值: None

筛选结果以便仅返回名称以指定前缀开头的 Blob。

num_results
int
默认值: None

指定要返回的 Blob(包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 元素)的最大数量。 如果请求未指定num_results或指定的值大于 5,000,则服务器将返回最多 5,000 个项目。 将num_results设置为小于或等于零的值会导致错误响应代码 400 (错误的请求) 。

include
Include
默认值: None

指定要包含在响应中的一个或多个其他数据集。

delimiter
str
默认值: None

当请求包含此参数时,操作在结果列表中返回一个 BlobPrefix 元素,该元素充当所有 blob 的占位符,其名称以同一子字符串开头,一直以分隔符字符的外观开头。 分隔符可以是单个字符或字符串。

marker
str
默认值: None

不透明的延续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从上一个生成器对象的 next_marker 字段中检索此值。 如果指定,此生成器将从上一个生成器停止的点开始返回结果。

timeout
int
默认值: None

超时参数以秒表示。

list_blobs

返回一个生成器,用于列出指定容器下的 Blob。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有 blob 或到达num_results时停止。

如果指定了num_results,并且帐户的 blob 数超过该数目,则生成器在完成时将具有填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

list_blobs(container_name, prefix=None, num_results=None, include=None, delimiter=None, marker=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

prefix
str
默认值: None

筛选结果以便仅返回名称以指定前缀开头的 Blob。

num_results
int
默认值: None

指定要返回的 Blob(包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 元素)的最大数量。 如果请求未指定num_results或指定的值大于 5,000,则服务器将返回最多 5,000 个项目。 将num_results设置为小于或等于零的值会导致错误响应代码 400 (错误的请求) 。

include
Include
默认值: None

指定要包含在响应中的一个或多个其他数据集。

delimiter
str
默认值: None

当请求包含此参数时,操作在结果列表中返回一个 BlobPrefix 元素,该元素充当所有 blob 的占位符,其名称以同一子字符串开头,一直以分隔符字符的外观开头。 分隔符可以是单个字符或字符串。

marker
str
默认值: None

不透明的延续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从上一个生成器对象的 next_marker 字段中检索此值。 如果指定,此生成器将从上一个生成器停止的点开始返回结果。

timeout
int
默认值: None

超时参数以秒表示。

list_containers

返回一个生成器,用于列出指定帐户下的容器。 生成器将延迟跟踪服务返回的延续令牌,并在返回所有容器或到达num_results时停止。

如果指定了num_results,并且帐户的容器数超过该数目,则生成器将在完成后填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。

list_containers(prefix=None, num_results=None, include_metadata=False, marker=None, timeout=None)

参数

prefix
str
默认值: None

筛选结果以仅返回名称以指定前缀开头的容器。

num_results
int
默认值: None

指定要返回的最大容器数。 单个列表请求最多可以返回 1000 个 contianers,并可能返回一个继续标记,应遵循该令牌来获取其他请求。

include_metadata
bool
默认值: False

指定在响应中返回容器元数据。

marker
str
默认值: None

不透明的延续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从上一个生成器对象的 next_marker 字段中检索此值。 如果指定,此生成器将从上一个生成器停止的点开始返回结果。

timeout
int
默认值: None

超时参数以秒表示。

make_blob_url

创建用于访问 Blob 的 URL。

make_blob_url(container_name, blob_name, protocol=None, sas_token=None, snapshot=None)

参数

container_name
str
必需

容器的名称。

blob_name
str
必需

Blob 的名称。

protocol
str
默认值: None

要使用的协议:“http”或“https”。 如果未指定,则使用初始化 BaseBlobService 时指定的协议。

sas_token
str
默认值: None

使用 generate_shared_access_signature 创建的共享访问签名令牌。

snapshot
str
默认值: None

唯一标识快照的字符串值。 此查询参数的值指示快照版本。

返回

blob 访问 URL。

返回类型

str

make_container_url

创建用于访问容器的 URL。

make_container_url(container_name, protocol=None, sas_token=None)

参数

container_name
str
必需

容器的名称。

protocol
str
默认值: None

要使用的协议:“http”或“https”。 如果未指定,则使用初始化 BaseBlobService 时指定的协议。

sas_token
str
默认值: None

使用 generate_shared_access_signature 创建的共享访问签名令牌。

返回

容器访问 URL。

返回类型

str

release_blob_lease

释放租约。 如果在请求中指定的租约 ID 与 Blob 的关联租约 ID 匹配,则可以释放租约。 通过释放租约,其他客户端可以在释放完成后立即获取 Blob 的租约。

release_blob_lease(container_name, blob_name, lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

lease_id
str
必需

活动租约的租约 ID。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

release_container_lease

释放租约。 如果指定的lease_id与容器关联的匹配,则可能会释放租约。 通过释放租约,其他客户端可以在释放完成时立即获取该容器的租约。

release_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
str
必需

活动租约的租约 ID。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

renew_blob_lease

续订租约。 如果在请求中指定的租约 ID 与 Blob 的关联租约 ID 匹配,则可以续订租约。 请注意,即使租约已过期,但只要在该租约过期后未修改或再次租用 Blob,就可以续订租约。 在续订租约时,将重置租约持续时间时钟。

renew_blob_lease(container_name, blob_name, lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

lease_id
str
必需

活动租约的租约 ID。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

timeout
int
默认值: None

超时参数以秒表示。

返回

str

renew_container_lease

续订租约。 如果指定的租约 ID 与容器关联的 ID 匹配,则可以续订租约。 请注意,只要自租约过期以来尚没有再次租用容器,即使租约已过期,也可以对其进行续订。 在续订租约时,将重置租约持续时间时钟。

renew_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

lease_id
str
必需

活动租约的租约 ID。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

str

set_blob_metadata

将特定 blob 的用户定义元数据设置为一个或多个名称/值对。

set_blob_metadata(container_name, blob_name, metadata=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

metadata
dict(str, str)
默认值: None

包含名称和值对的 Dict。 每次调用此操作都会替换附加到该 Blob 的所有现有元数据。 要从该 Blob 中删除所有元数据,请不带任何元数据头调用此操作。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。

返回

更新的 Blob 的 ETag 和上次修改的属性

返回类型

set_blob_properties

在 blob 上设置系统属性。 如果为content_settings设置了一个属性,则将重写所有属性。

set_blob_properties(container_name, blob_name, content_settings=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

content_settings
ContentSettings
默认值: None

用于设置 Blob 属性的 ContentSettings 对象。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。

返回

更新的 Blob 的 ETag 和上次修改的属性

返回类型

set_blob_service_properties

设置存储帐户的 Blob 服务的属性,包括 Azure 存储分析。 如果某个元素 (ex Logging) 保留为 None,则会保留该服务上针对该功能的现有设置。

set_blob_service_properties(logging=None, hour_metrics=None, minute_metrics=None, cors=None, target_version=None, timeout=None, delete_retention_policy=None, static_website=None)

参数

logging
Logging
默认值: None

对 Azure Analytics Logging 设置进行分组。

hour_metrics
Metrics
默认值: None

小时指标设置提供请求统计信息的摘要,这些统计信息按 API 按 Blob 的每小时聚合进行分组。

minute_metrics
Metrics
默认值: None

分钟指标设置提供 Blob 每分钟的请求统计信息。

cors
list(CorsRule)
默认值: None

列表中最多可以包含五个 CorsRule 元素。 如果指定了空列表,则将删除所有 CORS 规则,并且将为服务禁用 CORS。

target_version
str
默认值: None

指示未指定传入请求的版本时用于请求的默认版本。

timeout
int
默认值: None

超时参数以秒表示。

delete_retention_policy
DeleteRetentionPolicy
默认值: None

删除保留策略指定是否保留已删除的 Blob。 它还指定要保留的 Blob 的天数和版本。

static_website
StaticWebsite
默认值: None

指定是否启用静态网站功能,如果是,则指示要使用的索引文档和 404 错误文档。

set_container_acl

为可能与共享访问签名一起使用的指定容器或存储访问策略设置权限。 这些权限指示是否可以公开访问容器中的 Blob。

set_container_acl(container_name, signed_identifiers=None, public_access=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

signed_identifiers
dict(str, AccessPolicy)
默认值: None

要与容器关联的访问策略字典。 字典最多可以包含 5 个元素。 空字典将清除在服务上设置的访问策略。

public_access
PublicAccess
默认值: None

可能的值包括:container、blob。

lease_id
str
默认值: None

如果指定,则仅当容器的租约处于活动状态且与此 ID 匹配时,set_container_acl才会成功。

if_modified_since
datetime
默认值: None

日期/时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头以仅当资源自指定日期/时间以来已修改时才执行操作。

if_unmodified_since
datetime
默认值: None

日期/时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

更新的容器的 ETag 和上次修改的属性

返回类型

set_container_metadata

为指定的容器设置一个或多个用户定义的名称/值对。 每次调用此操作时,将替换与容器关联的所有现有的元数据。 若要从容器中删除所有元数据,请在不带元数据 dict 的情况下调用此操作。

set_container_metadata(container_name, metadata=None, lease_id=None, if_modified_since=None, timeout=None)

参数

container_name
str
必需

现有容器的名称。

metadata
dict(str, str)
默认值: None

包含要作为元数据与容器关联的名称/值对的 dict。 示例:{'category':'test'}

lease_id
str
默认值: None

如果指定,则仅当容器的租约处于活动状态且与此 ID 匹配时,set_container_metadata才会成功。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

timeout
int
默认值: None

超时参数以秒表示。

返回

更新的容器的 ETag 和上次修改的属性

返回类型

set_proxy

设置 HTTP CONNECT 隧道的代理服务器主机和端口。

set_proxy(host, port, user=None, password=None)

参数

host
str
必需

代理的地址。 例如:'192.168.0.100'

port
int
必需

代理的端口。 例如:6000

user
str
默认值: None

用于代理授权的用户。

password
str
默认值: None

代理授权的密码。

snapshot_blob

创建 Blob 的只读快照。

snapshot_blob(container_name, blob_name, metadata=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, lease_id=None, timeout=None, cpk=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

metadata
dict(str, str)
默认值: None

指定与 Blob 关联的用户定义的名称-值对。 如果未指定名称-值对,则此操作将基本 Blob 元数据复制到快照中。 如果指定了多个名称-值对,则使用指定的元数据创建快照,而不从基本 Blob 中复制元数据。

if_modified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。

if_unmodified_since
datetime
默认值: None

一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

if_match
str
默认值: None

ETag 值或通配符 (*)。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。

if_none_match
str
默认值: None

ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。

lease_id
str
默认值: None

如果 Blob 具有活动租约,则是必需的。

cpk
CustomerProvidedEncryptionKey
默认值: None

使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。

timeout
int
默认值: None

超时参数以秒表示。

返回

快照属性

返回类型

undelete_blob

取消删除 Blob 操作可还原软删除 blob 或快照的内容和元数据。 尝试取消删除未软删除的 blob 或快照将成功,而不会进行任何更改。

undelete_blob(container_name, blob_name, timeout=None)

参数

container_name
str
必需

现有容器的名称。

blob_name
str
必需

现有 Blob 的名称。

timeout
int
默认值: None

超时参数以秒表示。

属性

protocol

request_session

socket_timeout

MAX_CHUNK_GET_SIZE

MAX_CHUNK_GET_SIZE = 4194304

MAX_SINGLE_GET_SIZE

MAX_SINGLE_GET_SIZE = 33554432