2016-10-04 7 views
0

私はこれに興味がありますmethodget_waiter(waiter_name)。ウェイターの例はpageです。私はどこからでも見ましたが、この特定のサービスのための完全なウェイターのリスト(PythonとPHPのためにも)を見つけることができませんでした。AWS SDK |弾性ビーンズトークのウェイターのリスト

基本的には、アプリや環境のステータスを取得し、それが次のタスクに移行する前に良いことを確認することです。

私の現在のアプローチは、AWS応答のステータスが予想していたステータスと一致する場合はループとbreakを使用することです。私はこれがこれに対処する最善の方法ではないと思う。私が間違っているなら、私を修正してください。

ここでは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

は、そのサービスのためのウェイターはまだありません。もし存在すれば、それらをドキュメントに見ることになります。たとえば、elasticbeanstalk boto3 docscloudfront docsを比較してください。クラウドフロントのドキュメントにはwaiters sectionがあります。

関連する問題