メソッド: 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 Transcoding 構文を使用します。

パスパラメータ

パラメータ
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 が 1 つだけ指定されていることをチェックし、このテーブルを読み込みます。標準 SQL クエリのみが受け入れられます。レガシー SQL は使用できません。

destinationTableId

string

結果を書き込む必要のあるテーブル。

destinationTableDescription

string

宛先テーブルの説明。テーブルの内容を詳細に記述した複数の文または段落にできます。

tableDefs[]

object(TableDefinition)

sql パラメータなしで使用すると、宛先テーブルのスキーマが記述されます。sql パラメータ付きで使用すると、データが BigQuery の外部に格納されるテーブルが記述されます。

userDefinedFunctions[]

string

ユーザー定義関数リソースのインライン コード。sql パラメータが空の場合は無視されます。

writeDisposition

enum(WriteDisposition)

宛先テーブルがすでに存在する場合、アクションを指定します。

TableDefinition

外部テーブルの定義。これらのテーブルは、クエリで 'name' を指定して参照することができ、他のテーブルと同様に読み取ることができます。

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 UTF-8 エンコード。

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)

レコード内の列ごとに 1 つのフィールド。

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)

type == RECORD かどうかを表します。

LINT.IfChange フィールドの型。

列挙型
TYPE_UNSPECIFIED 不正な値。
STRING 64K、UTF8。
INTEGER 64 ビット符号付き。
FLOAT 64 ビット IEEE 浮動小数点。
RECORD 集計型。
BYTES 64K、バイナリ。
BOOLEAN 2 値。
TIMESTAMP UTC エポック以降の 64 ビット符号付き usec。
DATE 常用日 - 年、月、日。
TIME 常用時 - 時、分、秒、マイクロ秒。
DATETIME 常用日と常用時の組み合わせ。
NUMERIC 10 進 38 桁の精度と 10 進 9 桁の尺度の数値型。
GEOGRAPHY geography オブジェクト(go/googlesql_geography)。

WriteDisposition

テーブルに書き込むためのオプション。WRITE_EMPTY オプションは enum から意図的に除外されています。データ転送サービスではサポートされていません。

列挙型
WRITE_DISPOSITION_UNSPECIFIED デフォルトの writeDispostion
WRITE_TRUNCATE テーブルデータを上書きします。
WRITE_APPEND データがテーブルに追加されます。このモードを使用すると重複が発生する可能性があります。

試してみる