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

az storage container

管理 blob 存储容器。

请为命令指定以下身份验证参数之一:--auth-mode、--account-key、--connection-string、--sas-token。 还可以使用相应的环境变量来存储身份验证凭据,例如AZURE_STORAGE_KEY、AZURE_STORAGE_CONNECTION_STRING和AZURE_STORAGE_SAS_TOKEN。

命令

az storage container create

在存储帐户中创建容器。

az storage container delete

标记要删除的指定容器。

az storage container exists

检查是否存在存储容器。

az storage container generate-sas

为存储容器生成 SAS 令牌。

az storage container immutability-policy

管理容器不可变性策略。

az storage container immutability-policy create

创建或更新未锁定的不可变性策略。

az storage container immutability-policy delete

中止未锁定的不可变性策略。

az storage container immutability-policy extend

扩展锁定的 immutabilityPolicy 的 immutabilityPeriodSinceCreationInDays。

az storage container immutability-policy lock

将 ImmutabilityPolicy 设置为“锁定”状态。

az storage container immutability-policy show

获取现有的不可变性策略以及响应标头和正文中的相应 ETag。

az storage container lease

管理 blob 存储容器租约。

az storage container lease acquire

请求新的租约。

az storage container lease break

如果容器具有活动租约,则中断租约。

az storage container lease change

更改活动租约的租约 ID。

az storage container lease release

释放租约。

az storage container lease renew

续订租约。

az storage container legal-hold

管理容器法定保留。

az storage container legal-hold clear

清除法定保留标记。

az storage container legal-hold set

设置法定保留标记。

az storage container legal-hold show

获取容器的法律保留属性。

az storage container list

列出存储帐户中的容器。

az storage container metadata

管理容器元数据。

az storage container metadata show

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

az storage container metadata update

为指定的容器设置一个或多个用户定义的名称值对。

az storage container policy

管理容器存储的访问策略。

az storage container policy create

在包含对象上创建存储的访问策略。

az storage container policy delete

删除包含对象的存储访问策略。

az storage container policy list

列出包含对象的存储访问策略。

az storage container policy show

在包含的对象上显示存储的访问策略。

az storage container policy update

在包含对象上设置存储的访问策略。

az storage container restore

还原软删除的容器。

az storage container set-permission

设置可用于共享访问签名的指定容器或存储访问策略的权限。

az storage container show

返回指定容器的所有用户定义的元数据和系统属性。

az storage container show-permission

获取指定容器的权限。

az storage container create

在存储帐户中创建容器。

默认情况下,容器数据是帐户所有者的专用 (“off”) 。 使用“blob”允许对 Blob 进行公共读取访问。 使用“container”允许对整个容器进行公共读取和列出访问权限。 可以使用 .-public-access az storage container set-permission -n CONTAINER_NAME --public-access blob/container/off配置 。

az storage container create --name
                            [--account-key]
                            [--account-name]
                            [--auth-mode {key, login}]
                            [--connection-string]
                            [--default-encryption-scope]
                            [--fail-on-exist]
                            [--metadata]
                            [--prevent-encryption-scope-override {false, true}]
                            [--public-access {blob, container, off}]
                            [--resource-group]
                            [--sas-token]
                            [--timeout]

示例

在存储帐户中创建存储容器。

az storage container create -n mystoragecontainer

在存储帐户中创建存储容器,如果容器已存在,则返回错误。

az storage container create -n mystoragecontainer --fail-on-exist

在存储帐户中创建存储容器,并允许对 Blob 进行公共读取访问。

az storage container create -n mystoragecontainer --public-access blob

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--default-encryption-scope -d

将容器默认为所有写入使用指定的加密范围。

--fail-on-exist

如果容器已存在,则引发异常。

--metadata

空格分隔键=值对中的元数据。 这会覆盖任何现有元数据。

--prevent-encryption-scope-override -p

阻止从容器默认值替代加密范围。

接受的值: false, true
--public-access

指定是否可以公开访问容器中的数据。

接受的值: blob, container, off
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container delete

标记要删除的指定容器。

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

az storage container delete --name
                            [--account-key]
                            [--account-name]
                            [--auth-mode {key, login}]
                            [--bypass-immutability-policy]
                            [--connection-string]
                            [--fail-not-exist]
                            [--if-modified-since]
                            [--if-unmodified-since]
                            [--lease-id]
                            [--sas-token]
                            [--timeout]

示例

标记要删除的指定容器。 自动生成的 ()

az storage container delete --account-key 00000000 --account-name MyAccount --name mycontainer

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行大量存储命令,则可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--bypass-immutability-policy

绕过即将发生的服务行为,如果容器具有不可变性策略,将阻止容器被删除。 指定此参数将忽略用于标识容器 (“、”--account-name“) 的参数。

--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--fail-not-exist

如果容器不存在,则引发异常。

--if-modified-since

仅当自提供的 UTC 日期时间 (Y-m-d'T'H:M'Z') 后修改时才开始。

--if-unmodified-since

仅当自提供的 UTC 日期时间 (Y-m-d'T'H:M'Z') 后未修改时才开始。

--lease-id

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

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container exists

检查是否存在存储容器。

az storage container exists --name
                            [--account-key]
                            [--account-name]
                            [--auth-mode {key, login}]
                            [--connection-string]
                            [--sas-token]
                            [--timeout]

示例

检查是否存在存储容器。 自动生成的 ()

az storage container exists --account-name mystorageccount --account-key 00000000 --name mycontainer

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行大量存储命令,则可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container generate-sas

为存储容器生成 SAS 令牌。

az storage container generate-sas --name
                                  [--account-key]
                                  [--account-name]
                                  [--as-user]
                                  [--auth-mode {key, login}]
                                  [--blob-endpoint]
                                  [--cache-control]
                                  [--connection-string]
                                  [--content-disposition]
                                  [--content-encoding]
                                  [--content-language]
                                  [--content-type]
                                  [--encryption-scope]
                                  [--expiry]
                                  [--https-only]
                                  [--ip]
                                  [--permissions]
                                  [--policy-name]
                                  [--start]

示例

为 Blob 容器生成 SAS 令牌,并使用它上传 Blob。

end=`date -u -d "30 minutes" '+%Y-%m-%dT%H:%MZ'`
sas=`az storage container generate-sas -n mycontainer --https-only --permissions dlrw --expiry $end -o tsv`
az storage blob upload -n MyBlob -c mycontainer -f file.txt --sas-token $sas

为容器生成共享访问签名, (自动生成)

az storage container generate-sas --account-key 00000000 --account-name mystorageaccount --expiry 2020-01-01 --name mycontainer --permissions dlrw

为存储容器生成 SAS 令牌。 自动生成的 ()

az storage container generate-sas --account-name mystorageaccount --as-user --auth-mode login --expiry 2020-01-01 --name container1 --permissions dlrw

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称或服务终结点结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行大量存储命令,则可能会命中 API 配额。

--as-user

指示此命令返回使用用户委派密钥签名的 SAS。 如果指定此参数,则需要过期参数和“--auth-mode login”。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--blob-endpoint

存储数据服务终结点。 必须与存储帐户密钥或 SAS 令牌结合使用。 You can find each service primary endpoint with az storage account show. 环境变量:AZURE_STORAGE_SERVICE_ENDPOINT。

--cache-control

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

--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--content-disposition

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

--content-encoding

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

--content-language

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

--content-type

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

--encryption-scope

用于加密服务上的数据的预定义加密范围。

--expiry

指定 UTC 日期/时间 (Y-m-d'T'H:M'Z') ,SAS 失效。 如果使用指定此值的 --policy-name 引用存储访问策略,则不要使用。

--https-only

仅允许使用 HTTPS 协议发出的请求。 如果省略,则允许来自 HTTP 和 HTTPS 协议的请求。

--ip

指定要从中接受请求的 IP 地址或 IP 地址范围。 仅支持 IPv4 样式地址。

--permissions

SAS 授予的权限。 允许的值: () dd (c) (d) elete (e) xecute (f) ilter_by_tags (i) set_immutability_policy (l) ) set_immutability_policy (ist (m) ove (r) ead (t) ag (w) rite (x) delete_previous_version (y) permanent_delete。 如果使用指定此值的 --id 引用存储访问策略,则不要使用。 可以组合使用。

--policy-name

容器 ACL 中存储的访问策略的名称。

--start

指定 UTC 日期/时间 (Y-m-d'T'H:M'Z') ,SAS 生效。 如果使用指定此值的 --policy-name 引用存储访问策略,则不要使用。 默认为请求的时间。

az storage container list

列出存储帐户中的容器。

az storage container list [--account-key]
                          [--account-name]
                          [--auth-mode {key, login}]
                          [--blob-endpoint]
                          [--connection-string]
                          [--include-deleted {false, true}]
                          [--include-metadata {false, true}]
                          [--marker]
                          [--num-results]
                          [--prefix]
                          [--sas-token]
                          [--show-next-marker]
                          [--timeout]

示例

列出存储帐户中的容器。

az storage container list

列出存储帐户中的软删除容器。

az storage container list --include-deleted

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称或服务终结点结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行大量存储命令,则可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--blob-endpoint

存储数据服务终结点。 必须与存储帐户密钥或 SAS 令牌结合使用。 You can find each service primary endpoint with az storage account show. 环境变量:AZURE_STORAGE_SERVICE_ENDPOINT。

--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--include-deleted

指定要在响应中返回的已删除容器。 这是用于启用容器还原的帐户。 默认值是 False

接受的值: false, true
--include-metadata

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

接受的值: false, true
--marker

一个字符串值,该值标识要通过下一个列表操作返回的容器列表部分。 如果列表操作未返回剩余的所有容器,则操作在响应正文中返回 NextMarker 值,以便与当前页一起列出。 如果指定,此生成器将开始从上一个生成器停止的点返回结果。

--num-results

指定要返回的最大数目。 如果请求未指定num_results,或指定大于 5000 的值,则服务器将返回最多 5000 个项目。 请注意,如果列表操作跨越分区边界,则服务将返回一个延续令牌来检索剩余的结果。 提供“*”以返回全部。

默认值: 5000
--prefix

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

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称或服务终结点结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--show-next-marker

指定后,在结果中显示 nextMarker。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container restore

还原软删除的容器。

仅当在删除保留策略中设置的指定天数内使用时,操作才会成功。

az storage container restore --deleted-version
                             --name
                             [--account-key]
                             [--account-name]
                             [--auth-mode {key, login}]
                             [--blob-endpoint]
                             [--connection-string]
                             [--sas-token]
                             [--timeout]

示例

列出和还原软删除的容器。

az storage container list --include-deleted
az storage container restore -n deletedcontainer --deleted-version deletedversion

必需参数

--deleted-version

指定要还原的已删除容器的版本。

--name -n

指定要还原的已删除容器的名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称或服务终结点结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行大量存储命令,则可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--blob-endpoint

存储数据服务终结点。 必须与存储帐户密钥或 SAS 令牌结合使用。 You can find each service primary endpoint with az storage account show. 环境变量:AZURE_STORAGE_SERVICE_ENDPOINT。

--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称或服务终结点结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container set-permission

设置可用于共享访问签名的指定容器或存储访问策略的权限。

这些权限指示是否可以公开访问容器中的 Blob。

az storage container set-permission --name
                                    [--account-key]
                                    [--account-name]
                                    [--auth-mode {key, login}]
                                    [--connection-string]
                                    [--if-modified-since]
                                    [--if-unmodified-since]
                                    [--lease-id]
                                    [--public-access {blob, container, off}]
                                    [--sas-token]
                                    [--timeout]

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行了大量存储命令,可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--if-modified-since

仅当自提供的 UTC 日期时间 (Y-m-d'T'H:M'Z') 后修改时才开始。

--if-unmodified-since

仅当提供的 UTC 日期时间 (Y-m-d'T'H:M'Z') 后未修改时才开始。

--lease-id

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

--public-access

指定是否可以公开访问容器中的数据。

接受的值: blob, container, off
--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container show

返回指定容器的所有用户定义的元数据和系统属性。

返回的数据不包含该容器的 Blob 列表。

az storage container show --name
                          [--account-key]
                          [--account-name]
                          [--auth-mode {key, login}]
                          [--connection-string]
                          [--lease-id]
                          [--sas-token]
                          [--timeout]

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行了大量存储命令,可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--lease-id

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

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。

az storage container show-permission

获取指定容器的权限。

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

az storage container show-permission --name
                                     [--account-key]
                                     [--account-name]
                                     [--auth-mode {key, login}]
                                     [--connection-string]
                                     [--lease-id]
                                     [--sas-token]
                                     [--timeout]

必需参数

--name -n

容器名称。

可选参数

--account-key

存储帐户密钥。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_KEY。

--account-name

存储帐户名称。 相关环境变量:AZURE_STORAGE_ACCOUNT。 必须与存储帐户密钥或 SAS 令牌结合使用。 如果两者都不存在,该命令将尝试使用经过身份验证的 Azure 帐户查询存储帐户密钥。 如果执行了大量存储命令,可能会命中 API 配额。

--auth-mode

运行命令的模式。 “登录”模式将直接使用登录凭据进行身份验证。 如果未提供帐户的身份验证参数,旧版“密钥”模式将尝试查询帐户密钥。 环境变量:AZURE_STORAGE_AUTH_MODE。

接受的值: key, login
--connection-string

存储帐户连接字符串。 环境变量:AZURE_STORAGE_CONNECTION_STRING。

--lease-id

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

--sas-token

共享访问签名 (SAS) 。 必须与存储帐户名称结合使用。 环境变量:AZURE_STORAGE_SAS_TOKEN。

--timeout

请求超时(以秒为单位)。 适用于对服务的每个调用。