【发布时间】:2019-10-23 14:35:00
【问题描述】:
SAS 的理想到期时间应该是什么时候。 SAS url 用于将 blob 从一个容器复制到另一个容器(也可以使用不同的存储帐户)。 复制命令在生成 SAS 后立即调用,那么到期时间是否只是开始 blob 复制所需的时间,还是应该在复制 blob 完成之前有效?
sas_signature = source_blob_object.generate_container_shared_access_signature(source_container, ContainerPermissions.READ, expiry = datetime.utcnow() + timedelta(hours = 1))
blob_url = source_blob_object.make_blob_url(source_container, blob_name, sas_token = sas_signature)
response = dest_blob_object.copy_blob(dest_container, blob_name, blob_url,
standard_blob_tier = dest_access_tier, rehydrate_priority = rehyd_priority)
【问题讨论】:
-
关于此问题,SAS 令牌应在您完成复制后过期。因为在复制的时候,我们需要继续读取blob数据。所以请将sas token的过期时间设置为大于复制时间或者直接use the account key to copy.
-
您还有其他顾虑吗?
-
只有当容器在同一个存储帐户中或 Blob 是公共的时,才能直接使用帐户密钥。对吗?
-
账户密钥只是访问密钥。您可以使用它来管理存储帐户中的资源。更多详情请参考docs.microsoft.com/en-us/azure/storage/common/…。
-
@JimXu 请将上述输入作为答案发布,以便帮助社区中有类似疑问的其他人。谢谢!
标签: azure azure-blob-storage azure-sdk azure-sdk-python