이 문서에서는 Pub/Sub 알림을 사용하여 작업 상태 변경을 모니터링하는 방법과 선택적으로 이러한 알림을 BigQuery로 스트리밍하는 방법을 설명합니다.
시작하기 전에
- Batch를 사용한 적이 없으면 Batch 시작하기를 검토하고 프로젝트 및 사용자 기본 요건을 완료하여 Batch를 사용 설정하세요.
필요한 역할
-
Pub/Sub 주제를 만드는 데 필요한 권한을 얻으려면 관리자에게 Pub/Sub 주제 또는 프로젝트에 대한 Pub/Sub 편집자 (
roles/pubsub.editor
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요. -
작업의 서비스 계정에 Pub/Sub 알림을 게시하는 데 필요한 권한이 있는지 확인하려면 관리자에게 작업의 서비스 계정에 Pub/Sub 주제에 대한 Pub/Sub 게시자(
roles/pubsub.publisher
) IAM 역할을 부여해 달라고 요청하세요.기본적으로 작업의 서비스 계정은 기본 Compute Engine 서비스 계정입니다.
-
Pub/Sub 서비스 계정에 BigQuery로 Pub/Sub 알림을 스트리밍하는 데 필요한 권한이 있는지 확인하려면 관리자에게 Pub/Sub 서비스 계정에 프로젝트의 BigQuery 데이터 편집자(
roles/bigquery.dataEditor
) IAM 역할을 부여해 달라고 요청하세요.이 역할 할당에 대한 자세한 내용은 Pub/Sub 서비스 계정에 BigQuery 역할 할당을 참조하세요.
-
BigQuery에서 Pub/Sub 알림을 쿼리하는 데 필요한 권한을 얻으려면 관리자에게 다음의 IAM 역할을 부여해 달라고 요청하세요.
-
프로젝트에 대한 BigQuery 작업 사용자(
roles/bigquery.jobUser
) -
BigQuery 테이블의 BigQuery 데이터 뷰어(
roles/bigquery.dataViewer
)
-
프로젝트에 대한 BigQuery 작업 사용자(
Batch에서 Pub/Sub 알림 사용
Batch는 알림, 관측 가능성 또는 BigQuery에서 사용할 작업 및 태스크 상태에 대한 Pub/Sub 알림을 지원합니다.
작업 또는 태스크 상태가 변경될 때마다 알림을 받거나 지정된 작업 또는 태스크 상태를 기준으로 필터링할 수 있습니다. 태스크 상태 알림 속성은 작업 내의 특정 태스크가 아닌 작업의 모든 태스크에 적용됩니다. 작업 및 태스크 상태에 대한 자세한 내용은 작업 수명 주기를 참조하세요.
작업에 대한 알림 사용 설정
작업에 대해 Pub/Sub 알림을 사용 설정하려면 다음을 수행합니다.
- Batch 작업을 실행할 프로젝트와 동일한 프로젝트에 Pub/Sub 주제를 만듭니다.
- 필요한 경우 BigQuery로 알림을 스트리밍하도록 Pub/Sub를 구성합니다.
- Pub/Sub 알림을 보내는 작업을 만듭니다.
BigQuery로 알림을 스트리밍하도록 Pub/Sub 구성
작업 및 태스크 상태 변경 내역을 보존하고 이러한 변경사항을 쿼리하려면 다음을 수행하여 Pub/Sub 알림을 BigQuery로 스트리밍할 수 있습니다.
아직 작업에 알림을 사용 설정하지 않았으면 사용 설정합니다.
아직 없으면 BigQuery 데이터 세트를 생성합니다.
다음 스키마 정의를 사용하여 BigQuery 테이블을 만듭니다.
[ { "name": "data", "type": "STRING" }, { "name": "subscription_name", "type": "STRING" }, { "name": "message_id", "type": "STRING" }, { "name": "attributes", "type": "JSON" }, { "name": "publish_time", "type": "TIMESTAMP", "mode": "NULLABLE" } ]
BigQuery로 스트리밍되는 Pub/Sub 구독을 만들고 다음을 지정합니다.
- 주제: 이전에 만든 Pub/Sub 주제를 선택합니다.
- 프로젝트: BigQuery 테이블이 포함된 프로젝트를 선택합니다.
- 데이터 세트: BigQuery 테이블이 포함된 데이터 세트를 선택합니다.
- 테이블: 이전 단계에서 만든 테이블을 선택합니다.
- 주제 스키마 사용을 선택합니다.
- 메타데이터 쓰기를 선택합니다.
Batch 작업이 실행되면 Pub/Sub가 BigQuery로 알림을 스트리밍합니다.
BigQuery에서 알림 분석
BigQuery 테이블의 attributes
열에서 쿼리를 실행하여 BigQuery에서 Pub/Sub 알림을 분석합니다. 쿼리할 수 있는 속성은 태스크 또는 작업에 대한 알림을 구성했는지 여부에 따라 다릅니다.
태스크 알림의 다음 속성을 쿼리할 수 있습니다.
JobUID
NewTaskState
Region
TaskName
TaskUID
Type
작업 알림의 다음 속성을 쿼리할 수 있습니다.
JobUID
JobName
NewJobState
Region
Type
예를 들어 다음 쿼리는 각 알림과 연결된 JobUID
를 보여줍니다.
select attributes.JobUID from `example-table`
다음 단계
- 로그를 이용한 작업 분석 방법 알아보기