我正在为Azure存储v12.x(doc)使用Python API。我正在尝试使用以下代码获取blob的租约:
credentials = ...
blob_client = BlobClient(account_url=ACCOUNT_URL, container_name=CONTAINER_NAME, blob_name=BLOB_NAME, credential=credentials)
lease_id_str = str(uuid.uuid4())
lease = blob_client.acquire_lease(lease_duration=60, lease_id=lease_id_str)
现在,如果租约不可用,我想重试。问题是“我应该如何通过重试获得租约?”
以下是我尝试过的几件事:
1.This documentation谈论属性retry_connect
,retry_read
,retry_status
。将这些作为附加参数添加到上述代码中没有帮助
2.在this test case之后,我尝试了以下做法:
from azure.storage.blob import ExponentialRetry
retry = ExponentialRetry(initial_backoff=1, increment_base=3, retry_total=3)
lease = BlobLeaseClient(blob_client, lease_id=lease_id_str, retry_policy=retry)
它返回了以下信息:
TypeError: init() got an unexpected keyword argument 'retry_policy'
我相信出现此错误的原因是您试图将不受支持的
retry_policy
参数传递给BlobLeaseClient
如果查看您共享的测试用例链接代码,则会将重试策略传递给
BlobServiceClient
对象。你能试试吗?比如:或者试试下面的方法。这里,在创建
BlobClient
的实例时传递重试策略相关问题 更多 >
编程相关推荐