3
私は、boto3の作業を開始し、記述インスタンスコールの特定の値を取得しようとしました。たとえば、「Hypervisor」の値を取得したい場合や、Ebsの出力に「DeleteOnTermintation」の値がある場合などです。以下は現在私が呼び出しを行い、辞書の出力を繰り返し使用している現在のコードです。ec2を繰り返すインスタンスを記述するboto3
import boto3
import pprint
from datetime import datetime
import json
client = boto3.client('ec2')
filters = [{
'Name': 'tag:Name',
'Values': ['*']
}]
class DatetimeEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%dT%H:%M:%SZ')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
# Let the base class default method raise the TypeError
return json.JSONEncoder.default(self, obj)
output = json.dumps((client.describe_instances(Filters=filters)), cls=DatetimeEncoder)
pprint.pprint(output)
for v in output:
print v['Hypervisor']
このエラーを取得:
はTypeError:文字列のインデックスは出力から利用可能なすべての値を参照するPPRINTを使用し
をstrない、整数でなければなりません。
おかげで..
おかげでジョン...今私はあなたの例で構築することができますスクリプトをさらにカスタマイズすることができます。 – user2040074