이 질문에 후속 : Filter CloudWatch Logs to extract Instance IDAWS Lambda에서 python으로 이벤트 객체에 액세스하는 방법은 무엇입니까?
나는 그것이 파이썬과 이벤트 객체에 액세스하는 방법을 언급하지 않기 때문에 불완전 질문 잎 생각합니다.
- 인스턴스
- 시작 같은 태그가 다른 모든 인스턴스와 연관된 태그 값을 얻을 상태
- 을 실행에 변화에 의해 촉발 된 인스턴스를 읽어에
내 목표는
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"]
감사합니다. 실제로 도움이됩니다. 이벤트 객체와 세부 정보 섹션이 표시되지만이 인스턴스 ID에 대해 Python을 사용하여 특정 태그를 얻는 방법을 알려주십시오. json 파싱 연습입니까? 또는 객체 속성을 사용하여이 작업을 수행 할 수 있습니까? 인스턴스의 태그 값이 이벤트 객체에없는 것처럼 보입니다. 감사합니다. Chris. – Chrisjx