Amazon EventBridge에서 Amazon Redshift Data API에 대한 이벤트 모니터링
자체 애플리케이션, SaaS(Software-as-a-Service) 애플리케이션 및 AWS 서비스의 실시간 데이터 스트림을 제공하는 EventBridge의 Data API 이벤트를 모니터링할 수 있습니다. EventBridge는 해당 데이터를 AWS Lambda, Amazon SNS 등의 대상으로 라우팅합니다. 이러한 이벤트는 CloudWatch Events에 나타나는 이벤트와 동일하며, AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간 제공합니다. Amazon Redshift 데이터베이스가 포함된 계정으로 이벤트가 전송됩니다. 예를 들어 다른 계정의 역할을 수임하면 이벤트가 해당 계정으로 전송됩니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 이벤트를 참조하세요.
ExecuteStatement
또는 BatchExecuteStatement
API 작업이 WithEvent
옵션을 true
로 설정하면 Data API 이벤트가 전송됩니다. 이벤트의 state
필드에는 다음 값 중 하나가 포함됩니다.
ABORTED – 쿼리 실행이 사용자에 의해 중지되었습니다.
[실패(FAILED)] – 쿼리 실행에 실패했습니다.
[완료(FINISHED)] – 쿼리 실행이 완료되었습니다.
이벤트는 보장된 방식으로 전달됩니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 AWS 서비스 이벤트를 참조하세요.
Data API 완료 이벤트의 예
다음 예에서는 ExecuteStatement
API 작업이 완료될 때 Data API에 대한 이벤트를 보여줍니다. 이 예에서 test.testtable
이라는 문이 실행을 완료했습니다.
{ "version": "0", "id": "18e7079c-dd4b-dd64-caf9-e2a31640dab0", "detail-type": "Redshift Data Statement Status Change", "source": "aws.redshift-data", "account": "123456789012", "time": "2020-10-01T21:14:26Z", "region": "us-east-1", "resources": [ "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster-1" ], "detail": { "principal": "arn:aws:iam::123456789012:user/myuser", "statementName": "test.testtable", "statementId": "dd2e1ec9-2ee3-49a0-819f-905fa7d75a4a", "redshiftQueryId": -1, "state": "FINISHED", "rows": 1, "expireAt": 1601673265 } }