CloudWatch Events로 AWS Glue 자동화 - AWS Glue

CloudWatch Events로 AWS Glue 자동화

Amazon CloudWatch Events를 사용하여 AWS 서비스를 자동화하고 애플리케이션 가용성 문제나 리소스 변경 같은 시스템 이벤트에 자동으로 응답합니다. AWS 서비스의 이벤트는 거의 실시간으로 CloudWatch Events로 전송됩니다. 원하는 이벤트만 표시하도록 간단한 규칙을 작성한 후 규칙과 일치하는 이벤트 발생 시 실행할 자동화 작업을 지정할 수 있습니다. 자동으로 트리거할 수 있는 작업은 다음과 같습니다.

  • AWS Lambda 함수 호출

  • Amazon EC2 Run Command 호출

  • Amazon Kinesis Data Streams로 이벤트 릴레이

  • AWS Step Functions 상태 머신 활성화

  • Amazon SNS 주제 또는 Amazon SQS 대기열 알림

다음은 CloudWatch Events를 AWS Glue에 사용하는 몇 가지 예입니다.

  • ETL 작업이 성공하면 Lambda 함수를 활성화합니다.

  • ETL 작업이 실패하면 Amazon SNS 주제를 알립니다.

다음 CloudWatch Events는 AWS Glue에 의해 생성됩니다.

  • "detail-type":"Glue Job State Change" 이벤트는 SUCCEEDED, FAILED, TIMEOUTSTOPPED에 대해 생성됩니다.

  • 작업 지연 알림 임곗값을 초과한다면 RUNNING, STARTINGSTOPPING 작업 실행에 "detail-type":"Glue Job Run Status"용 이벤트가 생성됩니다.

  • "detail-type":"Glue Crawler State Change" 이벤트는 Started, SucceededFailed을 위해 발생합니다.

  • "detail-type":"Glue Data Catalog Database State Change" 이벤트는 CreateDatabase, DeleteDatabase, CreateTable, DeleteTableBatchDeleteTable에 대해 생성됩니다. 예를 들어 테이블이 생성되거나 삭제되면 CloudWatch Events에 알림이 전송됩니다. 순서가 잘못되었거나 누락되는 등 알림 이벤트의 순서 또는 존재 여부에 따라 프로그램을 작성할 수 없을 수 있습니다. 이벤트는 최선의 작업을 기반으로 발생됩니다. 알림 세부 정보:

    • typeOfChange에는 API 작업의 이름이 포함되어 있습니다.

    • databaseName에는 영향을 받는 데이터베이스 이름이 포함되어 있습니다.

    • changedTables는 알림당 영향을 받는 테이블의 이름을 최대 100개까지 포함합니다. 테이블 이름이 길면 여러 알림이 생성될 수 있습니다.

  • "detail-type":"Glue Data Catalog Table State Change" 이벤트는 UpdateTable, CreatePartition, BatchCreatePartition, DeletePartitionBatchDeletePartition에 대해 생성됩니다. 예를 들어 테이블이 생성되거나 파티션이 업데이트되면 CloudWatch Events에 알림이 전송됩니다. 순서가 잘못되었거나 누락되는 등 알림 이벤트의 순서 또는 존재 여부에 따라 프로그램을 작성할 수 없을 수 있습니다. 이벤트는 최선의 작업을 기반으로 발생됩니다. 알림 세부 정보:

    • typeOfChange에는 API 작업의 이름이 포함되어 있습니다.

    • databaseName은 영향을 받는 리소스가 포함된 데이터베이스의 이름을 포함합니다.

    • tableName에는 영향을 받는 테이블 이름이 포함되어 있습니다.

    • changedPartitions는 하나의 알림에서 최대 100개의 영향을 받는 파티션을 지정합니다. 파티션 이름이 길면 여러 알림이 생성될 수 있습니다.

      예를 들어 YearMonth와 같은 두 개의 파티션 키가 있는 경우"2018,01", "2018,02""Year=2018" and "Month=01""Year=2018" and "Month=02"가 있는 파티션을 수정합니다.

      { "version":"0", "id":"abcdef00-1234-5678-9abc-def012345678", "detail-type":"Glue Data Catalog Table State Change", "source":"aws.glue", "account":"123456789012", "time":"2017-09-07T18:57:21Z", "region":"us-west-2", "resources":["arn:aws:glue:us-west-2:123456789012:database/default/foo"], "detail":{ "changedPartitions": [ "2018,01", "2018,02" ], "databaseName": "default", "tableName": "foo", "typeOfChange": "BatchCreatePartition" } }

자세한 내용은 Amazon CloudWatch Events 사용 설명서를 참조하세요. AWS Glue에 한정되는 이벤트는 AWS Glue 이벤트를 참조하십시오.