: Filter CloudWatch Logs to extract Instance IDAWS Lambdaでpythonでイベントオブジェクトにアクセスするには?この質問にフォローアップする
私はそれのpythonでeventオブジェクトにアクセスする方法を言っていないので、それが不完全な疑問を残しと思います。
- がインスタンス
- 開始同じタグを持つ他のすべてのインスタンスに関連付けられているタグ値を取得する状態
- を実行しているの変化によってトリガーされたインスタンスをお読みくださいに
私の目標です
CloudWatchのトリガ・イベントは次のとおりです。
{
"source": [
"aws.ec2"
],
"detail-type": [
"EC2 Instance State-change Notification"
],
"detail": {
"state": [
"running"
]
}
}
私はこのような例を見ることができます。
def lambda_handler(event, context):
# here I want to get the instance tag value
# and set the tag filter based on the instance that
# triggered the event
filters = [{
'Name': 'tag:StartGroup',
'Values': ['startgroup1']
},
{
'Name': 'instance-state-name',
'Values': ['running']
}
]
instances = ec2.instances.filter(Filters=filters)
私はイベントオブジェクトを見ることができますが、私はそれは状態が実行されているに変更します持っていたインスタンスのタグにドリルダウンする方法が表示されません。
トリガされたインスタンスからタグを取得するためのオブジェクト属性は何ですか。
私はそれはのようなものである疑いがある:
イベントの詳細セクションでmyTag = event.details.instance-id.tags["startgroup1"]
ありがとう、Vaisakh。 これは実際に多くの助けになります。イベントオブジェクトと詳細セクションが表示されますが、このinstance-idには、Pythonを使用して特定のタグを取得する方法を教えてください。 これはjson構文解析の練習ですか?またはこれはオブジェクトの属性で行うことができますか? インスタンスのタグ値がイベントオブジェクトに含まれていないように見えます。 ありがとう、 Chris。 – Chrisjx