메서드: projects.locations.transferConfigs.runs.startBigQueryJobs

Data Transfer Service에 데이터를 로드할 준비가 되었음을 알립니다. Data Transfer Service는 전송 실행을 위해 여러 개의 BigQuery 로드 작업을 시작하고 모니터링합니다. 모니터링되는 작업은 자동으로 재시도되며 작업을 시작하고 완료할 때 로그 메시지를 생성합니다. 동일한 전송 실행에 대해 여러 번 호출할 수 있습니다.

HTTP 요청

POST https://bigquerydatatransfer.googleapis.com/v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}:startBigQueryJobs

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
name

string

리소스 이름이며 형식은 다음과 같습니다. 'projects/{projectId}/locations/{locationId}/transferConfigs/{configId}/runs/{run_id}'

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현

{
  "importedData": [
    {
      object(ImportedDataInfo)
    }
  ],
  "userCredentials": string
}
필드
importedData[]

object(ImportedDataInfo)

시작하고 모니터링할 작업을 가져옵니다.

userCredentials

string (bytes format)

BigQuery 작업을 시작/모니터링하는 데 사용되는 사용자 인증 정보입니다. 이 필드를 지정하지 않으면 데이터 소스 서비스 계정의 사용자 인증 정보를 사용하여 작업이 시작됩니다. OAuth 토큰 또는 JWT 토큰일 수 있습니다.

base64 인코딩 문자열입니다.

응답 본문

성공한 경우 응답 본문은 비어 있습니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

ImportedDataInfo

가져오는 데이터를 설명합니다.

JSON 표현

{
  "sql": string,
  "destinationTableId": string,
  "destinationTableDescription": string,
  "tableDefs": [
    {
      object(TableDefinition)
    }
  ],
  "userDefinedFunctions": [
    string
  ],
  "writeDisposition": enum(WriteDisposition)
}
필드
sql

string

실행할 SQL 쿼리입니다. 비어 있으면 API에서 table_def가 하나만 지정되었는지 확인하고 이 테이블을 로드합니다. 표준 SQL 쿼리만 허용됩니다. Legacy SQL은 허용되지 않습니다.

destinationTableId

string

결과가 작성되는 테이블입니다.

destinationTableDescription

string

대상 테이블의 설명입니다. 표 내용을 자세히 설명하는 여러 문장 또는 단락일 수 있습니다.

tableDefs[]

object(TableDefinition)

'sql' 매개변수 없이 사용되는 경우 대상 표의 스키마를 설명합니다. 'sql' 매개변수와 함께 사용되는 경우 BigQuery 외부에 저장된 데이터가 있는 테이블을 설명합니다.

userDefinedFunctions[]

string

사용자 정의 함수 리소스의 인라인 코드입니다. 'sql' 매개변수가 비어 있으면 무시됩니다.

writeDisposition

enum(WriteDisposition)

대상 테이블이 이미 있는 경우 작업을 지정합니다.

TableDefinition

외부 테이블 정의입니다. 이러한 테이블은 쿼리에서 '이름'으로 참조될 수 있으며 다른 테이블과 마찬가지로 읽을 수 있습니다.

JSON 표현

{
  "tableId": string,
  "sourceUris": [
    string
  ],
  "format": enum(Format),
  "maxBadRecords": number,
  "encoding": enum(Encoding),
  "csvOptions": {
    object(CsvOptions)
  },
  "schema": {
    object(RecordSchema)
  },
  "ignoreUnknownValues": boolean
}
필드
tableId

string

BigQuery tableId(필수). 쿼리에서 이 테이블을 참조하는 데 사용됩니다.

sourceUris[]

string

가져올 데이터의 URI. 모든 URI가 동일한 스토리지 시스템에 있어야 합니다.

format

enum(Format)

source_uri에 있는 데이터의 형식을 설명합니다.

maxBadRecords

number

무시할 수 있는 불량 레코드의 최대 수를 지정합니다. 불량 레코드가 이 임계값을 초과하면 쿼리가 취소됩니다.

encoding

enum(Encoding)

적용 가능한 경우 입력의 문자 인코딩(CSV, JSON)입니다. 기본값은 UTF8입니다.

csvOptions

object(CsvOptions)

CSV 관련 옵션입니다.

schema

object(RecordSchema)

데이터의 선택적 스키마입니다. JSON 및 CSV 형식에 대해 지정되지 않으면 이 스키마의 자동 검색이 시도됩니다.

ignoreUnknownValues

boolean

테이블 스키마에 표시되지 않는 추가 값이 허용되는지 여부를 나타냅니다.

형식

데이터 형식입니다.

열거형
FORMAT_UNSPECIFIED 지정되지 않은 형식입니다. 이 경우 데이터 소스에서 형식을 유추해야 합니다.
CSV CSV 형식
JSON 줄바꿈으로 구분된 JSON
AVRO Avro 형식. http://avro.apache.org를 참조하세요.
RECORDIO RecordIO
COLUMNIO ColumnIO
CAPACITOR Capacitor
PARQUET Parquet 형식. https://parquet.apache.org를 참조하세요.
ORC ORC 형식입니다. https://orc.apache.org를 참조하세요.

인코딩

입력 데이터의 인코딩이며 CSV/JSON 형식입니다.

열거형
ENCODING_UNSPECIFIED 기본 인코딩(UTF8)
ISO_8859_1 ISO_8859_1 인코딩
UTF8 UTF8 인코딩

CsvOptions

CSV 관련 옵션입니다.

JSON 표현

{
  "fieldDelimiter": string,
  "allowQuotedNewlines": boolean,
  "quoteChar": string,
  "skipLeadingRows": string,
  "allowJaggedRows": boolean
}
필드
fieldDelimiter

string

구분 기호. 현재 이 값을 U+0001부터 U+00FF까지로 제한하고 유효성 검사 중에 추가 제약 조건을 적용합니다.

allowQuotedNewlines

boolean

CSV 파일에 따옴표 붙은 줄바꿈이 허용되는지 여부입니다. 따옴표 붙은 줄바꿈이 허용되면 CSV 파일을 분할할 수 없습니다.

quoteChar

string

따옴표 문자. 현재 이 값을 U+0000부터 U+00FF까지로 제한하고 유효성 검사 중에 추가 제약 조건을 적용합니다. 따옴표가 사용되지 않음을 나타내려면 '\0'으로 설정하세요.

skipLeadingRows

string (Int64Value format)

건너뛸 행 수입니다.

allowJaggedRows

boolean

뒤에 오는 열(선택사항)이 누락된 행을 허용합니다.

RecordSchema

내부 데이터화할 데이터의 스키마를 설명합니다.

JSON 표현

{
  "fields": [
    {
      object(FieldSchema)
    }
  ]
}
필드
fields[]

object(FieldSchema)

레코드의 열당 하나의 필드입니다.

FieldSchema

가져온 데이터의 필드 스키마를 정의합니다.

JSON 표현

{
  "fieldName": string,
  "type": enum(Type),
  "isRepeated": boolean,
  "description": string,
  "schema": {
    object(RecordSchema)
  }
}
필드
fieldName

string

필드 이름. [A-Za-z_][A-Za-z_0-9]{0,127}과 일치합니다.

type

enum(Type)

필드 유형

isRepeated

boolean

필드가 반복되는지 여부입니다.

description

string

이 필드의 설명입니다.

schema

object(RecordSchema)

iff type == RECORD를 나타냅니다.

유형

LINT.IfChange Field 유형입니다.

열거형
TYPE_UNSPECIFIED 잘못된 값입니다.
STRING 64K, UTF8
INTEGER 64비트, 서명됨
FLOAT 64비트 IEEE 부동 소수점
RECORD 집계 유형
BYTES 64K, 바이너리
BOOLEAN 2가지 값
TIMESTAMP UTC 에폭크 이후의 64비트 서명된 usec입니다.
DATE 상용 날짜 - 년, 월, 일
TIME 상용 시간 - 시, 분, 초, 마이크로초
DATETIME 상용 날짜와 상용 시간의 조합입니다.
NUMERIC 38자리의 정밀도와 소수점 9자리의 기수법을 사용하는 숫자 유형입니다.
GEOGRAPHY 지리 객체(go/googlesql_geography)입니다.

WriteDisposition

테이블에 쓸 수 있는 옵션입니다. WRITE_EMPTY 옵션은 의도적으로 enum에서 제외되며 Data Transfer Service에서 지원되지 않습니다.

열거형
WRITE_DISPOSITION_UNSPECIFIED 기본 writeDispostion
WRITE_TRUNCATE 테이블 데이터를 덮어씁니다.
WRITE_APPEND 데이터가 테이블에 추가됩니다. 이 모드를 사용하면 중복될 수 있습니다.

사용해 보기