你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
BlockBlobService 类
利用块 Blob,你可以高效上载大型 Blob。 块 Blob 由多个块构成,其中每个块均由一个块 ID 标识。 您可以通过编写一组块并按块 ID 提交这些块来创建或修改块 Blob。 每个块的大小可能不同,最大为 100 MB,块 Blob 最多可以包含 50,000 个块。 因此,块 blob 的最大大小约为 4.75 TB (100 MB X 50,000 块) 。 如果要编写大小不超过 64 MB 的块 Blob,可以使用单个写入操作将其完整上传;请参阅 create_blob_from_bytes。
:type ~azure.storage.common.TokenCredential
- 继承
-
BlockBlobService
构造函数
BlockBlobService(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
存储帐户名称。 这用于对使用帐户密钥签名的请求进行身份验证,并构造存储终结点。 除非提供了连接字符串,或者自定义域与匿名身份验证一起使用,否则是必需的。
- sas_token
- str
用于对请求进行身份验证的共享访问签名令牌,而不是帐户密钥。 如果同时指定了帐户密钥和 sas 令牌,则将使用帐户密钥进行签名。 如果两者均未指定,则将使用匿名访问。
- endpoint_suffix
- str
URL 的主机基组件减去帐户名称。 默认为 Azure (core.windows.net) 。 重写此项以使用中国云 (core.chinacloudapi.cn) 。
- request_session
- <xref:requests.Session>
用于 http 请求的会话对象。
- connection_string
- str
如果指定,这将替代请求会话以外的所有其他参数。 有关连接字符串格式,请参阅 http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/ 。
- socket_timeout
- int
如果指定,这将替代默认套接字超时。 指定的超时值以秒为单位。 有关默认值,请参阅 _constants.py 中的DEFAULT_SOCKET_TIMEOUT。
- token_credential
用于对 HTTPS 请求进行身份验证的令牌凭据。 令牌值应在过期之前更新。
变量
- MAX_SINGLE_PUT_SIZE
- int
单个 put 调用中支持的最大大小上传。 如果内容长度已知且小于此值,则create_blob_from_* 方法会使用此值。
- MAX_BLOCK_SIZE
- int
如果内容长度未知或大于 MAX_SINGLE_PUT_SIZE,create_blob_from_* 方法放置的块的大小。 可以放置较小的方块。 服务支持的最大块大小为 100MB。
- MIN_LARGE_BLOCK_UPLOAD_THRESHOLD
- int
考虑内存优化块上传算法的最小块大小。 此算法仅适用于create_blob_from_file和create_blob_from_stream方法,并会阻止块的完全缓冲。 除了块大小之外,还必须禁用 ContentMD5 验证和加密,因为这些选项需要缓冲块。
方法
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 |
batch_set_standard_blob_tier |
发送一批多个集块 Blob 层请求。 此 API 仅支持标准存储帐户上的块 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。 此操作返回复制操作属性对象。 复制操作可以配置为异步、尽力而为的操作或同步操作。 如果requires_sync为 true,则源必须是块 Blob。 将覆盖任何现有的目标 Blob。 复制操作进行时不能修改目标 Blob。 从块 Blob 复制时,将复制所有提交的块及其块 ID。 不会复制未提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。 可以调用目标 blob 上的get_blob_properties来检查复制操作的状态。 完成复制时,将提交最终的 Blob。 目标容器的名称。 容器必须存在。 :p aram str blob_name:目标 Blob 的名称。 如果目标 Blob 存在,则会覆盖它。 如果不存在,则创建该 URI。 :p aram str copy_source:最多 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 :p aram 元数据:与 Blob 关联的名称-值对作为元数据。 如果未指定名称/值对,则操作会将元数据从源 Blob 或文件复制到目标 Blob。 如果指定了一个或多个名称/值对,则使用指定的元数据创建目标 Blob,并且不会从源 Blob 或文件复制元数据。 :type metadata: dict (str, str) :p aram datetime source_if_modified_since: 一个 DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后发生了修改时才复制 Blob。 :p aram datetime source_if_unmodified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后未修改时才复制 Blob。 :p aram ETag source_if_match:ETag 值或通配符 () 。指定此条件标头以仅当源 Blob 的 ETag 与指定的值匹配时复制。如果 ETag 值不匹配,Blob 服务将返回状态代码 412 (先决条件失败) 。如果源是 Azure 文件,则无法指定此标头。:p aram ETag source_if_none_match:ETag 值或通配符 () 。 如果指定此条件头,则仅当 Blob 的 ETag 与指定的值不匹配时才复制 Blob。 如果值相同,BLOB 服务将返回状态代码 412(不满足前提条件)。 如果源是 Azure 文件,则无法指定此标头。 :p aram datetime destination_if_modified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后发生了修改时才复制 Blob。 如果目标 Blob 未修改,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram datetime destination_if_unmodified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后未修改时才复制 Blob。 如果目标 Blob 已修改,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram ETag destination_if_match:ETag 值或通配符 () 。指定此条件标头的 ETag 值,仅当指定的 ETag 值与现有目标 Blob 的 ETag 值匹配时,才能复制 Blob。如果目标 Blob 的 ETag 与为 If-Match 指定的 ETag 不匹配,则 Blob 服务将返回状态代码 412 (先决条件失败) 。:p aram ETag destination_if_none_match:ETag 值或通配符 () 。 如果为此条件头指定一个 ETag 值,则仅当指定的 ETag 值与目标 Blob 的 ETag 值不匹配时才复制 Blob。 指定通配符 (*),仅当目标 Blob 不存在时才执行此操作。 如果不满足指定的条件,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram str destination_lease_id:为此标头指定的租约 ID 必须与目标 Blob 的租约 ID 匹配。 如果请求中不包含租约 ID 或租约 ID 无效,则操作将失败,且显示状态码 412(不满足前提条件)。 :p aram str source_lease_id:仅当给定的租约 ID 与源 blob 的活动租约 ID 匹配时,指定此项以执行复制 Blob 操作。 :p aram int timeout:timeout 参数以秒表示。 :p aram bool requires_sync:强制服务在复制完成之前不会返回响应。 :p aram StandardBlobTier standard_blob_tier:将 blob 设置为的标准 Blob 层值。 对于此版本的库,这仅适用于标准存储帐户上的块 Blob。 :p aram RehydratePriority rehydrate_priority:指示解除存档 blob 冻结的优先级:return: 复制操作属性,如状态、源和 ID。 :rtype: CopyProperties |
create_blob_from_bytes |
使用自动分块和进度通知从字节数组创建新的 Blob,或更新现有 Blob 的内容。 |
create_blob_from_path |
使用自动分块和进度通知从文件路径创建新的 Blob,或更新现有 Blob 的内容。 |
create_blob_from_stream |
使用自动分块和进度通知从文件/流创建新的 Blob,或更新现有 Blob 的内容。 |
create_blob_from_text |
通过 str/unicode 创建新 blob,或使用自动分块和进度通知更新现有 Blob 的内容。 |
create_container |
在指定的帐户下创建新容器。 如果已存在同名的容器,则如果fail_on_exist为 True,则操作将失败。 |
delete_blob |
标记要删除的指定 blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。 如果为服务启用了删除保留策略,则此操作将软删除 blob 或 快照并将 blob 或快照保留指定的天数。 在指定的天数后,Blob 的数据在垃圾回收期间会从服务中删除。 软删除的 blob 或快照可通过指定 include=Include.Deleted 选项的列表 Blob API 进行访问。 可以使用撤消删除 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 的内容。 返回 Blob 与 BlobProperties 和 元数据听写。 |
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 |
以 unicode 文本的形式下载 Blob,并自动进行分块和进度通知。 返回具有属性、元数据和内容的 实例 Blob 。 |
get_block_list |
检索作为块 Blob 一部分上载的块的列表。 为 Blob 保留了两个块列表: 已提交的块列表:已成功提交到具有放置块列表的给定 blob 的块列表。 未提交的块列表:已使用放置块为 Blob 上传但尚未提交的块列表。 这些块存储在 Azure 中并与 Blob 关联,但尚未构成 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 |
创建 URL 以访问 Blob。 |
make_container_url |
创建 URL 以访问容器。 |
put_block |
创建一个要作为 Blob 组成部分提交的新块。 |
put_block_from_url |
创建一个要作为 Blob 组成部分提交的新块。 |
put_block_list |
通过指定组成 Blob 的块 ID 列表编写 Blob。 为了作为 Blob 的一部分写入,块必须在之前的 Put Block 操作中成功写入服务器。 可以调用 Put Block List 来更新 Blob,方法是仅上传已更改的块,然后将新的块和现有块一起提交。 为此,请指定是从提交的块列表或未提交的块列表提交块,还是提交块的最近上载版本,无论块可能属于哪个列表。 |
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 存储分析。 如果前 Logging) (元素保留为 None,则保留该服务上该功能的现有设置。 |
set_container_acl |
设置可能与共享访问签名一起使用的指定容器或存储访问策略的权限。 这些权限指示是否可以公开访问容器中的 Blob。 |
set_container_metadata |
为指定的容器设置一个或多个用户定义的名称-值对。 每次调用此操作时,将替换与容器关联的所有现有的元数据。 若要从容器中删除所有元数据,请调用此操作,不带元数据听写。 |
set_proxy |
设置 HTTP CONNECT 隧道的代理服务器主机和端口。 |
set_standard_blob_tier |
设置 Blob 上的块 Blob 层。 此 API 仅支持标准存储帐户上的块 Blob。 :p aram RehydratePriority rehydrate_priority:指示解除存档 blob 冻结的优先级 |
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)
参数
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)
参数
- lease_duration
- int
指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。 默认值为 -1, (无限租约) 。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
返回
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)
参数
- lease_duration
- int
指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。 默认值为 -1, (无限租约) 。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
返回
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)
参数
返回
已分析的批量删除 HTTP 响应
返回类型
batch_set_standard_blob_tier
发送一批多个集块 Blob 层请求。 此 API 仅支持标准存储帐户上的块 Blob。
batch_set_standard_blob_tier(batch_set_blob_tier_sub_requests, timeout=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)
参数
- lease_break_period
- int
对于中断操作,这是租约在中断前应继续的建议秒持续时间,介于 0 到 60 秒之间。 只有在少于租约的剩余时间时,才能使用中断期。 如果超过租约的剩余时间,则使用租约的剩余时间。 在中断期到期之前,无法使用新租约,但可以将租约保留到超过中断期。 如果此标头未随中断操作一起出现,则固定持续时间的租约将在剩余租约期过后中断,无限租约将立即中断。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
返回
int
break_container_lease
如果容器具有活动租约,则中断租约。 在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对容器执行任何租用操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。
break_container_lease(container_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, timeout=None)
参数
- lease_break_period
- int
这是租约在中断前应继续的建议秒持续时间,介于 0 到 60 秒之间。 只有在少于租约的剩余时间时,才能使用中断期。 如果超过租约的剩余时间,则使用租约的剩余时间。 在中断期到期之前,无法使用新租约,但可以将租约保留到超过中断期。 如果此标头未随中断操作一起出现,则固定持续时间的租约将在剩余租约期过后中断,无限租约将立即中断。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
返回
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
copy_blob
复制 Blob。 此操作返回复制操作属性对象。 复制操作可以配置为异步、尽力而为的操作或同步操作。
如果requires_sync为 true,则源必须是块 Blob。 将覆盖任何现有的目标 Blob。 复制操作进行时不能修改目标 Blob。
从块 Blob 复制时,将复制所有提交的块及其块 ID。 不会复制未提交的块。 复制操作结束时,目标 Blob 将具有与源相同的已提交块计数。
可以调用目标 blob 上的get_blob_properties来检查复制操作的状态。 完成复制时,将提交最终的 Blob。
目标容器的名称。 容器必须存在。 :p aram str blob_name:目标 Blob 的名称。 如果目标 Blob 存在,则会覆盖它。 如果不存在,则创建该 URI。 :p aram str copy_source:最多 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 :p aram 元数据:与 Blob 关联的名称-值对作为元数据。 如果未指定名称/值对,则操作会将元数据从源 Blob 或文件复制到目标 Blob。 如果指定了一个或多个名称/值对,则使用指定的元数据创建目标 Blob,并且不会从源 Blob 或文件复制元数据。 :type metadata: dict (str, str) :p aram datetime source_if_modified_since: 一个 DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后发生了修改时才复制 Blob。 :p aram datetime source_if_unmodified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当源 Blob 自指定日期/时间后未修改时才复制 Blob。 :p aram ETag source_if_match:ETag 值或通配符 () 。指定此条件标头以仅当源 Blob 的 ETag 与指定的值匹配时复制。如果 ETag 值不匹配,Blob 服务将返回状态代码 412 (先决条件失败) 。如果源是 Azure 文件,则无法指定此标头。:p aram ETag source_if_none_match:ETag 值或通配符 () 。 如果指定此条件头,则仅当 Blob 的 ETag 与指定的值不匹配时才复制 Blob。 如果值相同,BLOB 服务将返回状态代码 412(不满足前提条件)。 如果源是 Azure 文件,则无法指定此标头。 :p aram datetime destination_if_modified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后发生了修改时才复制 Blob。 如果目标 Blob 未修改,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram datetime destination_if_unmodified_since:DateTime 值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 如果指定此条件头,则仅当目标 Blob 自指定日期/时间后未修改时才复制 Blob。 如果目标 Blob 已修改,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram ETag destination_if_match:ETag 值或通配符 () 。指定此条件标头的 ETag 值,仅当指定的 ETag 值与现有目标 Blob 的 ETag 值匹配时,才能复制 Blob。如果目标 Blob 的 ETag 与为 If-Match 指定的 ETag 不匹配,则 Blob 服务将返回状态代码 412 (先决条件失败) 。:p aram ETag destination_if_none_match:ETag 值或通配符 () 。 如果为此条件头指定一个 ETag 值,则仅当指定的 ETag 值与目标 Blob 的 ETag 值不匹配时才复制 Blob。 指定通配符 (*),仅当目标 Blob 不存在时才执行此操作。 如果不满足指定的条件,BLOB 服务将返回状态代码 412(不满足前提条件)。 :p aram str destination_lease_id:为此标头指定的租约 ID 必须与目标 Blob 的租约 ID 匹配。 如果请求中不包含租约 ID 或租约 ID 无效,则操作将失败,且显示状态码 412(不满足前提条件)。 :p aram str source_lease_id:仅当给定的租约 ID 与源 blob 的活动租约 ID 匹配时,指定此项以执行复制 Blob 操作。 :p aram int timeout:timeout 参数以秒表示。 :p aram bool requires_sync:强制服务在复制完成之前不会返回响应。 :p aram StandardBlobTier standard_blob_tier:将 blob 设置为的标准 Blob 层值。 对于此版本的库,这仅适用于标准存储帐户上的块 Blob。 :p aram RehydratePriority rehydrate_priority:指示解除存档 blob 冻结的优先级:return: 复制操作属性,如状态、源和 ID。 :rtype: CopyProperties
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, requires_sync=None, standard_blob_tier=None, rehydrate_priority=None)
参数
- container_name
- str
- blob_name
- copy_source
- metadata
- source_if_modified_since
- source_if_unmodified_since
- source_if_match
- source_if_none_match
- destination_if_modified_since
- destination_if_unmodified_since
- destination_if_match
- destination_if_none_match
- destination_lease_id
- source_lease_id
- timeout
- requires_sync
- standard_blob_tier
- rehydrate_priority
create_blob_from_bytes
使用自动分块和进度通知从字节数组创建新的 Blob,或更新现有 Blob 的内容。
create_blob_from_bytes(container_name, blob_name, blob, index=0, count=None, content_settings=None, metadata=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, standard_blob_tier=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算 blob 的每个区块的 MD5 哈希。 存储服务会检查已随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,此 MD5 哈希值不与 Blob 一起存储。
- progress_callback
- <xref:func>(<xref:current>, <xref:total>)
使用签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而 total 是 blob 的大小;如果总大小未知,则为 None。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
块 Blob 的 ETag 和上次修改的属性
返回类型
create_blob_from_path
使用自动分块和进度通知从文件路径创建新的 Blob,或更新现有 Blob 的内容。
create_blob_from_path(container_name, blob_name, file_path, content_settings=None, metadata=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, standard_blob_tier=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算 blob 的每个区块的 MD5 哈希。 存储服务会检查已随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,此 MD5 哈希值不与 Blob 一起存储。 另请注意,如果启用,将不会使用内存高效上传算法,因为计算 MD5 哈希需要缓冲整个块,这样做会破坏内存高效算法的用途。
- progress_callback
- <xref:func>(<xref:current>, <xref:total>)
使用签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而 total 是 blob 的大小;如果总大小未知,则为 None。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
块 Blob 的 ETag 和上次修改的属性
返回类型
create_blob_from_stream
使用自动分块和进度通知从文件/流创建新的 Blob,或更新现有 Blob 的内容。
create_blob_from_stream(container_name, blob_name, stream, count=None, content_settings=None, metadata=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, use_byte_buffer=False, standard_blob_tier=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算 blob 的每个区块的 MD5 哈希。 存储服务会检查已随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,此 MD5 哈希值不与 Blob 一起存储。 另请注意,如果启用,将不会使用内存高效上传算法,因为计算 MD5 哈希需要缓冲整个块,这样做会破坏内存高效算法的用途。
- progress_callback
- <xref:func>(<xref:current>, <xref:total>)
使用签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而 total 是 blob 的大小;如果总大小未知,则为 None。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
- use_byte_buffer
- bool
如果为 True,则会强制使用原始的完整块缓冲上传路径。 默认情况下,此值为 False,在以下条件下将采用内存高效、流式上传算法:提供的流可查找,“require_encryption”为 False,MAX_BLOCK_SIZE >= MIN_LARGE_BLOCK_UPLOAD_THRESHOLD。 应考虑使用此方法的缺点。 为了实现内存效率,使用 SubStream 包装器将 IOBase 流或类似文件的对象分段为逻辑块。 为了读取正确的数据,每个 SubStream 必须获取一个锁,以便它可以安全地在共享的基础流上查找正确的位置。 如果max_connections > 1,则并发将导致对基础流进行大量查找。 对于最常见的输入(如类似文件的流对象),查找是一种成本低廉的操作,这并不是什么问题。 但是,对于流的其他变体,情况可能并非如此。 必须权衡内存效率与使用输入流进行查找的成本权衡。 SubStream 类将尝试在内部缓冲最多 4 MB,以减少对基础流的查找和读取调用量。 这在上传较大的块时特别有用。
返回
块 Blob 的 ETag 和上次修改的属性
返回类型
create_blob_from_text
通过 str/unicode 创建新 blob,或使用自动分块和进度通知更新现有 Blob 的内容。
create_blob_from_text(container_name, blob_name, text, encoding='utf-8', content_settings=None, metadata=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, standard_blob_tier=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算 blob 的每个区块的 MD5 哈希。 存储服务会检查已随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https,则这主要用于检测网络上的 bitflips, (默认) 已验证。 请注意,此 MD5 哈希值不与 Blob 一起存储。
- progress_callback
- <xref:func>(<xref:current>, <xref:total>)
使用签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而 total 是 blob 的大小;如果总大小未知,则为 None。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
块 Blob 的 ETag 和上次修改的属性
返回类型
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 个字符之间。
返回
如果已创建容器,则为 True;如果容器已存在,则为 False。
返回类型
delete_blob
标记要删除的指定 blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。
请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。
如果为服务启用了删除保留策略,则此操作将软删除 blob 或 快照并将 blob 或快照保留指定的天数。 在指定的天数后,Blob 的数据在垃圾回收期间会从服务中删除。 软删除的 blob 或快照可通过指定 include=Include.Deleted 选项的列表 Blob API 进行访问。 可以使用撤消删除 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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
delete_container
标记要删除的指定容器。 在稍后的垃圾回收期间,将删除该容器及其包含的任何 Blob。
delete_container(container_name, fail_not_exist=False, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
返回
如此 如果容器被删除,假容器不存在。
返回类型
exists
如果 blob_name 为 None) ,则返回一个布尔值,该值指示容器是否存在 (,否则返回一个指示 blob 是否存在的布尔值。
exists(container_name, blob_name=None, snapshot=None, timeout=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。 如果已在关联的存储访问策略中指定,则必须省略此字段。
共享访问签名失效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 始终会将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 始终会将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
- ip
- str
指定要从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。
返回
共享访问签名 (sas) 令牌。
返回类型
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)
参数
- permission
- BlobPermissions
与共享访问签名关联的权限。 用户只能执行权限允许的操作。 权限必须是对读取、写入、删除、列表进行排序。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。
共享访问签名变为无效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
- ip
- str
指定从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。
- user_delegation_key
- UserDelegationKey
用户可以传入用户委派密钥,而不是帐户密钥。 可以通过使用 AAD 标识进行身份验证,从服务获取用户委派密钥;这可以通过调用 get_user_delegation_key 来实现。 如果存在,则使用用户委派密钥对 SAS 进行签名。
返回
共享访问签名 (sas) 令牌。
返回类型
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)
参数
- permission
- ContainerPermissions
与共享访问签名关联的权限。 用户只能执行权限允许的操作。 权限必须是对读取、写入、删除、列表进行排序。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。
共享访问签名变为无效的时间。 必需,除非提供了引用包含此字段的存储访问策略的 ID。 如果已在关联的存储访问策略中指定,则必须省略此字段。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
共享访问签名生效的时间。 如果省略,将假定此调用的开始时间就是存储服务收到请求的时间。 Azure 将始终将值转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。
- ip
- str
指定从中接受请求的 IP 地址或 IP 地址范围。 如果请求源自的 IP 地址与 SAS 令牌上指定的 IP 地址或地址范围不匹配,则不会对请求进行身份验证。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 会将请求限制为这些 IP 地址。
- user_delegation_key
- UserDelegationKey
用户可以传入用户委派密钥,而不是帐户密钥。 可以通过使用 AAD 标识进行身份验证,从服务获取用户委派密钥;这可以通过调用 get_user_delegation_key 来实现。 如果存在,则使用用户委派密钥对 SAS 进行签名。
返回
共享访问签名 (sas) 令牌。
返回类型
get_blob_account_information
获取与存储帐户相关的信息。 如果用户具有对容器或 Blob 的 SAS,也可以检索该信息。
get_blob_account_information(container_name=None, blob_name=None, timeout=None)
参数
返回
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
表示 Blob 元数据名称、值对的字典。
返回类型
get_blob_properties
返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。 返回 Blob 与 BlobProperties 和 元数据听写。
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
包含属性和元数据的 Blob 对象。
返回类型
get_blob_service_properties
获取存储帐户的 Blob 服务的属性,包括 Azure 存储分析。
get_blob_service_properties(timeout=None)
参数
返回
具有附加target_version属性的 Blob ServiceProperties 。
get_blob_service_stats
检索与 Blob 服务的复制有关的统计信息。 仅当为存储帐户启用了读取访问异地冗余复制时,它才可用。
通过地域冗余复制,Azure 存储服务在两个位置维护你的持久数据。 在这两个位置,Azure 存储始终维护您数据的多个运行正常副本。 读取、创建、更新或删除数据的位置称为“主”存储帐户位置。 主要位置存在于你通过 Azure 管理 Azure 经典门户(例如美国中北部)创建帐户时选择的区域。 数据复制到的位置为“辅助”位置。 根据主位置自动确定辅助位置,它在主位置所在区域中的第二个数据中心内。 如果为存储帐户启用了“读访问的地域冗余复制”,则可对辅助位置执行只读访问。
get_blob_service_stats(timeout=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)
参数
- start_range
- int
用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- end_range
- int
用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- validate_content
- bool
如果设置为 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>)
签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而总计是 blob 的大小(如果已知)。
- max_connections
- int
如果设置为 2 或更大,则将为第一个自身完成初始获取。MAX_SINGLE_GET_SIZE blob 的字节。 如果这是整个 Blob,则 方法此时返回。 如果不是,它将使用等于max_connections的线程数并行下载剩余数据。 每个区块的大小均为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵或不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,因为如果max_connections大于 1,则需要对空 blob 执行额外的请求,这也可能很有用。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
具有属性和元数据的 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)
参数
- open_mode
- str
打开文件时要使用的模式。 请注意,仅指定追加open_mode会阻止并行下载。 因此,如果使用此open_mode,必须将max_connections设置为 1。
- start_range
- int
用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- end_range
- int
用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- validate_content
- bool
如果设置为 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>)
签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而总计是 blob 的大小(如果已知)。
- max_connections
- int
如果设置为 2 或更大,则将为第一个自身完成初始获取。MAX_SINGLE_GET_SIZE blob 的字节。 如果这是整个 Blob,则 方法此时返回。 如果不是,它将使用等于max_connections的线程数并行下载剩余数据。 每个区块的大小均为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵或不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,因为如果max_connections大于 1,则需要对空 blob 执行额外的请求,这也可能很有用。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
具有属性和元数据的 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)
参数
- start_range
- int
用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- end_range
- int
用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包容性的。 例如:start_range=0,end_range=511 将下载前 512 个 blob 字节。
- validate_content
- bool
如果设置为 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>)
签名函数的进度回调 (当前、总计) ,其中 current 是到目前为止传输的字节数,而总计是 blob 的大小(如果已知)。
- max_connections
- int
如果设置为 2 或更大,则将为第一个自身完成初始获取。MAX_SINGLE_GET_SIZE blob 的字节。 如果这是整个 Blob,则 方法此时返回。 如果不是,它将使用等于max_connections的线程数并行下载剩余数据。 每个区块的大小均为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵或不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,因为如果max_connections大于 1,则需要对空 blob 执行额外的请求,这也可能很有用。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回对 blob) 设置content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。
返回类型
get_blob_to_text
以 unicode 文本的形式下载 Blob,并自动进行分块和进度通知。 返回具有属性、元数据和内容的 实例 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)
参数
- start_range
- int
要用于下载 Blob 部分的字节范围的起始。 如果未提供end_range,则将下载start_range后的所有字节。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。
- end_range
- int
用于下载 Blob 部分的字节范围的结束。 如果提供了end_range,则必须提供start_range。 start_range和end_range参数是包含的。 例如:start_range=0,end_range=511 将下载前 512 个字节的 blob。
- validate_content
- bool
如果设置为 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>)
使用签名函数 (当前总) 的进度回调,其中 current 是到目前为止传输的字节数,total 是 Blob 的大小(如果已知)。
- max_connections
- int
如果设置为 2 或更大,则将为第一个自身执行初始获取。blob 的MAX_SINGLE_GET_SIZE字节。 如果这是整个 Blob,则方法此时返回 。 否则,它将使用等于 max_connections 的线程数并行下载剩余数据。 每个区块的大小为自身。MAX_CHUNK_GET_SIZE。 如果设置为 1,将完成单个大型获取请求。 通常不建议这样做,但如果应使用很少的线程、网络请求非常昂贵,或者不可查找的流阻止并行下载,则此选项可用。 如果许多 blob 预期为空,这可能也很有用,因为如果max_connections大于 1,空 blob 需要额外的请求。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥解密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
具有属性和元数据的 Blob。 如果max_connections大于 1,则不会返回在 blob) 上设置的content_md5 (。 如果需要此值,请使用 get_blob_properties 或将 max_connections 设置为 1。
返回类型
get_block_list
检索作为块 Blob 一部分上载的块的列表。 为 Blob 保留了两个块列表:
已提交的块列表:已成功提交到具有放置块列表的给定 blob 的块列表。
未提交的块列表:已使用放置块为 Blob 上传但尚未提交的块列表。 这些块存储在 Azure 中并与 Blob 关联,但尚未构成 Blob 的一部分。
get_block_list(container_name, blob_name, snapshot=None, block_list_type=None, lease_id=None, timeout=None)
参数
返回
列出块 Blob 的已提交和/或未提交的块
返回类型
get_container_acl
获取指定容器的权限。 这些权限指示是否可以公开访问容器数据。
get_container_acl(container_name, lease_id=None, timeout=None)
参数
- lease_id
如果指定,则仅当容器的租约处于活动状态且与此 ID 匹配时,get_container_acl才会成功。
返回
与容器关联的访问策略字典。 如果打开公共访问,则为 str AccessPolicy 的 dict 和 public_access 属性
get_container_metadata
返回指定容器的所有用户定义元数据。
get_container_metadata(container_name, lease_id=None, timeout=None)
参数
返回
表示容器元数据名称、值对的字典。
返回类型
get_container_properties
返回指定容器的所有用户定义元数据和系统属性。 返回的数据不包含该容器的 Blob 列表。
get_container_properties(container_name, lease_id=None, timeout=None)
参数
返回
容器对象中指定容器的属性。
返回类型
get_user_delegation_key
获取用于对 SAS 令牌进行签名的用户委托密钥。 服务对象上必须存在令牌凭据,此请求才能成功。
get_user_delegation_key(key_start_time, key_expiry_time, timeout=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)
参数
- num_results
- int
指定要返回的 Blob(包括所有 <xref:azure.storage.blob.blockblobservice.BlobPrefix> 元素)的最大数量。 如果请求未指定num_results或指定的值大于 5,000,则服务器将返回最多 5,000 个项。 将num_results设置为小于或等于零的值会导致错误响应代码 400 (错误的请求) 。
- delimiter
- str
当请求包含此参数时,操作在结果列表中返回一个 BlobPrefix 元素,该元素充当所有 blob 的占位符,其名称以同一子字符串开头,一直以分隔符字符的外观开头。 分隔符可以是单个字符或字符串。
- marker
- str
不透明的继续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从以前的生成器对象的next_marker字段中检索此值。 如果指定,此生成器将开始从上一个生成器停止的点返回结果。
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)
参数
- num_results
- int
指定要返回的 Blob(包括所有 <xref:azure.storage.blob.blockblobservice.BlobPrefix> 元素)的最大数量。 如果请求未指定num_results或指定的值大于 5,000,则服务器将返回最多 5,000 个项。 将num_results设置为小于或等于零的值会导致错误响应代码 400 (错误的请求) 。
- delimiter
- str
当请求包含此参数时,操作在结果列表中返回一个 BlobPrefix 元素,该元素充当所有 blob 的占位符,其名称以同一子字符串开头,一直以分隔符字符的外观开头。 分隔符可以是单个字符或字符串。
- marker
- str
不透明的继续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从以前的生成器对象的next_marker字段中检索此值。 如果指定,此生成器将开始从上一个生成器停止的点返回结果。
list_containers
返回一个生成器,以列出指定帐户下的容器。 生成器将延迟遵循服务返回的继续标记,并在返回所有容器或到达num_results时停止。
如果指定了num_results,并且帐户的容器数超过该数目,则生成器在完成时将具有填充next_marker字段。 如果需要更多结果,可以使用此标记创建新的生成器。
list_containers(prefix=None, num_results=None, include_metadata=False, marker=None, timeout=None)
参数
- marker
- str
不透明的继续标记。 如果指定了num_results并且该生成器已完成枚举结果,则可以从以前的生成器对象的next_marker字段中检索此值。 如果指定,此生成器将开始从上一个生成器停止的点返回结果。
make_blob_url
创建 URL 以访问 Blob。
make_blob_url(container_name, blob_name, protocol=None, sas_token=None, snapshot=None)
参数
返回
Blob 访问 URL。
返回类型
make_container_url
创建 URL 以访问容器。
make_container_url(container_name, protocol=None, sas_token=None)
参数
返回
容器访问 URL。
返回类型
put_block
创建一个要作为 Blob 组成部分提交的新块。
put_block(container_name, blob_name, block, block_id, validate_content=False, lease_id=None, timeout=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算块内容的 MD5 哈希。 存储服务会检查随发送的哈希一起到达的内容的哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,此 MD5 哈希值不与 Blob 一起存储。
使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
put_block_from_url
创建一个要作为 Blob 组成部分提交的新块。
put_block_from_url(container_name, blob_name, copy_source_url, block_id, source_range_start=None, source_range_end=None, source_content_md5=None, lease_id=None, timeout=None, cpk=None)
参数
使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
put_block_list
通过指定组成 Blob 的块 ID 列表编写 Blob。 为了作为 Blob 的一部分写入,块必须在之前的 Put Block 操作中成功写入服务器。
可以调用 Put Block List 来更新 Blob,方法是仅上传已更改的块,然后将新的块和现有块一起提交。 为此,请指定是从提交的块列表或未提交的块列表提交块,还是提交块的最近上载版本,无论块可能属于哪个列表。
put_block_list(container_name, blob_name, block_list, content_settings=None, metadata=None, validate_content=False, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, standard_blob_tier=None, cpk=None)
参数
- validate_content
- bool
如果为 true,则计算块列表内容的 MD5 哈希。 存储服务检查已随发送的哈希一起到达的块列表内容的哈希。 如果使用 http 而不是 https 作为 https, (默认) 已验证,则这主要用于检测网络上的 bitflips。 请注意,此检查与阻止列表内容相关联,而不是与 Blob 本身的内容相关联。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
更新的块 Blob 的 ETag 和上次修改的属性
返回类型
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
release_container_lease
释放租约。 如果指定的lease_id与容器关联的匹配,则可能会释放租约。 通过释放租约,其他客户端可以在释放完成时立即获取该容器的租约。
release_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
返回
str
renew_container_lease
续订租约。 如果指定的租约 ID 与容器关联的 ID 匹配,则可以续订租约。 请注意,只要自租约过期以来尚没有再次租用容器,即使租约已过期,也可以对其进行续订。 在续订租约时,将重置租约持续时间时钟。
renew_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
返回
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)
参数
包含名称和值对的 Dict。 每次调用此操作都会替换附加到该 Blob 的所有现有元数据。 要从该 Blob 中删除所有元数据,请不带任何元数据头调用此操作。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
更新的 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)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时才执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定密钥加密服务端的数据。 客户提供的密钥的使用必须通过 HTTPS 完成。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
更新的 Blob 的 ETag 和上次修改的属性
返回类型
set_blob_service_properties
设置存储帐户的 Blob 服务的属性,包括 Azure 存储分析。 如果前 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)
参数
- delete_retention_policy
- DeleteRetentionPolicy
删除保留策略指定是否保留已删除的 Blob。 它还指定要保留的 Blob 的天数和版本。
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)
参数
- signed_identifiers
- dict(str, AccessPolicy)
要与容器关联的访问策略字典。 字典最多可以包含 5 个元素。 空字典将清除在服务上设置的访问策略。
- if_modified_since
- datetime
日期/时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头以仅当资源自指定日期/时间以来已修改时才执行操作。
- if_unmodified_since
- datetime
日期/时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
返回
更新的容器的 ETag 和上次修改的属性
返回类型
set_container_metadata
为指定的容器设置一个或多个用户定义的名称-值对。 每次调用此操作时,将替换与容器关联的所有现有的元数据。 若要从容器中删除所有元数据,请调用此操作,不带元数据听写。
set_container_metadata(container_name, metadata=None, lease_id=None, if_modified_since=None, timeout=None)
参数
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
返回
更新的容器的 ETag 和上次修改的属性
返回类型
set_proxy
设置 HTTP CONNECT 隧道的代理服务器主机和端口。
set_proxy(host, port, user=None, password=None)
参数
set_standard_blob_tier
设置 Blob 上的块 Blob 层。 此 API 仅支持标准存储帐户上的块 Blob。
:p aram RehydratePriority rehydrate_priority:指示解除存档 blob 冻结的优先级
set_standard_blob_tier(container_name, blob_name, standard_blob_tier, timeout=None, rehydrate_priority=None)
参数
- rehydrate_priority
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)
参数
指定与 Blob 关联的用户定义的名称-值对。 如果未指定名称-值对,则此操作将基本 Blob 元数据复制到快照中。 如果指定了多个名称-值对,则使用指定的元数据创建快照,而不从基本 Blob 中复制元数据。
- if_modified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的时间后修改了资源时才执行操作。
- if_unmodified_since
- datetime
一个日期时间值。 Azure 预期传入的日期值为 UTC。 如果包含时区,则任何非 UTC 日期时间都将转换为 UTC。 如果传入的日期没有时区信息,则假定该日期为 UTC。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。
- if_none_match
- str
ETag 值或通配符 () 。指定此标头以仅当资源的 ETag 与指定的值不匹配时执行操作。指定通配符 () 仅在资源不存在时才执行操作,如果资源存在,则使操作失败。
使用给定的密钥加密服务端上的数据。 必须使用 HTTPS 使用客户提供的密钥。 由于加密密钥本身是在请求中提供的,因此必须建立安全连接才能传输密钥。
返回
快照属性
返回类型
undelete_blob
取消删除 Blob 操作可还原软删除 blob 或快照的内容和元数据。 尝试取消删除未软删除的 blob 或快照将成功,而不会进行任何更改。
undelete_blob(container_name, blob_name, timeout=None)
参数
属性
protocol
request_session
socket_timeout
MAX_BLOCK_SIZE
MAX_BLOCK_SIZE = 4194304
MAX_CHUNK_GET_SIZE
MAX_CHUNK_GET_SIZE = 4194304
MAX_SINGLE_GET_SIZE
MAX_SINGLE_GET_SIZE = 33554432
MAX_SINGLE_PUT_SIZE
MAX_SINGLE_PUT_SIZE = 67108864
MIN_LARGE_BLOCK_UPLOAD_THRESHOLD
MIN_LARGE_BLOCK_UPLOAD_THRESHOLD = 4194305