微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Boto3中针对EF的自定义等待条件

如何解决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 举报,一经查实,本站将立刻删除。