자습서: 입력 변환기를 사용하여 EventBridge가 이벤트 대상에 전달하는 내용을 사용자 지정 - 아마존 EventBridge

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 입력 변환기를 사용하여 EventBridge가 이벤트 대상에 전달하는 내용을 사용자 지정

EventBridge의 입력 변환기를 사용하여 이벤트를 규칙 대상으로 보내기 전에 이벤트의 텍스트를 사용자 지정할 수 있습니다.

이렇게 하려면 이벤트에서 JSON 경로를 정의하고 그 출력을 다른 변수에 할당합니다. 그런 다음 입력 템플릿에서 이러한 변수를 사용할 수 있습니다. < 및 > 문자는 이스케이프할 수 없습니다. 자세한 정보는 아마존 EventBridge 인풋 트랜스포메이션 섹션을 참조하세요.

참고

변수를 지정하여 이벤트에 존재하지 않는 JSON 경로를 일치시키는 경우 변수가 생성되지 않기 때문에 출력에 나타나지 않습니다.

이 자습서에서는 detail-type: "customerCreated"와 이벤트를 일치시키는 규칙을 만듭니다. 입력 변환기는 type 변수를 이벤트의 $.detail-type JSON 경로에 매핑합니다. 그런 다음 EventBridge는 변수를 입력 템플릿 "This event was <type>."에 넣습니다. 결과는 다음 Amazon SNS 메시지입니다.

"This event was of customerCreated type."

1단계: Amazon SNS 주제 생성

EventBridge에서 이벤트를 수신할 주제를 생성합니다.

주제를 생성하려면
  1. https://console.aws.amazon.com/sns/v3/home에서 Amazon SNS 콘솔을 엽니다.

  2. 탐색 창에서 주제를 선택합니다.

  3. 주제 생성을 선택합니다.

  4. 유형에서 표준을 선택합니다.

  5. 주제 이름으로 eventbridge-IT-test를 입력합니다.

  6. 주제 생성을 선택합니다.

2단계: Amazon SNS 구독 생성

변환된 정보가 포함된 이메일을 받기 위한 구독을 생성합니다.

구독을 생성하려면
  1. https://console.aws.amazon.com/sns/v3/home에서 Amazon SNS 콘솔을 엽니다.

  2. 탐색 창에서 구독을 선택합니다.

  3. 구독 생성을 선택합니다.

  4. 주제 ARN에서 1단계에서 생성한 주제를 선택합니다. 이 자습서에서는 eventbridge-IT-test를 선택합니다.

  5. 프로토콜에서 이메일을 선택합니다.

  6. 엔드포인트에 이메일 주소를 입력합니다.

  7. 구독 생성을 선택합니다.

  8. AWS 알림을 통해 받은 이메일에서 구독 확인을 선택하여 구독을 확인합니다.

3단계: 규칙 생성

입력 변환기를 사용하여 대상으로 이동하는 인스턴스 상태 정보를 사용자 지정하는 규칙을 생성합니다.

규칙을 생성하려면
  1. https://console.aws.amazon.com/events/에서 Amazon EventBridge 콘솔을 엽니다.

  2. 탐색 창에서 규칙을 선택합니다.

  3. 규칙 생성을 선택합니다.

  4. 규칙에 대해 이름과 설명을 입력합니다. 예를 들어, 규칙의 이름을 ARTestRule로 지정합니다.

  5. 이벤트 버스에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 기본을 선택합니다. 계정의 AWS 서비스가 이벤트를 출력하면 항상 계정의 기본 이벤트 버스로 이동합니다.

  6. 규칙 유형에서 이벤트 패턴이 있는 규칙을 선택합니다.

  7. 다음을 선택합니다.

  8. 이벤트 소스에서 기타를 선택합니다.

  9. 이벤트 패턴에 다음을 입력합니다.

    { "detail-type": [ "customerCreated" ] }
  10. 다음을 선택합니다.

  11. 대상 유형에서 AWS 서비스를 선택합니다.

  12. 대상 선택의 경우 드롭다운 목록에서 SNS 주제를 선택합니다.

  13. 주제에서 1단계에서 생성한 Amazon SNS 주제를 선택합니다. 이 자습서에서는 eventbridge-IT-test를 선택합니다.

  14. 추가 설정에서 다음을 수행합니다.

    1. 대상 입력 구성의 경우 드롭다운 목록에서 입력 변환기를 선택합니다.

    2. 입력 변환기 구성을 선택합니다.

    3. 샘플 이벤트의 경우 다음을 입력합니다.

      { "detail-type": "customerCreated" }
    4. 대상 입력 변환기의 경우 다음을 수행합니다.

      1. 입력 경로에 다음을 입력합니다.

        {"detail-type":"$.detail-type"}
      2. 입력 템플릿에는 다음 사항을 입력합니다.

        "This event was of <detail-type> type."
    5. 확인을 선택합니다.

  15. 다음을 선택합니다.

  16. 다음을 선택합니다.

  17. 규칙의 세부 정보를 검토하고 규칙 생성을 선택합니다.

4단계: 테스트 이벤트 보내기

SNS 주제와 규칙을 설정했으니 이제 규칙이 제대로 작동하는지 확인하기 위해 테스트 이벤트를 전송하겠습니다.

테스트 이벤트를 보내려면(콘솔)
  1. https://console.aws.amazon.com/events/에서 Amazon EventBridge 콘솔을 엽니다.

  2. 탐색 창에서 이벤트 버스를 선택합니다.

  3. 기본 이벤트 버스 타일에서 액션, 이벤트 전송을 선택합니다.

  4. 이벤트 소스를 입력합니다. 예: TestEvent.

  5. 세부 정보 유형에는 customerCreated를 입력합니다.

  6. 이벤트 세부 정보에는 {}를 입력합니다.

  7. 전송을 선택합니다.

5단계: 성공 확인

예상 출력과 일치하는 AWS 알림 이메일을 받으면 자습서를 성공적으로 완료한 것입니다.

6단계: 리소스 정리

이 자습서 용도로 생성한 리소스를 보관하고 싶지 않다면 지금 삭제할 수 있습니다. 더 이상 사용하지 않는 AWS 리소스를 삭제하면 AWS 계정에 불필요한 요금이 발생하는 것을 방지할 수 있습니다.

SNS 주제를 삭제하려면
  1. SNS 콘솔의 주제 페이지를 엽니다.

  2. 생성한 주제를 선택합니다.

  3. 삭제를 선택합니다.

  4. delete me을 입력합니다.

  5. 삭제를 선택합니다.

SNS 구독을 삭제하려면
  1. SNS 콘솔의 구독 페이지를 엽니다.

  2. 생성한 구독을 선택합니다.

  3. 삭제를 선택합니다.

  4. 삭제를 선택합니다.

EventBridge 규칙을 삭제하려면
  1. EventBridge 콘솔의 규칙 페이지를 엽니다.

  2. 생성한 규칙을 선택합니다.

  3. 삭제를 선택합니다.

  4. 삭제를 선택합니다.