如何解决Boto3中针对EF的自定义等待条件
boto3为某些服务(例如EC2,S3等)提供默认的服务员。默认情况下,并非所有服务都提供此服务。现在,我来创建一个EFS卷并将生命周期策略添加到文件系统中。 EFS创建需要一些时间,并且生命周期策略未处于必需的efs状态。即创建了efs。
如何等待在Python boto3代码中创建EFS,以便可以添加策略?
解决方法
看起来不存在服务生,但您可以像这样创建自己的客户服务生:
import boto3
from botocore.waiter import WaiterModel
from botocore.waiter import create_waiter_with_client
client = boto3.client('efs')
waiter_name = "LifeCycleCompleted"
waiter_config = {
"version": 2,"waiters": {
"LifeCycleCompleted": {
"operation": "DescribeLifecycleConfiguration","delay": 60,# Number of seconds to delay
"maxAttempts": 5,# Max attempts before failure
"acceptors": [
{
"matcher": "path","expected": lifecycle_policy,"argument": "length(LifecyclePolicies[]) > `0`","state": "success"
}
]
}
}
}
waiter_model = WaiterModel(waiter_config)
efs_lifecycle_waiter = create_waiter_with_client(waiter_name,waiter_model,client)
efs_lifecycle_waiter.wait(FileSystemId='MyFileSystemId')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。