AWS开发工具包| Elastic Beanstalk的服务员名单

时间:2016-10-04 23:55:56

标签: python amazon-web-services sdk boto

我对此method get_waiter(waiter_name)感兴趣。服务员的例子在page。我到处寻找,但我找不到这个特定服务的完整服务员列表(对于Python和PHP也是如此)。

基本上,我想要发生的是获取应用程序或环境的状态,并在继续执行下一个任务之前验证它是否正常。

我目前的做法是使用while循环和break,如果AWS响应的状态与我期望的状态匹配。我认为这不是解决这个问题的最佳方法。如果我错了,请纠正我。

以下是我用Python编写的代码片段:

# Check the application status
while True:
    try:
        response = eb.describe_application_versions(
            ApplicationName=app_name,
            VersionLabels=[
                new_app_version
            ]
        )
        status = 'PROCESSED'
        app_status = response['ApplicationVersions'][0]['Status']

        if status == app_status:
            print('Application Status:\t', app_status)
            break
    except:
        raise

# Deploy the app to Elastic Beanstalk
try:
    response = eb.update_environment(
        ApplicationName=app_name,
        EnvironmentId=env_id,
        VersionLabel=new_app_version
    )
except:
    raise

# Check environment health
while True:
    try:
        response = eb.describe_environment_health(
            EnvironmentId=env_id,
            AttributeNames=[
                'Status'
            ]
        )
        status = 'Ready'
        env_status = response['Status']

        if status == env_status:
            print('Environment Status:\t', env_status)
            break
    except:
        raise

1 个答案:

答案 0 :(得分:2)

该服务还没有服务员。如果有,你会在文档中看到它们。例如,将elasticbeanstalk boto3 docscloudfront docs进行比较。 Cloudfront文档有waiters section