ASSIGNMENTS 뷰

INFORMATION_SCHEMA.ASSIGNMENTS 뷰에는 관리 프로젝트 내의 모든 현재 할당에 대한 거의 실시간 목록이 포함됩니다. 각 행은 단일 현재 할당을 나타냅니다. 현재 할당은 대기 중이거나 활성 상태이며 삭제되지 않았습니다. 예약에 대한 자세한 내용은 예약 소개를 참조하세요.

필요한 권한

INFORMATION_SCHEMA.ASSIGNMENTS 뷰를 쿼리하려면 프로젝트에 대한 bigquery.reservationAssignments.list Identity and Access Management(IAM) 권한이 필요합니다. 사전 정의된 다음 IAM 역할에는 각각 필수 권한이 포함되어 있습니다.

  • roles/bigquery.resourceAdmin
  • roles/bigquery.resourceEditor
  • roles/bigquery.resourceViewer
  • roles/bigquery.user
  • roles/bigquery.admin

BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.

스키마

INFORMATION_SCHEMA.ASSIGNMENTS 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
ddl STRING 이 할당을 만드는 데 사용되는 DDL 문입니다.
project_id STRING 관리 프로젝트의 ID입니다.
project_number INTEGER 관리 프로젝트의 번호입니다.
assignment_id STRING 할당을 고유하게 식별하는 ID입니다.
reservation_name STRING 할당이 사용할 예약 이름입니다.
job_type STRING 예약을 사용할 수 있는 작업 유형입니다. PIPELINE, QUERY, CONTINUOUS, ML_EXTERNAL 또는 BACKGROUND일 수 있습니다.
assignee_id STRING 할당된 리소스를 고유하게 식별하는 ID입니다.
assignee_number INTEGER 할당된 리소스를 고유하게 식별하는 번호입니다.
assignee_type STRING 할당된 담당자 리소스의 유형입니다. organization, folder, project일 수 있습니다.

범위 및 구문

이 뷰에 대한 쿼리에는 리전 한정자가 있어야 합니다. 리전 한정자를 지정하지 않으면 모든 리전에서 메타데이터가 검색됩니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.

뷰 이름 리소스 범위 리전 범위
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
프로젝트 수준 REGION
다음을 바꿉니다.

  • (선택사항) PROJECT_ID: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.

  • REGION: 모든 데이터 세트 리전 이름입니다. 예를 들면 `region-us`입니다.

  • 기본 프로젝트가 아닌 프로젝트에 대해 쿼리를 실행하려면 다음 형식으로 프로젝트 ID를 추가합니다.

    `PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.ASSIGNMENTS
    .

    다음을 바꿉니다.

    • PROJECT_ID: 예약을 할당한 프로젝트의 ID입니다.
    • REGION_NAME: 리전의 이름입니다.

    예를 들면 `myproject`.`region-us`.INFORMATION_SCHEMA.ASSIGNMENTS입니다.

    다음 예시에서는 프로젝트에 현재 할당된 예약과 슬롯 용량을 가져옵니다. 이 정보는 프로젝트의 슬롯 사용량을 해당 프로젝트에 할당된 예약의 슬롯 용량과 비교하여 작업 성능을 디버깅하는 데 유용합니다.

    SELECT
      reservation.reservation_name,
      reservation.slot_capacity
    FROM
      `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`.
      INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT assignment
    INNER JOIN
      `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`.
      INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT AS reservation
    ON
      (assignment.reservation_name = reservation.reservation_name)
    WHERE
       assignment.assignee_id = "PROJECT_ID"
      AND job_type = "QUERY";