2017-10-31 10 views
0

以下のPythonコードを使用して、AWS Elastic BeanstalkのApplicationNameおよびEnvironmentNameを取得しています。誰かが私にどのように印刷するか/ forループか他の方法を使ってすべての環境名を得る方法を教えてもらえますか?おかげPythonを使用してElastic beanstalkのすべての環境名のリストを取得します

#!/usr/bin/env python3 
import boto3 
import json 

def get_info(): 
    try: 
     eb = boto3.client('elasticbeanstalk',"us-east-1") 
     response = eb.describe_environments() 
     app_name=(response['Environments'][0]['ApplicationName']) 
     env_name=(response['Environments'][0]['EnvironmentName']) 
     print app_name 
     print env_name 
    except: 
     raise 

if __name__ == '__main__': 
    get_info() 
+1

'応答['Environments']'はリストのようです。それをループして、すべてのApplicationNameとEnvironmentNameを取得しないでください。 – SRC

+0

@SRCループを実行する方法の構文の例を教えてください。 – RaghuCK

+1

forループが必要です。 https://wiki.python.org/moin/ForLoop本当にそのための例は必要ありません。 –

答えて

1

は、私は現在、それをテストする方法がありませんよう、しかし、response['Environments']がリストであると仮定すると、次のように動作するはずです、コードについて確認していません。それがリストでない場合、それは動作しないか、正しい結果を得るために少しコードを変更しなければならないかもしれないことに注意してください。

#!/usr/bin/env python3 
import boto3 
import json 

def get_info(): 
    try: 
     eb = boto3.client('elasticbeanstalk',"us-east-1") 
     response = eb.describe_environments() 
     for item in response['Environments']: 
      app_name = response['Environments'][item]['ApplicationName'] 
      env_name = response['Environments'][item]['EnvironmentName'] 
      print app_name 
      print env_name 
    except: 
     raise 

if __name__ == '__main__': 
    get_info() 

また、あなたは試し-除くブロックを使用しているという事実を考えると、私はあなたがキャッチしたい特定の例外をキャッチするために常に賢明であると言うだろう。私はそれがどんなものになるかわからないが、all-catch以外は一般的には良い考えではない。

関連する問題