명령줄 도구 참조

이 문서는 bq 명령줄 도구의 명령어와 플래그를 자세히 설명합니다. bq 명령줄 도구 사용에 대한 자세한 내용은 bq 명령줄 도구 사용을 참조하세요.

전역 플래그

bq 명령줄 도구에서 다음과 같은 전역 플래그를 사용할 수 있습니다.

[지원 중단됨] bq 승인 플래그

bq 승인 플래그는 지원 중단되었습니다. bq 명령줄 도구에 승인을 구성하려면 Cloud SDK 도구 승인을 참조하세요.

--application_default_credential_file
자세한 내용은 서버 간 프로덕션 애플리케이션 인증 설정을 참조하세요. 기본값은 ''입니다.
--credential_file
OAuth 토큰을 저장하는 데 사용되는 파일 이름입니다. 기본값은 $HOME/.bigquery.v2.token입니다.
--service_account
이 서비스 계정 이메일 주소를 승인하는 데 사용합니다. 예를 들면 1234567890@developer.gserviceaccount.com입니다. 기본값은 ''입니다.
--service_account_credential_file
서비스 계정의 사용자 인증 정보 저장소로 사용되는 파일입니다. 서비스 계정을 사용하는 경우 이 플래그를 설정해야 합니다.
--service_account_private_key_file
서비스 계정 비공개 키가 포함된 파일입니다. --service_account 플래그가 지정된 경우 이 플래그는 필수입니다. 기본값은 ''입니다.
--service_account_private_key_password
비공개 키 비밀번호입니다. 이 비밀번호는 키를 만들 때 설정한 키 비밀번호와 일치해야 합니다. 기본값은 notasecret입니다.
--use_gce_service_account
이 플래그를 지정하면 Compute Engine 인스턴스에서 실행할 때 저장된 사용자 인증 정보 대신 서비스 계정 사용자 인증 정보를 사용할 수 있습니다. 자세한 내용은 인스턴스의 서비스 계정 만들기 및 사용 설정을 참조하세요. 기본값은 false입니다.

bq 전역 플래그

--api
호출할 API 엔드포인트입니다. 기본값은 https://www.googleapis.com입니다.

--api_version사용할 API 버전입니다. 기본값은 v2입니다.

--apilog
모든 API 요청 및 응답을 이 플래그에서 지정된 파일에 로깅합니다. stdoutstderr를 사용할 수도 있습니다. 빈 문자열('')을 지정하면 stdout에 로깅됩니다.
--bigqueryrc
bq 명령줄 도구 구성 파일의 경로입니다. 구성 파일은 모든 플래그의 새 기본값을 지정하며 명령줄에서 플래그를 지정하면 재정의될 수 있습니다. --bigqueryrc 플래그를 지정하지 않으면 BIGQUERYRC 환경 변수가 사용되며 이를 지정하지 않으면 경로 ~/.bigqueryrc가 사용됩니다. 기본값은 $HOME/.bigqueryrc입니다.
--ca_certificates_file
CA 인증서 파일 위치입니다. 기본값은 ''입니다.
--dataset_id
요청에 사용할 기본 데이터세트입니다. 이 플래그는 적용할 수 없는 경우 무시됩니다. 값을 PROJECT:DATASET 또는 DATASET으로 설정할 수 있습니다. PROJECT가 누락되면 기본 프로젝트가 사용됩니다. 이 설정은 --project_id 플래그를 지정하여 재정의할 수 있습니다. 기본값은 ''입니다.
--debug_mode
Python 예외에 대한 추적을 표시합니다. 기본값은 false입니다.
--disable_ssl_validation
HTTPS 인증서 유효성 검사를 사용 중지합니다. 기본값은 false입니다.
--discovery_file
검색을 위해 읽을 JSON 파일의 파일 이름입니다. 기본값은 ''입니다.
--enable_gdrive
true로 설정하면 GDrive 범위가 있는 새 OAuth 토큰이 요청됩니다. false로 설정하면 GDrive 범위가 없는 새 OAuth 토큰이 요청됩니다.
--fingerprint_job_id
작업 구성의 지문에서 파생된 작업 ID를 사용할 것인지 여부를 지정합니다. 이렇게 하면 같은 작업이 실수로 여러 번 실행되는 것을 방지할 수 있습니다. 기본값은 false입니다.
--flagfile
이 플래그를 지정하면 제공된 파일의 플래그 정의가 bq 명령줄 도구에 삽입됩니다. 기본값은 ''입니다.
--format

명령어의 출력 형식을 지정합니다. 옵션은 다음과 같습니다.

  • pretty: 형식이 지정된 테이블 출력
  • sparse: 더 단순한 테이블 출력
  • prettyjson: 읽기 쉬운 JSON 형식
  • json: 최대한 압축한 JSON
  • csv: 헤더가 있는 CSV 형식

pretty, sparse, prettyjson은 사람이 읽을 수 있도록 작성되었습니다. jsoncsv는 다른 프로그램에 전달하기 위한 용도입니다. none이 지정되면 명령어가 출력을 생성하지 않습니다. --format 플래그가 없으면 명령어를 기준으로 적절한 출력 형식이 선택됩니다.

--headless

사용자 상호작용 없이 bq 세션을 실행할지 여부를 지정합니다. true로 설정하면 상호작용이 사용 중지됩니다. 예를 들어 debug_mode는 디버거에 침입하지 않으며 정보 인쇄 빈도가 줄어듭니다. 기본값은 false입니다.

--httplib2_debuglevel=DEBUG_LEVEL

HTTP 디버깅 정보를 표시할지 여부를 지정합니다. DEBUG_LEVEL이 0보다 크면 오류 메시지 외에 HTTP 서버 요청과 stderr에 대한 응답을 로깅합니다. DEBUG_LEVEL이 0보다 작거나 --httplib2_debuglevel 플래그가 사용되지 않으면 오류 메시지만 제공됩니다.

예: --httplib2_debuglevel=1

--job_id
요청에 사용할 고유한 작업 ID입니다. 작업 생성 요청에 지정되지 않으면 작업 ID가 생성됩니다. 이 플래그는 작업을 생성하는 명령어인 cp, extract, load, query에만 적용됩니다. 자세한 내용은 프로그래매틱 방식으로 작업 실행을 참조하세요.
--job_property
작업 구성의 속성 필드에 포함되는 키-값 쌍입니다. 이 플래그를 반복하면 속성을 추가로 지정할 수 있습니다.
--location

리전 또는 멀티 리전 위치에 해당하는 문자열입니다. 위치 플래그는 -j 플래그를 사용하여 작업 정보를 표시하는 경우 cancel 명령어와 show 명령어에 필요합니다. 위치 플래그는 다음 명령어에서 선택사항입니다.

다른 모든 명령어는 --location 플래그를 무시합니다.

--max_rows_per_request

읽을 때마다 반환되는 최대 행 수를 지정하는 정수입니다.

--project_id

요청에 사용할 프로젝트 ID입니다. 기본값은 ''입니다.

--proxy_address

Google Cloud에 연결하는 데 사용할 프록시 호스트의 이름 또는 IP 주소입니다. 기본값은 ''입니다.

--proxy_password

프록시 호스트로 인증할 때 사용할 암호입니다. 기본값은 ''입니다.

--proxy_port

프록시 호스트에 연결하는 데 사용할 포트 번호입니다. 기본값은 ''입니다.

--proxy_username

프록시 호스트로 인증할 때 사용할 사용자 이름입니다. 기본값은 ''입니다.

--quiet 또는 -q

true로 설정하면 작업이 실행되는 동안 상태 업데이트가 무시됩니다. 기본값은 false입니다.

--synchronous_mode 또는 -sync

true로 설정하면 명령어가 완료될 때까지 결과 반환이 되지 않으며 작업 완료 상태가 오류 코드로 사용됩니다. false로 설정하면 작업이 생성되고 성공적인 완료 상태가 오류 코드에 사용됩니다. 기본값은 true입니다.

--trace

token:TOKEN으로 지정된 추적 토큰으로 API 요청에 포함됩니다.

명령어별 플래그

bq 명령줄 도구에서 다음과 같은 명령어 플래그를 사용할 수 있습니다.

bq add-iam-policy-binding

add-iam-policy-binding 명령어는 리소스(테이블 또는 뷰)의 ID 및 액세스 관리(IAM) 정책을 검색하고 한 번에 정책에 binding을 추가합니다.

이 명령어는 다음 3단계 프로세스를 대체합니다.

  1. get-iam-policy 명령어를 사용하여 JSON 형식의 정책 파일을 검색합니다.
  2. 정책 파일을 수정합니다.
  3. set-iam-policy 명령어를 사용하여 정책을 새 binding으로 업데이트합니다.

사용법:

bq add-iam-policy-binding --member="MEMBER" --role="ROLE" [-COMMAND_FLAGS] RESOURCE_IDENTIFIER

add-iam-policy-binding 명령어는 다음과 같은 명령어별 플래그 및 인수를 사용합니다.

--member
IAM 정책 binding의 구성원 부분입니다. --role 플래그와 함께 --member 플래그가 필요합니다. --member--role의 한 조합은 하나의 binding과 같습니다. binding에 대한 자세한 내용은 IAM 정책 참조를 확인하세요.
--role
IAM 정책 binding의 역할 부분입니다. --member 플래그와 함께 --role 플래그가 필요합니다. --member--role 플래그의 한 조합은 하나의 binding과 같습니다. binding에 대한 자세한 내용은 IAM 정책 참조를 확인하세요.
-t --table/view
이 플래그를 지정하면 테이블 또는 뷰의 IAM 정책에 binding이 추가됩니다. 선택사항입니다. 기본값은 false입니다.

RESOURCE_IDENTIFIER는 정책이 업데이트되는 리소스(테이블 또는 뷰)입니다.

bq cancel

cancel 명령어는 작업을 취소하는 데 사용됩니다. cancel 명령어에는 명령어별 플래그가 없습니다.

cancel 명령어 사용에 대한 자세한 내용은 작업 관리를 참조하세요.

cancel 명령어는 다음과 같은 전역 플래그를 사용합니다.

--job_id
취소 요청에 사용할 고유한 작업 ID입니다. --job_id 플래그를 사용하지 않고 작업 ID를 지정할 수도 있습니다(예: bq cancel JOB_ID).
--synchronous_mode 또는 --sync
이 플래그를 지정하면 명령어가 완료될 때까지 결과 반환이 되지 않습니다. false로 설정하면 명령어가 결과를 즉시 반환합니다. 기본값은 true입니다.

bq cp

cp 명령어는 테이블을 복사하는 데 사용됩니다. cp 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

cp 명령어 사용에 대한 자세한 내용은 테이블 관리를 참조하세요.

--append_table 또는 -a
이 플래그를 지정하면 테이블을 복사하여 기존 테이블에 추가할 수 있습니다. 기본값은 false입니다.
--destination_kms_key
대상 테이블 데이터 암호화에 사용되는 Cloud KMS 키입니다.
--force 또는 -f
이 플래그를 지정하면 대상 테이블이 덮어쓰기되고 메시지가 표시되지 않습니다(대상 테이블이 있는 경우). 기본값은 false입니다.
--no_clobber 또는 -n
이 플래그를 지정하면 대상 테이블이 덮어쓰기되지 않습니다(대상 테이블이 있는 경우). 기본값은 false입니다.

bq extract

extract 명령어는 테이블 데이터를 Cloud Storage로 내보내는 데 사용됩니다.

extract 명령어 사용에 대한 자세한 내용은 테이블 데이터 내보내기를 참조하세요.

사용법:

bq extract [-COMMAND_FLAGS] 'RESOURCE_IDENTIFIER' DESTINATION

extract 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--compression
내보내는 파일에 사용할 압축 유형입니다. 가능한 값은 GZIP(CSV와 JSON), DEFLATE(Avro), SNAPPY(Avro 및 Parquet), NONE입니다. 기본값은 NONE입니다.
--destination_format

내보내는 데이터의 형식입니다. 가능한 값은 다음과 같습니다.

기본값은 CSV입니다.

--field_delimiter 또는 -F

CSV 내보내기의 출력 파일에서 열 사이의 경계를 나타내는 문자입니다. ISO-8859-1 단일 바이트의 어느 문자든지 이 구분 기호가 될 수 있습니다. \ttab 모두 탭 구분 기호로 사용할 수 있습니다.

--print_header 또는 --noprint_header

헤더가 있는 형식의 헤더 행을 인쇄하지 않으려면 --noprint_header를 지정합니다. --print_header가 지정되거나 어떠한 플래그도 사용되지 않으면 헤더 행이 포함됩니다.

예:

bq extract --compression GZIP --destination_format CSV --field_delimiter tab
    --noprintheader 'myDataset.myTable' gs://my-bucket/myFile.csv.gzip

bq get-iam-policy

get-iam-policy 명령어는 리소스(테이블 또는 뷰)의 IAM 정책을 검색하고 stdout에 출력합니다. 정책은 JSON 형식입니다.

get-iam-policy 명령어에 대한 자세한 내용과 예시는 테이블 액세스 제어 소개를 참조하세요.

사용법:

bq get-iam-policy [-COMMAND_FLAG] RESOURCE_IDENTIFIER

get-iam-policy 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

-t --table/view

이 플래그를 지정하면 테이블 또는 뷰의 IAM 정책을 가져옵니다. 선택사항입니다. 기본값은 false입니다.

RESOURCE_IDENTIFIER는 정책이 업데이트되는 리소스(테이블 또는 뷰)입니다.

bq head

head 명령어는 테이블에 행을 표시합니다.

head 명령어 사용에 대한 자세한 내용은 테이블 데이터 관리를 참조하세요.

head 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--job 또는 -j
쿼리 작업 결과를 읽으려면 유효한 작업 ID와 함께 이 플래그를 지정합니다. 기본값은 false입니다.
--max_rows 또는 -n
테이블 데이터를 표시할 때 인쇄할 행 수를 나타내는 정수입니다. 기본값은 100입니다.
--selected_fields 또는 -c
테이블 데이터를 표시할 때 반환할 필드의 하위 집합(중첩된 필드 및 반복된 필드 포함)을 나타내는 쉼표로 구분된 목록입니다. 이 플래그가 지정되지 않으면 모든 열이 검색됩니다.
--start_row 또는 -s
테이블 데이터를 표시하기 전에 건너뛸 행 수를 나타내는 정수입니다. 기본값은 0입니다(첫 번째 행에서 시작).
--table 또는 -t
테이블의 행을 읽으려면 테이블 ID와 함께 이 플래그를 지정합니다. 기본값은 false입니다.

bq insert

insert 명령어를 사용하면 스트리밍 버퍼를 사용하여 줄바꿈으로 구분된 JSON 형식의 데이터 행을 삽입할 수 있습니다. 데이터 유형은 대상 테이블의 열 유형과 일치하도록 변환됩니다. 이 명령어는 테스트 목적으로만 사용됩니다. BigQuery로 데이터를 스트리밍하려면 insertAll API 메서드를 사용합니다.

자세한 내용은 BigQuery로 데이터 스트리밍을 참조하세요.

사용법:

bq insert [COMMAND_FLAGS] TABLE FILE

insert 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--ignore_unknown_values 또는 -i
지정하면 테이블의 스키마와 일치하지 않는 키-값 쌍을 무시하고 스키마와 일치하는 데이터가 있는 행을 삽입합니다. 플래그를 지정하지 않으면 테이블의 스키마와 일치하지 않는 데이터가 있는 행은 삽입되지 않습니다.
--skip_invalid_rows 또는 -s
지정된 경우 유효하지 않은 행이 있어도 유효한 행 삽입을 시도합니다. 플래그가 지정되지 않은 경우 유효하지 않은 행이 있으면 명령어가 실패합니다.
--template_suffix 또는 -x
이 플래그를 지정하면 대상 테이블이 기본 템플릿으로 처리되고 행은 {destination}{templateSuffix}라는 인스턴스 테이블에 삽입됩니다. BigQuery는 기본 템플릿의 스키마를 사용하여 인스턴스 테이블을 만듭니다.

예시:

bq insert --ignore_unknown_values myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable

bq load

load 명령어는 데이터를 테이블에 로드합니다.

load 명령어를 사용하여 Cloud Storage에서 데이터를 로드하는 방법에 대한 자세한 내용은 다음을 참조하세요.

load 명령어를 사용하여 로컬 소스에서 데이터를 로드하는 방법에 대한 자세한 내용은 로컬 파일에서 데이터 로드를 참조하세요.

load 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--allow_jagged_rows
이 플래그를 지정하면 CSV 데이터에서 후행 선택 열이 누락될 수 있습니다.
--allow_quoted_newlines
이 플래그를 지정하면 CSV 데이터에서 따옴표가 있는 줄바꿈 문자가 허용됩니다.
--autodetect
이 플래그를 지정하면 CSV 데이터와 JSON 데이터에 스키마 자동 감지가 사용 설정됩니다.
--clustering_fields
최대 4개의 열 이름이 포함된 쉼표로 구분된 목록입니다.
--destination_kms_key
대상 테이블 데이터의 암호화에 사용할 Cloud KMS 키입니다.
--encoding 또는 -E
데이터에 사용되는 문자 인코딩입니다. 가능한 값은 다음과 같습니다.
  • ISO-8859-1(Latin-1이라고도 함)
  • UTF-8
--field_delimiter 또는 -F
데이터에서 열 사이의 경계를 나타내는 문자입니다. ISO-8859-1 단일 바이트의 어느 문자든지 이 구분 기호가 될 수 있습니다. \ttab 모두 탭 구분 기호로 사용할 수 있습니다.
--ignore_unknown_values
지정된 경우, CSV 및 JSON 파일에 대해 테이블 스키마와 일치하지 않는 추가 열 값이 있는 행이 무시되고 로드되지 않습니다. 마찬가지로 Avro, Parquet, ORC 파일의 경우 테이블 스키마에 없는 파일 스키마의 필드는 무시되고 로드되지 않습니다.
--max_bad_records
전체 작업이 실패하기 전에 허용되는 불량 레코드의 최대 수를 지정하는 정수입니다. 기본값은 0입니다. --max_bad_records 값과 관계없이 모든 유형에 오류가 최대 5개까지 반환됩니다.
--null_marker
CSV 데이터에서 NULL 값을 나타내는 선택적 커스텀 문자열입니다.
--projection_fields
--source_formatDATASTORE_BACKUP으로 설정해서 사용하면 Datastore 내보내기에서 로드할 항목 속성이 쉼표로 구분된 목록으로 표시됩니다. 속성 이름은 대소문자를 구분하며 최상위 속성을 참조해야 합니다. 기본값은 ''입니다. 이 플래그는 Firestore 내보내기에도 사용될 수 있습니다.
--quote CHARACTER
필드 앞뒤에 따옴표 문자를 지정하려면 이 플래그를 포함합니다. CHARACTER 인수는 1바이트 문자일 수 있습니다. 기본값은 "(큰따옴표)입니다. 따옴표 문자가 없도록 지정하려면 빈 문자열("")을 사용합니다.
--replace
이 플래그를 지정하면 새 데이터가 로드될 때 기존 데이터와 스키마가 지워집니다. --destination_kms_key 플래그를 지정하지 않으면 모든 Cloud KMS 키도 삭제됩니다. 기본값은 false입니다. TRUNCATE TABLE 문을 사용하면 스키마를 삭제하지 않고도 테이블에서 모든 행을 삭제할 수 있습니다.
--schema
로컬 JSON 스키마 파일의 경로이거나 FIELD:DATA_TYPE,FIELD:DATA_TYPE 형식의 쉼표로 구분된 열 정의 목록입니다. 스키마 파일을 사용하는 경우 파일에 확장자를 포함하지 마세요.
--schema_update_option

로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 가능한 값은 다음과 같습니다.

  • ALLOW_FIELD_ADDITION: 새 필드를 추가하도록 허용
  • ALLOW_FIELD_RELAXATION: REQUIRED 필드를 NULLABLE로 완화하도록 허용

여러 스키마 업데이트 옵션을 지정하려면 이 플래그를 반복합니다.

--skip_leading_rows

소스 파일의 시작 부분에서 건너뛸 행 수를 지정하는 정수입니다.

--source_format

소스 데이터의 형식입니다. 가능한 값은 다음과 같습니다.

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 지정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 가능한 값은 DAY, HOUR, MONTH 또는 YEAR입니다. 시간 기준 파티션 나누기의 기본 파티션 유형은 DAY입니다.

--use_avro_logical_types

sourceFormatAVRO로 설정된 경우 원시 유형(예: INTEGER)만 사용하지 않고 해당하는 유형(예: TIMESTAMP)으로 논리 유형을 변환할지 여부를 나타냅니다.

--decimal_target_types

: Decimal 논리 유형을 변환하는 방법을 결정합니다. JobConfigurationLoad.decimalTargetTypes와 같습니다. 이 플래그를 반복하면 타겟 유형을 여러 개 지정할 수 있습니다.

--parquet_enum_as_string
sourceFormatPARQUET로 설정된 경우 Parquet ENUM 논리 유형을 STRING 값으로 추론할지 여부를 나타냅니다.
--parquet_enable_list_inference
sourceFormatPARQUET로 설정된 경우 Parquet LIST 논리 유형에 스키마 추론을 사용할지 여부를 나타냅니다.

bq ls

ls 명령어는 컬렉션의 객체를 나열합니다.

ls 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

ls 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--all 또는 -a
이 플래그를 지정하면 모든 결과, 즉 모든 사용자의 작업 또는 모든 데이터세트의 작업(숨겨진 작업 포함)이 표시됩니다. 전송 구성 또는 전송 실행을 나열할 때는 이 플래그가 필요하지 않습니다.
--capacity_commitment
이 플래그를 지정하면 용량 약정이 나열됩니다. 기본값은 false입니다.
--datasets 또는 -d
이 플래그를 지정하면 데이터세트가 나열됩니다. 기본값은 false입니다.
--filter "FILTER"

FILTER와 일치하는 데이터 세트를 나열하며, labels.KEY:VALUE 형식으로 된 하나 이상의 공백으로 구분된 트리플로 구성됩니다. 하나 이상의 트리플이 제공된 경우 모든 트리플에 일치하는 데이터 세트만 반환합니다. 즉, OR이 아닌 AND 논리 연산자를 사용합니다.

--jobs 또는 -j

이 플래그를 지정하면 작업이 나열됩니다. 기본값은 false입니다. 기본적으로 결과는 100,000개로 제한됩니다.

--max_creation_time

타임스탬프를 밀리초 단위로 나타내는 정수입니다. 이 플래그를 -j 플래그와 함께 지정하면 타임스탬프 이전에 생성된 작업이 나열됩니다.

--max_results 또는 -n

결과의 최대 수를 나타내는 정수입니다. 기본값은 50개입니다.

--min_creation_time

타임스탬프를 밀리초 단위로 나타내는 정수입니다. 이 플래그를 -j 플래그와 함께 지정하면 타임스탬프 이후에 생성된 작업이 나열됩니다.

--message_type

특정 유형의 전송 실행 로그 메시지를 나열하려면 messageTypes:MESSAGE_TYPE을 지정합니다. 가능한 값은 다음과 같습니다.

  • INFO
  • WARNING
  • ERROR
--models 또는 -m

이 플래그를 지정하면 BigQuery ML 모델이 나열됩니다.

--page_token 또는 -k

이 플래그를 지정하면 이 페이지 토큰부터 시작하는 항목이 나열됩니다.

--projects 또는 -p

이 플래그를 지정하면 모든 프로젝트가 표시됩니다. 기본값은 false입니다.

--reservation

이 플래그를 지정하면 제공된 프로젝트 및 위치의 모든 예약이 나열됩니다. 기본값은 false입니다.

--reservation_assignment

이 플래그를 지정하면 제공된 프로젝트 및 위치의 모든 예약 할당이 나열됩니다. 기본값은 false입니다.

--run_attempt

최근 전송 실행만 나열하려면 이 플래그를 LATEST로 설정합니다.

--transfer_config

이 플래그를 지정하면 전송 구성이 나열됩니다. 이 플래그를 사용하면 --transfer_location도 지정해야 합니다. 기본값은 false입니다.

--transfer_location

지정된 위치의 전송 구성을 나열합니다. 전송이 생성되면 전송 위치를 설정합니다.

--transfer_log

이 플래그를 지정하면 지정된 전송 실행의 전송 로그 메시지가 나열됩니다. 기본값은 false입니다.

--transfer_run

이 플래그를 지정하면 전송 실행이 나열됩니다. 기본값은 false입니다.

bq mk

mk 명령어는 데이터 세트, 테이블, 뷰, 구체화된 뷰, 전송 구성을 포함하여 다양한 BigQuery 리소스를 만듭니다.

mk 명령어는 만들려는 리소스 유형과 리소스 유형에 따라 달라지는 다른 플래그를 지정합니다.

bq mk TYPE_FLAG [ OTHER FLAGS ] [ ARGS ]

여기서 TYPE_FLAG는 다음 중 하나입니다.

아래 나열된 명령어 특정 플래그 외에도 bq mk에는 다음 플래그가 지원됩니다.

--force 또는 -f
동일한 이름의 리소스가 존재할 경우 오류를 무시합니다. 이 플래그를 지정하면 종료 코드는 0입니다(리소스가 이미 있는 경우). 이 플래그는 mk 명령어가 리소스를 덮어쓰도록 만들지 않습니다. 기본값은 false입니다.

bq mk --capacity_commitment

용량 약정을 구입합니다. 자세한 내용은 약정 작업을 참조하세요. 지원되는 플래그는 다음과 같습니다.

--location
프로젝트의 위치입니다.
--plan
계획 유형입니다. FLEX, MONTHLY, ANNUAL 중 하나입니다.
--project_id
슬롯을 관리하는 프로젝트의 프로젝트 ID입니다.
--slots
구입할 슬롯 수입니다.

bq mk --dataset

데이터 세트를 만듭니다. 자세한 내용은 데이터 세트 만들기를 참조하세요. 지원되는 플래그는 다음과 같습니다.

--data_location
(이전) 데이터 세트 위치를 지정합니다. 대신 --location 전역 플래그를 사용합니다.
--default_kms_key
테이블 생성 또는 쿼리 중에 명시적 키가 제공되지 않은 경우 데이터 세트의 테이블 데이터를 암호화하는 Cloud KMS 키를 지정합니다.
--default_partition_expiration
데이터 세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다. 이 속성을 설정한 경우 데이터세트 수준의 기본 테이블 만료 시간이 있으면 재정의됩니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때 --time_partitioning_expiration 플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터 세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다.
--default_table_expiration
데이터 세트에 새로 생성된 테이블의 기본 수명을 초 단위로 지정하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다.
--description
데이터 세트에 대한 설명입니다.
--label
데이터 세트의 라벨입니다. 형식은 KEY:VALUE입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.

bq mk --materialized_view

구체화된 뷰를 만듭니다. 지원되는 플래그는 다음과 같습니다.

--enable_refresh
구체화된 뷰에 자동 새로고침의 사용 설정 여부입니다. 구체화된 뷰를 만들 때의 기본값은 true입니다.
--refresh_interval_ms
구체화된 뷰의 새로고침 간격의 시간(밀리 초)입니다. 지정되지 않은 경우 새로고침이 사용 설정된 구체화된 뷰의 새로고침 간격은 1,800,000밀리초, 즉 30분입니다.

자세한 내용은 구체화된 뷰 만들기 및 사용을 참조하세요.

bq mk --reservation

전용 슬롯으로 예약을 만듭니다. 자세한 내용은 예약 작업을 참조하세요. 지원되는 플래그는 다음과 같습니다.

--ignore_idle_slots
true면 이 예약에서 실행 중인 작업은 예약에 할당된 슬롯만 사용합니다. false면 이 예약에서 실행 중인 작업은 다른 예약의 유휴 슬롯 또는 예약에 할당되지 않은 슬롯을 사용할 수 있습니다. 기본값은 false입니다. 자세한 내용은 유휴 슬롯을 참조하세요.
--location
프로젝트의 위치입니다.
--project_id
예약을 소유하는 프로젝트의 프로젝트 ID입니다.
--slots
이 예약에 할당할 슬롯 수입니다.

bq mk --reservation_assignment

프로젝트, 폴더, 조직을 예약에 할당합니다. 자세한 내용은 할당 작업을 참조하세요. 지원되는 플래그는 다음과 같습니다.

--assignee_id
폴더, 조직, 프로젝트의 ID입니다.
--assignee_type
예약에 할당할 항목 유형입니다. FOLDER, ORGANIZATION 또는 PROJECT 중 하나입니다.
--job_type
예약에 할당할 작업 유형입니다. QUERY, PIPELINE 또는 ML_EXTERNAL 중 하나입니다.
--location
프로젝트의 위치입니다.
--project_id
예약을 소유하는 프로젝트의 프로젝트 ID입니다.
reservation_id
예약의 ID입니다.

bq mk --table

테이블을 만듭니다. 자세한 내용은 테이블 만들기 및 사용을 참조하세요. 지원되는 플래그는 다음과 같습니다.

--clustering_fields
테이블을 클러스터링하는 데 사용되는 쉼표로 구분된 열 이름 목록입니다. 이 플래그를 지정하면 테이블은 제공된 열을 통해 클러스터링됩니다. 파티션 나누기를 지정하면 테이블이 파티션으로 나누어진 후 각 파티션이 제공된 열을 통해 클러스터링됩니다.
--description
테이블에 대한 설명입니다.
--destination_kms_key
테이블 데이터를 암호화하는 데 사용되는 Cloud KMS 키입니다.
--expiration SECONDS
테이블 수명을 지정합니다. SECONDS0이면 테이블이 만료되지 않습니다. --expiration 플래그를 포함하지 않으면 BigQuery에서 데이터 세트의 기본 테이블 수명으로 테이블을 만듭니다.
--external_table_definition
외부 테이블을 만드는 데 사용할 테이블 정의를 지정합니다. 이 값은 인라인 테이블 정의이거나 JSON 테이블 정의가 포함된 파일의 경로입니다. 인라인 정의의 형식은 schema@format=uri입니다.
--label
테이블에 설정되는 라벨입니다. 형식은 KEY:VALUE입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--range_partitioning

쉼표로 구분된 column_name,start,end,interval 형식의 목록으로 정수 범위 파티션에 대해 옵션을 지정합니다. 각 항목의 의미는 다음과 같습니다.

  • column_name은 정수 범위 파티션을 만드는 데 사용되는 열입니다.
  • start는 파티션 나누기 범위의 시작(해당 값 포함)입니다.
  • end는 파티션 나누기 범위의 끝(해당 값 포함)입니다.
  • interval은 파티션 내 각 범위의 너비입니다.

예: --range_partitioning=customer_id,0,10000,100

--require_partition_filter

이 플래그를 지정하면 제공된 테이블에 대한 쿼리에 파티션 필터가 필요한지 여부가 결정됩니다. 이 플래그는 파티션을 나눈 테이블에만 적용됩니다. 기본값은 false입니다.

--schema

로컬 JSON 스키마 파일의 경로 또는 FIELD:DATA_TYPE, FIELD:DATA_TYPE 형식의 쉼표로 구분된 열 정의 목록입니다. 기본값은 ''입니다.

--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 지정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 가능한 값은 DAY, HOUR, MONTH 또는 YEAR입니다.

--use_avro_logical_types

external_table_definitionAVRO로 설정된 경우 원시 유형(예: INTEGER)만 사용하지 않고 해당하는 유형(예: TIMESTAMP)으로 논리 유형을 변환할지 여부를 나타냅니다.

--parquet_enum_as_string

external_table_definitionPARQUET로 설정된 경우 Parquet ENUM 논리 유형을 STRING 값으로 추론할지 여부를 나타냅니다.

--parquet_enable_list_inference

external_table_definitionPARQUET로 설정된 경우 Parquet LIST 논리 유형에 스키마 추론을 사용할지 여부를 나타냅니다.

bq mk --transfer_config

전송 구성을 만듭니다. 지원되는 플래그는 다음과 같습니다.

--data_source 데이터 소스를 지정합니다. 전송 구성을 만들 때 필요합니다. 가능한 값은 다음과 같습니다.

--display_name
전송 구성의 표시 이름입니다. 기본값은 ''입니다.
--params 또는 -p
JSON 형식으로 생성된 전송 구성의 매개변수입니다. {"PARAMETER":"VALUE"}. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery Data Transfer Service 소개를 참조하세요.
--refresh_window_days
전송 구성의 새로고침 기간을 일 단위로 지정하는 정수입니다. 기본값은 0입니다.
--target_dataset
. 전송 구성의 대상 데이터 세트입니다. 기본값은 ''입니다.

BigQuery Data Transfer Service에서 mk 명령어를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

bq mk --transfer_run

지정된 데이터 전송 구성을 사용하여 지정된 시간이나 시간 범위에서 데이터 전송 실행을 만듭니다.

사용법:

bq mk --transfer_run [--run_time RUN_TIME | --start_time START_TIME --end_time END_TIME] CONFIG

지원되는 플래그는 다음과 같습니다.

--run_time
데이터 전송 실행을 예약할 시간을 지정하는 타임스탬프입니다.
--start_time
데이터 전송 실행 범위의 시작 시간을 지정하는 타임스탬프입니다.
--end_time
데이터 전송 실행 범위의 종료 시간을 지정하는 타임스탬프입니다.

타임스탬프 형식은 RFC3339 UTC 'Zulu'입니다.

CONFIG 인수는 기존 데이터 전송 구성을 지정합니다.

예시:

bq mk --transfer_run \
      --run_time 2021-01-20T17:00:00.00Z \
      projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \
      --start_time 2020-12-19T16:39:57-08:00 \
      --end_time 2020-12-19T20:39:57-08:00 \
      projects/p/locations/l/transferConfigs/c

bq mk --view

뷰를 만듭니다. 자세한 내용은 뷰 만들기를 참조하세요. 지원되는 플래그는 다음과 같습니다.

--description
뷰에 대한 설명입니다.
--expiration SECONDS
뷰 수명을 지정합니다. SECONDS0이면 뷰가 만료되지 않습니다. --expiration 플래그를 포함하지 않으면 BigQuery에서 데이터 세트의 기본 테이블 수명으로 뷰를 만듭니다.
--label
뷰에 설정할 라벨입니다. 형식은 KEY:VALUE입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--use_legacy_sql
false로 설정하면 표준 SQL 쿼리를 통해 뷰가 생성됩니다. 기본값은 true입니다(legacy SQL 사용).
--view_udf_resource
보기의 SQL 쿼리에 사용되는 사용자 정의 함수 리소스로 즉시 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로입니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

bq mkdef

mkdef 명령어는 Cloud Storage 또는 드라이브에 저장된 데이터에 JSON 형식의 테이블 정의를 만듭니다.

mkdef 명령어 사용에 대한 자세한 내용은 외부 데이터 소스의 테이블 정의 파일 만들기를 참조하세요.

mkdef 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--autodetect
이 플래그를 지정하면 CSV 데이터와 JSON 데이터에 스키마 자동 감지가 사용됩니다.
--ignore_unknown_values 또는 -i
이 플래그를 지정하면 스키마에 없는 행의 모든 값이 무시됩니다.
--source_format

소스 데이터의 형식입니다. 가능한 값은 다음과 같습니다.

  • AVRO
  • CSV
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS
  • NEWLINE_DELIMITED_JSON
  • ORC
  • PARQUET

기본값은 CSV입니다.

--use_avro_logical_types

sourceFormatAVRO로 설정된 경우 원시 유형(예: INTEGER)만 사용하지 않고 해당하는 유형(예: TIMESTAMP)으로 논리 유형을 변환할지 여부를 나타냅니다.

--parquet_enum_as_string

source_formatPARQUET로 설정된 경우 Parquet ENUM 논리 유형을 STRING 값으로 추론할지 여부를 나타냅니다.

--parquet_enable_list_inference

source_formatPARQUET로 설정된 경우 Parquet LIST 논리 유형에 스키마 추론을 사용할지 여부를 나타냅니다.

bq partition

partition 명령어는 time-unit-suffix 테이블(예: 날짜 파티션 나누기의 경우 YYYYMMDD로 끝나는 테이블)을 파티션을 나눈 테이블로 변환하는 데 사용됩니다.

partition 명령어 사용에 대한 자세한 내용은 날짜로 분할된 테이블을 수집 시간으로 파티션을 나눈 테이블로 변환을 참조하세요.

partition 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--no_clobber 또는 -n
이 플래그를 지정하면 기존 파티션이 덮어쓰기되지 않습니다. 기본값은 false입니다.
--time_partitioning_expiration
시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_type
파티션 유형을 지정합니다. 가능한 값은 DAY, HOUR, MONTH 또는 YEAR입니다. 예상 time-unit-suffix는 DAY의 경우 YYYYMMDD, HOUR의 경우 YYYYMMDDHH, MONTH의 경우 YYYYMM, YEAR의 경우 YYYY입니다.

bq query

query 명령어는 제공된 SQL 쿼리를 실행하는 쿼리 작업을 만듭니다.

query 명령어 사용에 대한 자세한 내용은 대화형 및 일괄 쿼리 실행을 참조하세요.

query 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--allow_large_results
이 플래그를 지정하면 legacy SQL 쿼리에 큰 대상 테이블 크기를 사용 설정할 수 있습니다.
--append_table
이 플래그를 지정하면 데이터가 대상 테이블에 추가됩니다. 기본값은 false입니다.
--batch
이 플래그를 지정하면 쿼리가 일괄 처리 모드로 실행됩니다. 기본값은 false입니다.
--clustering_fields
이 플래그를 지정하면 쿼리의 대상 테이블이 쉼표로 구분된 열 목록을 통해 클러스터링됩니다. 이 플래그를 지정하면 테이블은 제공된 열을 통해 클러스터링됩니다. 파티션 나누기를 지정하면 테이블이 파티션으로 나누어진 후 각 파티션이 제공된 열을 통해 클러스터링됩니다.
--destination_kms_key
대상 테이블 데이터를 암호화하는 데 사용되는 Cloud KMS 키입니다.
--destination_schema
로컬 JSON 스키마 파일의 경로이거나 다음과 같은 형식의 쉼표로 구분된 열 정의 목록입니다. FIELD:DATA_TYPE,FIELD:DATA_TYPE입니다. 기본값은 ''입니다.
--destination_table TABLE

이 플래그를 지정하면 쿼리 결과가 TABLE에 저장됩니다. TABLEPROJECT:DATASET.TABLE 형식으로 지정합니다. PROJECT를 지정하지 않으면 현재 프로젝트가 가정됩니다. --destination_table 플래그를 지정하지 않으면 쿼리 결과가 임시 테이블에 저장됩니다.

예를 들면 다음과 같습니다.

  • --destination_table myProject:myDataset.myTable
  • --destination_table myDataset.myTable
--dry_run

이 플래그를 지정하면 쿼리 유효성이 검사되지만 실행되지는 않습니다.

--external_table_definition

외부 테이블 쿼리에 사용되는 테이블 이름과 스키마 정의입니다. 스키마는 로컬 JSON 스키마 파일의 경로이거나 FIELD:DATA_TYPE,FIELD:DATA_TYPE 형식의 쉼표로 구분된 열 정의 목록입니다. 테이블 이름과 스키마를 제공하는 형식은 TABLE::PATH_TO_FILE 또는 TABLE::SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI입니다. 이 플래그를 반복하면 테이블을 여러 개 쿼리할 수 있습니다.

--flatten_results

이 플래그를 지정하면 legacy SQL 쿼리 결과에서 중첩 필드와 반복 필드가 평면화됩니다. 기본값은 true입니다.

--label

KEY:VALUE 형식으로 쿼리 작업에 적용할 라벨입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.

--max_rows 또는 -n

쿼리 결과에서 반환할 행 수를 지정하는 정수입니다. 기본값은 100입니다.

--maximum_bytes_billed

쿼리 요금이 청구되는 바이트 수를 제한합니다. 이 한도를 초과하는 쿼리는 실패하고 요금은 청구되지 않습니다. 이 플래그를 지정하지 않으면 청구되는 바이트는 프로젝트 기본값으로 설정됩니다.

--min_completion_ratio

[실험용] 쿼리가 반환되기 전에 검사해야 하는 데이터의 최소 비율을 지정하는 0과 1.0 사이의 숫자입니다. 설정하지 않으면 기본 서버 값 1.0이 사용됩니다.

--parameter

쿼리 매개변수 목록이 포함된 JSON 파일 또는 NAME:TYPE:VALUE 형식의 쿼리 매개변수입니다. 이름이 비어 있으면 위치 매개변수가 생성됩니다. NAME::VALUE 또는 ::VALUE 형식의 STRING 값을 사용하려면 TYPE을 생략해도 됩니다. NULL은 null 값을 생성합니다. 이 플래그를 반복하면 매개변수를 여러 개 지정할 수 있습니다.

--range_partitioning

--destination_table 플래그와 함께 사용합니다. 대상 테이블의 정수 범위 파티션 나누기 옵션을 지정합니다. 이 값은 column_name,start,end,interval 형식으로 쉼표로 구분된 목록이며 각 항목의 의미는 다음과 같습니다.

  • column_name은 정수 범위 파티션을 만드는 데 사용되는 열입니다.
  • start는 파티션 나누기 범위의 시작(해당 값 포함)입니다.
  • end는 파티션 나누기 범위의 끝(해당 값 포함)입니다.
  • interval은 파티션 내 각 범위의 너비입니다.

예: --range_partitioning=customer_id,0,10000,100

--replace

이 플래그를 지정하면 대상 테이블이 쿼리 결과로 덮어쓰기됩니다. 기존 데이터 및 스키마는 삭제됩니다. --destination_kms_key 플래그를 지정하지 않으면 모든 Cloud KMS 키도 삭제됩니다. 기본값은 false입니다. 스키마를 삭제하지 않고 테이블에서 모든 행을 삭제하려면 TRUNCATE TABLE 문을 사용합니다.

--require_cache

이 플래그를 지정하면 결과를 캐시에서 검색할 수 있는 경우에만 쿼리가 실행됩니다.

--require_partition_filter

이 플래그를 지정하면 제공된 테이블에 대한 쿼리에 파티션 필터가 필요합니다. 파티션을 나눈 테이블에만 이 플래그를 사용할 수 있습니다.

--rpc

이 플래그를 지정하면 REST API jobs.insert 메서드 대신 rpc 스타일 쿼리 API가 사용됩니다. 기본값은 false입니다.

--schedule

쿼리를 반복 예약 쿼리로 만듭니다. 쿼리 실행 빈도에 대한 일정이 필요합니다. 예를 들면 다음과 같습니다.

  • --schedule='every 24 hours'
  • --schedule='every 3 hours'
--schema_update_option

로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 가능한 값은 다음과 같습니다.

  • ALLOW_FIELD_ADDITION: 새 필드를 추가하도록 허용
  • ALLOW_FIELD_RELAXATION: REQUIRED 필드를 NULLABLE로 완화하도록 허용

여러 스키마 업데이트 옵션을 지정하려면 이 플래그를 반복합니다.

--start_row 또는 -s

쿼리 결과에서 반환할 첫 번째 행을 지정하는 정수입니다. 기본값은 0입니다.

--target_dataset

--schedule로 지정하면 예약된 쿼리의 대상 데이터세트가 업데이트됩니다. 쿼리는 DDL 또는 DML이어야 합니다.

--time_partitioning_expiration

--destination_table 플래그와 함께 사용합니다. 시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

--destination_table 플래그와 함께 사용합니다. 시간 기준 파티션 나누기의 파티션 나누기 열을 지정합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 수집 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

--destination_table 플래그와 함께 사용합니다. 대상 테이블의 파티션 유형을 지정합니다. 가능한 값은 DAY, HOUR, MONTH 또는 YEAR입니다.

--udf_resource

이 플래그는 legacy SQL 쿼리에만 적용됩니다. Cloud Storage URI나 legacy SQL 쿼리에서 사용할 사용자 정의 함수 리소스가 포함된 로컬 파일의 경로를 지정합니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

--use_cache

이 플래그를 지정하면 쿼리 결과가 캐시됩니다. 기본값은 true입니다.

--use_legacy_sql

false로 설정하면 표준 SQL 쿼리가 실행됩니다. 기본값은 true입니다(legacy SQL 사용).

bq remove-iam-policy-binding

remove-iam-policy-binding 명령어는 리소스(테이블 또는 뷰)의 IAM 정책을 검색하고 한 번에 정책의 binding을 삭제합니다.

이 명령어는 다음 3단계 프로세스를 대체합니다.

  1. get-iam-policy 명령어를 사용하여 JSON 형식의 정책 파일을 검색합니다.
  2. 정책 파일을 수정합니다.
  3. set-iam-policy 명령어를 사용하여 binding 없이 정책 업데이트

사용법:

bq remove-iam-policy-binding --member="MEMBER" --role="ROLE" [-COMMAND_FLAGS] RESOURCE_IDENTIFIER

remove-iam-policy-binding 명령어는 다음과 같은 명령어별 플래그 및 인수를 사용합니다.

--member
IAM 정책 binding의 구성원 부분입니다. --role 플래그와 함께 --member 플래그가 필요합니다. --member--role의 한 조합은 하나의 binding과 같습니다. binding에 대한 자세한 내용은 IAM 정책 참조를 확인하세요.
--role
IAM 정책 binding의 역할 부분입니다. --member 플래그와 함께 --role 플래그가 필요합니다. --member--role 플래그의 한 조합은 하나의 binding과 같습니다. binding에 대한 자세한 내용은 IAM 정책 참조를 확인하세요.
-t --table/view
이 플래그를 지정하면 테이블 또는 뷰의 IAM 정책에서 binding이 삭제됩니다. 선택사항입니다. 기본값은 false입니다.

RESOURCE_IDENTIFIER는 정책이 업데이트되는 리소스(테이블 또는 뷰)입니다.

bq rm

rm 명령어는 용량 약정, 데이터 세트, 모델, 예약, 예약 할당, 테이블, 전송 구성, 뷰를 삭제합니다.

rm 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

rm 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--capacity_commitment
이 플래그를 지정하면 용량 약정이 삭제됩니다. 기본값은 false입니다.
--dataset 또는 -d
이 플래그를 지정하면 데이터세트가 삭제됩니다. 기본값은 false입니다.
--force 또는 -f
이 플래그를 지정하면 메시지가 표시되지 않고 테이블, 뷰 또는 데이터세트가 삭제됩니다. 기본값은 false입니다.
--model 또는 -m
이 플래그를 지정하면 BigQuery ML 모델이 삭제됩니다.
--recursive 또는 -r
이 플래그를 지정하면 데이터세트와 테이블, 테이블 데이터 또는 모델이 삭제됩니다. 기본값은 false입니다.
--reservation
이 플래그를 지정하면 예약이 삭제됩니다. 기본값은 false입니다.
--reservation_assignment
이 플래그를 지정하면 예약 할당이 삭제됩니다. 기본값은 false입니다.
--table 또는 -t
이 플래그를 지정하면 테이블이 삭제됩니다. 기본값은 false입니다.
--transfer_config
이 플래그를 지정하면 전송 구성이 삭제됩니다. 기본값은 false입니다.

bq set-iam-policy

set-iam-policy 명령어는 리소스(테이블 또는 뷰)에 대한 IAM 정책을 설정(또는 업데이트)합니다. 정책을 설정하면 새 정책이 stdout에 출력됩니다. 정책은 JSON 형식입니다.

업데이트된 정책의 etag 필드는 현재 정책의 etag 값과 일치해야 하며 그렇지 않으면 업데이트가 실패합니다. 이 기능은 동시 업데이트를 방지합니다.

bq get-iam-policy 명령어를 사용하여 현재 정책과 etag 값을 가져올 수 있습니다.

set-iam-policy 명령어에 대한 자세한 내용과 예시는 테이블 액세스 제어 소개를 참조하세요.

사용법:

bq get-iam-policy [-COMMAND_FLAG] RESOURCE_IDENTIFIER FILE_NAME

set-iam-policy 명령어는 다음과 같은 명령어별 플래그 및 인수를 사용합니다.

-t --table/view
이 플래그를 지정하면 테이블 또는 뷰의 IAM 정책이 설정됩니다. 선택사항입니다. 기본값은 false입니다.

RESOURCE_IDENTIFIER는 정책이 업데이트되는 리소스(테이블 또는 뷰)입니다.

FILE_NAME은 정책이 포함된 파일의 이름(JSON 형식)입니다.

bq show

show 명령어는 객체에 대한 정보를 표시합니다.

show 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

show 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--assignee_id
reservation_assignment 플래그와 함께 사용된 경우 폴더, 조직, 프로젝트의 ID를 지정합니다. --assignee_type 플래그를 사용하여 표시할 담당자 유형을 지정합니다.
--assignee_type
reservation_assignment 플래그와 함께 사용된 경우 표시할 담당자 유형을 지정합니다. FOLDER, ORGANIZATION 또는 PROJECT 중 하나입니다.
--reservation
지정된 경우 예약 정보를 표시합니다. 기본값은 false입니다.
--dataset 또는 -d
이 플래그를 지정하면 데이터세트에 대한 정보가 표시됩니다. 기본값은 false입니다.
--encryption_service_account
이 플래그를 지정하면 사용자의 서비스 계정이 있는 경우 표시되고 없는 경우에는 새로 생성됩니다. 기본값은 false입니다.
--job 또는 -j
이 플래그를 지정하면 작업 정보가 표시됩니다. 기본값은 false입니다.
--job_type
reservation_assignment 플래그와 함께 사용되는 경우 표시할 작업 예약 할당 유형을 지정합니다. QUERY, PIPELINE 또는 ML_EXTERNAL 중 하나입니다.
--model 또는 -m
이 플래그를 지정하면 BigQuery ML 모델 정보가 표시됩니다.
--reservation
지정된 경우 예약 정보를 표시합니다. 기본값은 false입니다.
--reservation_assignment
지정된 폴더, 조직 또는 프로젝트의 예약 할당을 표시합니다. 대상 리소스의 명시적 할당을 표시합니다(있는 경우). 그렇지 않으면 상위 리소스에서 상속된 할당을 표시합니다. 예를 들어 프로젝트는 상위 폴더에서 할당을 상속할 수 있습니다. 이 플래그를 사용하면 --job_type, --assignee_type, --assignee_id 플래그가 적용됩니다.
--schema
이 플래그를 지정하면 테이블의 스키마만 표시됩니다. 기본값은 false입니다.
--transfer_config
이 플래그를 지정하면 전송 구성 정보가 표시됩니다. 기본값은 false입니다.
--transfer_run
이 플래그를 지정하면 전송 실행 정보가 표시됩니다. 기본값은 false입니다.
--view
이 플래그를 지정하면 뷰 정보가 표시됩니다. 기본값은 false입니다.

bq update

update 명령어는 용량 약정, 데이터 세트, 모델, 예약, 예약 할당, 테이블, 전송 구성, 뷰를 업데이트합니다.

update 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

update 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--capacity_commitment
지정된 경우 용량 약정을 업데이트합니다. 기본값은 false입니다. 이 플래그를 --merge, --plan, --renewal_plan, --split, --slots 플래그와 함께 사용합니다.
--clear_label
KEY:VALUE 형식을 사용하여 라벨을 삭제합니다. 이 플래그를 반복하면 라벨을 여러 개 삭제할 수 있습니다.
--dataset 또는 -d
데이터세트를 업데이트합니다. 기본값은 false입니다.
--default_kms_key
데이터 세트의 테이블 데이터를 암호화하는 데 사용되는 기본 Cloud KMS 키를 설정합니다. 테이블 생성 또는 쿼리에 명시적 키가 제공되지 않으면 기본 키가 사용됩니다.
--default_partition_expiration

데이터 세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 이 플래그에는 최솟값이 없습니다.

파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다. 이 속성을 설정한 경우 데이터세트 수준의 기본 테이블 만료 시간이 있으면 재정의됩니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때 --time_partitioning_expiration 플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다. 기존 만료 시간을 삭제하려면 0을 지정합니다.

--default_table_expiration

데이터 세트에 새로 생성된 테이블의 기본 수명을 초 단위로 업데이트하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다. 기존 만료 시간을 삭제하려면 0을 지정합니다.

--description

데이터 세트, 테이블, 모델 또는 보기의 설명을 업데이트합니다.

--destination_reservation_id

--reservation_assignment 플래그와 함께 사용되는 경우 기존 예약 할당을 지정된 예약으로 이동합니다. 값은 대상 예약의 ID입니다. 자세한 내용은 할당을 다른 예약으로 이동을 참조하세요.

--display_name

전송 구성의 표시 이름을 업데이트합니다. 기본값은 ''입니다.

--etag ETAG

리소스에 ETAG 인수에 지정된 문자열과 일치하는 ETag가 있는 경우에만 리소스를 업데이트합니다.

--expiration SECONDS

테이블, 모델 또는 뷰의 만료 시간을 업데이트하려면 이 플래그를 포함합니다. SECONDS를 업데이트 시간부터 만료 시간까지의 초 수로 바꿉니다. 테이블, 모델 또는 뷰의 만료 시간을 삭제하려면 SECONDS 인수를 0으로 설정합니다.

--external_table_definition

지정된 테이블 정의로 외부 테이블을 업데이트합니다. 스키마는 로컬 JSON 스키마 파일의 경로이거나 FIELD:DATA_TYPE, FIELD:DATA_TYPE 형식의 쉼표로 구분된 열 정의 목록입니다. 테이블 이름과 스키마를 제공하는 형식은 TABLE::PATH_TO_FILE 또는 TABLE::SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI입니다.

--ignore_idle_slots

--reservation 플래그와 함께 사용합니다. true면 지정된 예약에서 실행 중인 작업은 예약에 할당된 슬롯만 사용합니다. false면 이 예약에서 실행 중인 작업은 다른 예약의 유휴 슬롯 또는 예약에 할당되지 않은 슬롯을 사용할 수 있습니다. 기본값은 false입니다. 자세한 내용은 유휴 슬롯을 참조하세요.

--merge

--capacity_commitment 플래그와 함께 사용할 경우 2개의 용량 약정을 병합합니다. 기본값은 false입니다. 자세한 내용은 2개 약정 병합을 참조하세요.

--model 또는 -m

BigQuery ML 모델의 메타데이터를 업데이트합니다.

--params 또는 -p

JSON 형식 {"PARAMETER":"VALUE"}의 전송 구성 매개변수를 업데이트합니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery Data Transfer Service 소개를 참조하세요.

--plan

--capacity_commitment 플래그와 함께 사용할 경우 용량 약정을 기간이 더 긴 약정 요금제로 전환합니다. FLEX, MONTHLY, ANNUAL 중 하나입니다. 기본값은 ''입니다.

--refresh_window_days

전송 구성의 업데이트된 새로고침 기간을 일 단위로 지정하는 정수입니다.

--renewal_plan

--capacity_commitment 플래그와 함께 사용되는 경우 기존 용량 약정에 대해 갱신 요금제를 지정합니다. FLEX, MONTHLY, ANNUAL 중 하나입니다. 기본값은 ''입니다.

--reservation

지정된 경우 예약을 업데이트합니다. 기본값은 false입니다.

--reservation_assignment

지정된 경우 예약 할당을 업데이트합니다. 기본값은 false입니다.

--schema

로컬 JSON 스키마 파일의 경로 또는 FIELD:DATA_TYPE,FIELD:DATA_TYPE 형식의 쉼표로 구분된 열 정의 목록입니다. 기본값은 ''입니다.

--set_label

KEY:VALUE 형식으로 업데이트할 라벨입니다. 이 플래그를 반복하면 라벨을 여러 개 업데이트할 수 있습니다.

--slots

--capacity_commitment--split 플래그와 함께 사용되는 경우 기존 용량 약정에서 새 약정으로 분할할 슬롯 수를 지정합니다. --reservation 플래그와 함께 사용되는 경우 예약에 있는 슬롯 수를 업데이트합니다.

--source

리소스를 업데이트하는 데 사용되는 페이로드가 포함된 로컬 JSON 파일의 경로입니다. 예를 들어 이 플래그를 사용하여 업데이트된 access 속성이 있는 데이터세트 리소스가 포함된 JSON 파일을 지정할 수 있습니다. 이 파일은 데이터 세트의 액세스 제어를 덮어쓰는 데 사용됩니다.

--split

--capacity_commitment 플래그와 함께 사용되는 경우 기존 용량 약정을 분할합니다. 기본값은 false입니다. 자세한 내용은 약정 분할을 참조하세요.

--table 또는 -t

이 플래그를 지정하면 테이블이 업데이트됩니다. 기본값은 false입니다.

--target_dataset

이 플래그를 지정하면 전송 구성의 대상 데이터세트가 업데이트됩니다. 기본값은 ''입니다.

--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 업데이트하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 확인하는 데 사용되는 필드를 업데이트합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

파티션 나누기 유형을 지정합니다. 가능한 값은 DAY, HOUR, MONTH 또는 YEAR입니다. 기존 테이블의 파티션 나누기 유형은 변경할 수 없습니다.

--transfer_config

이 플래그를 지정하면 전송 구성이 업데이트됩니다. 기본값은 false입니다.

--update_credentials

이 플래그를 지정하면 전송 구성 사용자 인증 정보가 업데이트됩니다. 기본값은 false입니다.

--use_legacy_sql

이 플래그를 false로 설정하면 뷰의 SQL 쿼리를 legacy SQL에서 표준 SQL로 업데이트합니다. 기본값은 true입니다(legacy SQL 사용).

--view

이 플래그를 지정하면 뷰의 SQL 쿼리가 업데이트됩니다. 기본값은 ''입니다.

--view_udf_resource

보기의 SQL 쿼리에서 즉시 맞춤설정 함수 리소스로 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로를 업데이트합니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

bq wait

wait 명령어는 작업이 완료될 때까지 몇 초 동안 대기합니다.

wait 명령어는 --job_id 전역 플래그 및 다음과 같은 명령어별 플래그를 사용합니다.

SECONDS
대기 시간을 지정하는 정수 값입니다(0보다 크거나 같음). 이 값은 플래그가 아니며 명령줄에서 정수를 지정합니다. 0을 입력하면 명령어가 작업이 완료되도록 폴링하고 즉시 결과를 반환합니다. 정수 값을 지정하지 않으면 명령어는 계속 대기합니다.
--fail_on_error
이 플래그를 지정하면 대기 시간이 경과한 후에 작업이 여전히 실행 중이거나 실패로 끝나면 오류와 함께 종료됩니다. 기본값은 true입니다.
--wait_for_status

이 플래그를 지정하면 종료되기 전에 특정 작업 상태가 대기합니다. 가능한 값은 다음과 같습니다.

  • PENDING
  • RUNNING
  • DONE

기본값은 DONE입니다.