기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EventBridge에서 null 값과 빈 문자열에서 이벤트 일치
중요
EventBridge에서는 예상보다 높은 요금 및 제한으로 이어질 수 있는 규칙을 생성할 수 있습니다. 예를 들어 규칙이 끝없이 반복적으로 실행되는 무한 루프로 이어지는 규칙을 본의 아니게 생성할 수 있습니다. Amazon S3 버킷에서 ACL이 바뀐 것을 감지하고 소프트웨어를 트리거하여 ACL을 원하는 상태로 변경하는 규칙을 생성했다고 가정합니다. 이때 규칙이 부주의하게 작성되면 ACL에 대한 변경이 이어져 규칙을 다시 실행하면서 무한 루프에 빠지게 됩니다.
이러한 예상치 못한 결과를 최소화하기 위해 정확한 규칙 및 이벤트 패턴을 작성하는 방법에 대한 지침은 규칙의 모범 사례 및 모범 사례 섹션을 참조하세요.
null 값이 있거나 빈 문자열인 이벤트의 필드와 일치하는 이벤트 패턴을 생성할 수 있습니다. 다음 예제 이벤트를 살펴보세요.
예상보다 높은 요금과 제한을 방지하기 위한 모범 사례를 참조하세요.
{
"version": "0",
"id": "3e3c153a-8339-4e30-8c35-687ebef853fe",
"detail-type": "EC2 Instance Launch Successful",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "2015-11-11T21:31:47Z",
"region": "us-east-1",
"resources": [
],
"detail": {
"eventVersion": "",
"responseElements": null
}
}
eventVersion의 값이 빈 문자열인 이벤트를 매칭하려면 이전 이벤트와 일치하는 다음 이벤트 패턴을 사용합니다.
{
"detail": {
"eventVersion": [""]
}
}responseElements의 값이 null인 이벤트를 매칭하려면 이전 이벤트와 일치하는 다음 이벤트 패턴을 사용합니다.
{
"detail": {
"responseElements": [null]
}
}참고
Null 값과 빈 문자열은 패턴 일치 시 서로 바꾸어 사용할 수 없습니다. 빈 문자열과 일치하는 이벤트 패턴은 null 값과 일치하지 않습니다.
AWS CloudFormation 템플릿에서 null 값 사용
AWS CloudFormation 는 템플릿의 null 값을 허용하지 않습니다. YAML 또는 JSON 객체 구문을 사용하여 null 값으로 이벤트 패턴을 정의하면 오류와 함께 템플릿 검증이 실패합니다'null' values are not allowed in templates.
이 제한을 해결하려면 EventPattern 속성을 YAML 또는 JSON 객체 대신 JSON 문자열로 지정합니다. 다음 예제에서는 AWS CloudFormation 템플릿의 null 값을 일치시키는 방법을 보여줍니다.
MyRule:
Type: AWS::Events::Rule
Properties:
EventPattern: '{"detail":{"responseElements":[null]}}'