# Google BigQuery Import Integration V2

2026年6月1日以降のLegacy SQL使用制限
**2026年6月1日**より、Googleは[BigQuery Legacy SQLの使用を制限します](https://cloud.google.com/bigquery/docs/legacy-sql-feature-availability)。同日以降にLegacy SQLを継続して使用できるかどうかは、お客様の組織またはプロジェクトが**2025年11月1日から2026年6月1日まで**の期間にLegacy SQLを使用していたかによって異なります。

- 上記期間中にLegacy SQLを使用しなかったプロジェクトでは、2026年6月1日以降Legacy SQLを使用できなくなります。
- 上記期間中にLegacy SQLを使用していたプロジェクトでは、既存のワークロードは引き続き実行できますが、新しいLegacy SQLワークロードはブロックされる可能性があります。


新しいクエリにはStandard SQL (GoogleSQL) を使用し、残っているLegacy SQLクエリは移行することを推奨します。詳細はGoogleの[Legacy SQLからGoogleSQLへの移行](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql)ガイドを参照してください。

[Google BigQuery Export Integration V2の詳細はこちら](/ja/int/google-bigquery-export-integration-v2)

Google BigQuery V2のインテグレーションにより、BigQueryテーブルまたはクエリ結果からTreasure Dataにデータをインポートすることができます。

## 前提条件

- Treasure Dataの基本的な知識
- Google Cloud Platform(BigQuery、Cloud Storage、IAM)の基本的な知識


## 制限事項

- このコネクタではOAuthはサポートされなくなりました。サポートされている認証方式は、サービスアカウントJSON keyfileとWorkload Identity Federation(WIF)です。
- データセットがUSまたはEUマルチリージョン以外の場所にある場合は、ロケーションを指定する必要があります。指定しない場合、TDのジョブは「Cannot find job_id xxxxx」というエラーで失敗します。
- このコネクタは[外部テーブル](https://cloud.google.com/bigquery/docs/external-data-sources)のインポートをサポートしていません。
- ビューからのインポートは、tableではなくqueryのインポートタイプを使用する必要があります。
- テーブルまたはクエリにRange型のフィールドが含まれている場合、GCSへのエクスポートは使用できません。使用すると「Unsupported type for JSON export: RANGE」というエラーが発生します。
- **Require partition filter**オプションが有効になっているパーティションテーブルからqueryタイプでインポートする場合、SQL文のWHERE句にパーティションフィールドを含める必要があります。含めないと、「Cannot query over table 'xxxxx' without a filter over column(s) '{partition field}' that can be used for partition elimination」というエラーが返されます。
- queryタイプのインポートでlegacyを使用する場合、`INTERVAL、TIMESTAMP(12)、JSON、またはRANGE`のデータ型のフィールドを含むソーステーブルはサポートされず、「Querying tables with INTERVAL, TIMESTAMP(12), JSON, or RANGE type is not supported in Legacy SQL」というエラーが返されます。
- **Require partition filter**オプションが有効になっているPartition Tableは、インポートモードtableでは増分インポートをサポートしていませんが、インポートモードqueryではサポートしています。


## 認証方式の選択

このコネクタは、`auth_method`パラメータで選択する以下の2つの方式のいずれかでGoogle BigQueryに認証します。

- **サービスアカウントJSONキー(`json_key`、デフォルト)** — Google Cloudからダウンロードする長期有効なJSON認証情報です。設定は簡単ですが、キーは静的なシークレットであるため、保管・ローテーション・保護が必要です。
- **Workload Identity Federation(`wif`)** — キーレス認証です。Treasure AIのワークロード(AWS上で実行)がそのAWSアイデンティティを短期有効なGoogleアクセストークンと交換するため、保管や漏洩のリスクがある長期キーは存在しません。Googleはセキュリティとコンプライアンスの観点から[サービスアカウントキーよりWIFを推奨](https://cloud.google.com/iam/docs/workload-identity-federation)しており、ダウンロード可能なサービスアカウントキーを禁止している組織に適した選択肢です。


最も簡単にセットアップするには`json_key`を使用してください。セキュリティポリシーで静的な認証情報が許可されていない場合は`wif`を使用してください。既存の`json_key`設定は変更なしでそのまま動作します。

## 権限とロール

このデータコネクタを使用するには、コネクタが認証するアイデンティティ(`json_key`の場合はサービスアカウント、`wif`の場合はフェデレーテッドプリンシパルまたは権限借用されるサービスアカウント)に以下の権限またはIAMロールが必要です。

| **カテゴリ** | **必要な権限** | **最小IAMロール** |
|  --- | --- | --- |
| **テーブルロードを使用する場合** | - bigquery.tables.get - bigquery.tables.getData | - BigQuery Data Viewer |
| **クエリロードを使用する場合** | - bigquery.jobs.create | - BigQuery Job User |
| **"Import Large Dataset"を使用する場合** | - bigquery.tables.export - bigquery.tables.delete - storage.buckets.get - storage.objects.list - storage.objects.create - storage.objects.delete - storage.objects.get | - BigQuery Data Editor - Storage Legacy Bucket Writer - Storage Legacy Object Reader |


IAMの権限とロールの詳細については、Google Cloudのドキュメントを参照してください:[BigQuery](https://cloud.google.com/bigquery/docs/access-control)および[Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-roles)

## Workload Identity Federation(WIF)のセットアップ

Workload Identity Federationを使用するには、サービスアカウントキーをダウンロードする代わりに、以下のGCP側のセットアップを完了してください。これにより、コネクタの`adc_keyfile`フィールドに貼り付けるApplication Default Credentials(ADC)キーファイルが生成されます。

このセットアップでは、Treasure AIのAWSアカウントを信頼するWorkload Identity Poolを作成します。これにより、インポートワークロードがそのAWSアイデンティティを短期有効なGoogleアクセストークンと交換できるようになり、長期キーは一切使用されません。Treasure AIのAWSアカウントIDはコネクタの認証フォーム(読み取り専用の**Treasure AI's AWS Account ID**フィールド)に表示されます。以下でサンプルとして`123456789012`と記載されている箇所には、この値を使用してください。

### 前提条件

Google Cloudプロジェクトで以下のAPIを有効にしてください:**IAM**、**Resource Manager**、**Service Account Credentials**、**Security Token Service**

### Workload Identity PoolとAWSプロバイダの作成

1. Google Cloud Consoleで、**IAM & Admin > Workload Identity Federation**に移動します。新しいプールを作成します(または既存のプールを選択します)。
2. Treasure AIのAWSアカウントID(コネクタの認証フォームに表示。ここではサンプルとして`123456789012`を使用)を使って、**AWS**タイプのプロバイダを追加します。


### BigQueryリソースへのアクセス権の付与

以下の2つの付与モードのいずれかを選択します。どちらもコネクタでサポートされており、違いはダウンロードする`external_account` JSONの内容のみです。

- **直接フェデレーテッドアイデンティティ** — プールのプリンシパルにBigQueryロールを直接付与します。コネクタはフェデレーテッドアイデンティティ自体として認証します。
- **サービスアカウントの権限借用** — BigQueryロールを持つ既存のサービスアカウントに対する権限借用をプールに許可します。ダウンロードされる設定には`service_account_impersonation_url`フィールドが含まれます。このモードでは、対象のサービスアカウントに対する`roles/iam.serviceAccountTokenCreator`ロールが必要です。


どちらのモードを選択した場合も、使用するインポート機能(テーブルロード、クエリロード、Import Large Dataset)に応じて、[権限とロール](#%E6%A8%A9%E9%99%90%E3%81%A8%E3%83%AD%E3%83%BC%E3%83%AB)に記載されているロールを認証するアイデンティティに付与してください。直接フェデレーテッドアイデンティティの場合、プリンシパルは`principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*`の形式になります。権限借用の場合は、権限借用されるサービスアカウントにロールを付与します。ロールの不足やプールの設定ミスは実行時エラーの原因になります。具体的なエラーメッセージについては、[Workload Identity Federationのトラブルシューティング](#workload-identity-federation%E3%81%AE%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0)を参照してください。

### ADCキーファイルのダウンロード

Workload Identity Poolから、AWSプロバイダ(Treasure AIのAWSアカウント)の**Download config**を選択し、生成された`external_account` JSONを保存します。これが`adc_keyfile`として指定する値です。想定される構造については、下記の[実例:WIF `adc_keyfile`](#%E5%AE%9F%E4%BE%8Bwif-adc_keyfile)を参照してください。

### Workload Identity Federationのトラブルシューティング

| エラー | 原因と対処方法 |
|  --- | --- |
| `Invalid value for "audience"` | `adc_keyfile`の`audience`がプロバイダの完全なリソース名になっていません。`//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID`の形式を使用し、`PROJECT_NUMBER`がプロジェクトIDの文字列ではなく数値のプロジェクト番号であることを確認してください。 |
| `Permission bigquery.tables.get denied`または`Permission bigquery.tables.getData denied` | 認証するアイデンティティにテーブルへのアクセス権がありません。テーブルロードには、データセットに対する**BigQuery Data Viewer**を付与してください。 |
| `does not have bigquery.jobs.create permission` | アイデンティティがクエリジョブを実行できません。**プロジェクト**に対する**BigQuery Job User**を付与してください(データセットレベルの付与では不十分です)。 |
| トークン交換時のSTS 4xx/5xxエラー | AWS→GCPのトークン交換が失敗しました。プールのAWSプロバイダがTreasure AIのAWSアカウント(コネクタの認証フォームに表示)を信頼していること、および属性マッピング(`google.subject` → `assertion.arn`)が正しいことを確認してください。 |
| 長時間実行ジョブが1時間でタイムアウトする | 権限借用トークンの有効期間はデフォルトで1時間に制限されています。最大12時間まで許可するには、プロジェクトで`constraints/iam.allowServiceAccountCredentialLifetimeExtension`組織ポリシーを有効にしてください。 |


## Treasure コンソールを使用する

### 新しい認証を作成する

1. **Integrations Hub** > **Catalog**に移動します。
2. **Google BigQuery**を検索して選択します。
3. ダイアログが開きます。**Authentication Method**として**JSON keyfile**または**Workload Identity Federation**を選択します。
![Google BigQuery V2の新規認証ダイアログ。Authentication Methodの選択と認証情報の入力フィールドが表示されている](/assets/authentication.c0c0671aa407ac6d9ff8456c3bbfcfc39a5709a5d26ddebb886127b74d6b70e6.113453a0.webp)
4. **JSON keyfile**の場合:サービスアカウントキーのJSON文字列を「JSON keyfile」セクションに入力します。新しいサービスアカウントキーの作成については、[Google Cloudのドキュメント](https://cloud.google.com/iam/docs/creating-managing-service-account-keys)を参照してください。
5. **Workload Identity Federation**の場合:Workload Identity Poolからダウンロードした`external_account` JSONを「ADC keyfile」セクションに入力します。取得方法については、[Workload Identity Federation(WIF)のセットアップ](#workload-identity-federationwif%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97)を参照してください。


### クエリを検証する

SQL結果をロードする場合は、「Query statement」を選択し、「SQL statement」にSQLクエリを入力します。
転送を作成する前に、BigQuery Web UIでクエリが有効であることを確認してください。[https://docs.cloud.google.com/bigquery/docs/bigquery-web-ui](https://docs.cloud.google.com/bigquery/docs/bigquery-web-ui)

### 新しい転送を作成する

接続を作成すると、自動的にAuthenticationsタブに移動します。作成した接続を探してSourceを選択します。

#### Fetch from

インポートするデータソースを設定します。
Google Cloud PlatformプロジェクトのIDを「Project ID」に入力します。
テーブルを保存するデータセット名を入力します。

#### Import Types

インポートのタイプを選択します。テーブル全体をロードする(**table loading**)か、SQL結果をロードする(**query loading**)かを選択します。

#### Table Loading

テーブル全体をロードする場合は、「Table」を選択し、エクスポートしたい「Table name」を入力します。

マテリアライズドビューをロードする場合は、代わりに「Query Statement」を選択してください。

![](/assets/screenshot-2025-06-19-at-19.45.09.e970ef1f4a21796c734e018a235d92aaf68068158b17b6041490dab27aaca6f3.743d8bf4.png)

#### Query Loading

SQL結果をロードする場合は、「Query statement」を選択し、「SQL statement」にSQLクエリを入力します。

![](/assets/screenshot-2025-06-19-at-19.46.50.00c1474f54b84589a4ad38635d7da6d358a48a2b586b80a8356c27a183403ed0.743d8bf4.png)

デフォルトのSQL方言は[Standard SQL (GoogleSQL)](https://cloud.google.com/bigquery/docs/reference/standard-sql/)です。[Legacy SQL](https://cloud.google.com/bigquery/docs/reference/legacy-sql)を使用する場合は、**Use Legacy SQL**をチェックしてください。

デフォルトでは、このコネクタは特定の条件下で[キャッシュされた結果](https://cloud.google.com/bigquery/docs/cached-results)を使用します。キャッシュを無効にする場合は、**Use Cached Results**のチェックを外してください。

User Defined Function List: クエリで使用する関数

![](/assets/screenshot-2025-06-19-at-20.20.11.64913b55b52cfa6d9211513592169ef61dd410afcb41757d319fd39ff24d1700.113453a0.png)

Legacy SQLの場合は以下に従ってください:[https://cloud.google.com/bigquery/docs/user-defined-functions-legacy#register](https://cloud.google.com/bigquery/docs/user-defined-functions-legacy#register)

Standard SQLの場合は以下に従ってください:[https://cloud.google.com/bigquery/docs/user-defined-functions#sql-udf-structure](https://cloud.google.com/bigquery/docs/user-defined-functions#sql-udf-structure)

UDFがすでに存在する場合、クエリはエラーになる可能性があります。

### Data Location

データがUSまたはEUマルチリージョン以外の場所にある場合は、ロケーションを指定する必要があります。

データがasia-northeast1リージョンにある場合は、ロケーションを指定する必要があります。

ロケーションの詳細については、[Google Cloudのドキュメント](https://cloud.google.com/bigquery/docs/locations)を参照してください。

### インクリメンタルローディング

インクリメンタルローディングは、自動増分ID列や作成日のタイムスタンプ列など、増加する一意の列を使用して、前回の実行後の新しいレコードのみをロードできます。

これを有効にするには、**Incremental Loading** をチェックし、「Incremental Column Name」に増分する列名を指定します。
インクリメンタル列としてサポートされているのは、INTEGER型とTIMESTAMP型のみです。

#### 動作の仕組み

このコネクタは、インクリメンタル列で順序付けられた最新のレコードである「最終レコード」を記録します。次回の実行時には、最終レコードを使用して以下のルールで構築されたクエリを実行してレコードをロードします。

テーブルローディングの場合、すべてのフィールドがWHERE句で選択されます。

```sql
SELECT   * FROM   `${dataset}.${table}` WHERE   ${incremental_column} > ${value_of_last_record}
```

クエリローディングの場合、生のクエリがWHERE句でラップされます。

```sql
SELECT   * FROM   (${query}) embulk_incremental_ WHERE   ${incremental_column} > ${value_of_last_record}
```

### 大規模データセットのインポート

大規模なデータセット(ベンチマークとして500MB以上)をロードする場合は、この「Import Large Dataset」オプションの使用を推奨します。このオプションは、データをGCS(Google Cloud Storage)オブジェクトとしてエクスポートし、複数のタスクでデータをロードします。そのため、ロードが高速化されます。

このオプションを有効にするには、**Import Large Dataset** をチェックし、「GCS bucket」と「GCS path prefix」を指定します。

#### 動作の仕組み

- クエリ(クエリローディングまたはインクリメンタルローディング付きのテーブルローディング)を実行すると、クエリ結果はデータセット設定内の一時的なBigQueryテーブルにエクスポートされます。
- その後、一時テーブルは、パスプレフィックスを使用してGoogle Cloud Storageバケットに「*gs://my-bucket/data-connector/result-[12桁の数字].jsonl.gz*」としてgzip圧縮された[JSON Lines](http://jsonlines.org/)ファイルとしてエクスポートされます。ファイルの数は結果データのサイズによって異なります。
- インクリメンタルローディングなしのテーブルローディングの場合、ソーステーブル内のすべてのデータが直接GCSにエクスポートされます。
- 完了後、一時テーブルとGCSオブジェクトは削除されます。


#### 一時リソースのデータロケーション

- データセットが「US」に設定されていない場合、GCSバケットもテーブルと同じロケーションにある必要があります。米国ベースのデータセットから別のリージョンのCloud Storageバケットにデータをエクスポートできます。詳細については、Google Cloudの[エクスポート制限ドキュメント](https://cloud.google.com/bigquery/docs/exporting-data#export_limitations)を参照してください。


### Data Preview

インポートを実行する前に、Generate Preview を選択してデータの[プレビュー](/products/customer-data-platform/integration-hub/batch/import/previewing-your-source-data)を表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。

1. **Next** を選択します。Data Preview ページが開きます。
2. データをプレビューする場合は、**Generate Preview** を選択します。
3. データを確認します。


### Data Placement

データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。

1. **Next** を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。
2. **Database** を選択 > **Select an existing** または **Create New Database** を選択します。
3. オプションで、database 名を入力します。
4. **Table** を選択 > **Select an existing** または **Create New Table** を選択します。
5. オプションで、table 名を入力します。
6. データをインポートする方法を選択します。
  - **Append** (デフォルト) - データインポートの結果は table に追加されます。
table が存在しない場合は作成されます。
  - **Always Replace** - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。
  - **Replace on New Data** - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。
7. **Timestamp-based Partition Key** 列を選択します。
デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add_time フィルターで upload_time を使用します。
8. データストレージの **Timezone** を選択します。
9. **Schedule** の下で、このクエリを実行するタイミングと頻度を選択できます。


#### 一度だけ実行

1. **Off** を選択します。
2. **Scheduling Timezone** を選択します。
3. **Create & Run Now** を選択します。


#### 定期的に繰り返す

1. **On** を選択します。
2. **Schedule** を選択します。UI では、*@hourly*、*@daily*、*@monthly*、またはカスタム *cron* の 4 つのオプションが提供されます。
3. **Delay Transfer** を選択して、実行時間の遅延を追加することもできます。
4. **Scheduling Timezone** を選択します。
5. **Create & Run Now** を選択します。


転送が実行された後、**Data Workbench** > **Databases** で転送の結果を確認できます。

## データ変換

BigQueryのデータ型は、次の表に示すように、対応するTreasure Dataの型に自動的に変換されます。テーブルまたはクエリ結果のスキーマにサポートされていない型が含まれている場合、エラーが発生します。

| BigQuery | Treasure Data |
|  --- | --- |
| STRING | string |
| BYTES | string |
| INTERVAL | string |
| RANGE | string |
| GEOGRAPHY | string |
| INTEGER | long |
| FLOAT | double |
| NUMERIC | string |
| BIGNUMERIC | string |
| BOOLEAN | long (trueは1、falseは0) |
| TIMESTAMP | string  (yyyy-MM-dd HH:mm:ss.SSS) |
| DATE | string |
| TIME | string |
| DATETIME | string |
| RECORD | string (JSONとして) |
| REPEATED (PRIMITIVE or RECORD) | string (JSONとして) |


## クォータと制限

[BigQueryとCloud Storage](https://cloud.google.com/bigquery/quotas)のすべてのクォータと制限は、GCPプロジェクトに適用されます。

## CLI経由でBigQueryコネクタを使用する

必要に応じて、[TD Toolbelt](https://toolbelt.treasuredata.com/)経由でコネクタを使用できます。

CLI上で[TDツールベルト](/tools/cli-and-sdks/quickstart)をセットアップします。

### 設定ファイルの作成

ここでは「config.yml」と呼ばれる設定YAMLファイルを作成します。

- GCSへのエクスポートとインクリメンタルを使用したテーブルからのインポート例


```yaml
in:
  type: bigquery_v2
  json_keyfile:
    content: |
      {
      xxxxxxxx
      }
  project_id: xxxx
  dataset: xxx
  import_type: table
  table: xxxx
  location: US
  export_to_gcs: true
  gcs_bucket: xxxx
  gcs_path_prefix: xxxx
  incremental: true
  incremental_column: xxx
```

### ユーザー定義関数と GCS へのエクスポートおよび差分インポートを使用したクエリからのインポートの例

```yaml
in:
  type: bigquery_v2
  json_keyfile:
    content: |
      {
      xxxxxxxx
      }
  project_id: xxxx
  dataset: xxx
  import_type: query
  query: xxxxxxx
  location: US
  udf:
    - function: |
        CREATE TEMP FUNCTION addTwo(x INT64)
        RETURNS INT64
        AS ( x + 2 )
    - function: |
        CREATE TEMP FUNCTION addTwo(x INT64)
        RETURNS INT64
        AS ( x + 2 )
  location: US
  export_to_gcs: true
  gcs_bucket: xxxx
  gcs_path_prefix: xxxx
  incremental: true
  incremental_column: xxx
```

### 実例:WIF `adc_keyfile`

Workload Identity Federationを使用する場合は、`auth_method`を`wif`に設定し、`json_keyfile`の代わりに`external_account` JSONを`adc_keyfile`として指定します。コネクタはEC2インスタンスメタデータサービス(IMDSv2)からAWSアイデンティティを読み取るため、Workload Identity PoolがそのIAMロールを信頼しているTreasure AIのAWSベースのインポートワークロード上で実行される必要があります。

プールからダウンロードした`external_account` JSONは以下の構造です(直接フェデレーテッドアイデンティティの場合):

```json
{
  "universe_domain": "googleapis.com",
  "type": "external_account",
  "audience": "//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID",
  "subject_token_type": "urn:ietf:params:aws:token-type:aws4_request",
  "token_url": "https://sts.googleapis.com/v1/token",
  "credential_source": {
    "environment_id": "aws1",
    "region_url": "http://169.254.169.254/latest/meta-data/placement/availability-zone",
    "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials",
    "regional_cred_verification_url": "https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15"
  }
}
```

`audience`にはWorkload Identity Providerの完全なリソース名を指定する必要があります。`PROJECT_NUMBER`は数値のプロジェクト番号です(プロジェクトIDの文字列ではありません)。サービスアカウントの権限借用の場合、ダウンロードされるJSONには`service_account_impersonation_url`フィールドが追加で含まれます(例:`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com:generateAccessToken`)。

WIFを使用したコネクタ設定の例(テーブルからのインポート):

```yaml
in:
  type: bigquery_v2
  auth_method: wif
  adc_keyfile:
    content: |
      {
        "universe_domain": "googleapis.com",
        "type": "external_account",
        "audience": "//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID",
        "subject_token_type": "urn:ietf:params:aws:token-type:aws4_request",
        "token_url": "https://sts.googleapis.com/v1/token",
        "credential_source": {
          "environment_id": "aws1",
          "region_url": "http://169.254.169.254/latest/meta-data/placement/availability-zone",
          "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials",
          "regional_cred_verification_url": "https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15"
        }
      }
  project_id: xxxx
  dataset: xxx
  import_type: table
  table: xxxx
  location: US
```

### パラメータ

| 名前 | 説明 | タイプ | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- | --- |
| type | コネクタタイプ | string | bigquery_v2 | N/A | Yes |
| auth_method | 認証方式 | string | サポートされる値:   - json_key - wif | json_key | No |
| json_keyfile | Google サービスアカウント JSON キー | content プロパティを持つオブジェクト  例:  json_keyfile:    content: |        xxxxxxxx | N/A | N/A | auth_method が json_key の場合は Yes |
| adc_keyfile | Workload Identity Federation `external_account` JSON キー | content プロパティを持つオブジェクト  例:  adc_keyfile:    content: |        xxxxxxxx | N/A | N/A | auth_method が wif の場合は Yes |
| project_id | BigQuery プロジェクト ID | string | N/A | N/A | Yes |
| dataset | BigQuery データセット | string | N/A | N/A | Yes |
| import_type | ソースインポート | string | サポートされる値:   - table - query | table | Yes |
| table | テーブル名 | string | N/A | N/A | import_type が table の場合は Yes |
| query | SQL ステートメント | string | N/A | N/A | import_type が query の場合は Yes |
| udf | ユーザー定義関数リスト | 関数の配列  例:  udf:    - function: | xxxxxxx    - function: | xxxxxxxxx | N/A |
| use_legacy_sql | レガシー SQL ダイアレクトを使用 | boolean | true/false | false | No |
| use_query_cache | キャッシュされた結果を使用 | boolean | true/false | true | No |
| location | データセットのロケーション(リージョン) | string | サポートされる値:  UNSPECIFIED および以下のリストの値  https://cloud.google.com/bigquery/docs/locations | UNSPECIFIED | No |
| incremental | 差分読み込みを有効にするかどうか | boolean | true/false | false | No |
| incremental_column | 差分読み込み用のカラム名 | string | N/A | N/A | incremental が true の場合は Yes |
| export_to_gcs | GCS へのエクスポート機能を使用するかどうか | boolean | true/false | true | No |
| gcs_bucket | 結果をエクスポートする GCS バケット | string | N/A | N/A | export_to_gcs が true の場合は Yes |
| gcs_path_prefix | GCS ファイルのファイルパスのプレフィックス | string | N/A | N/A | export_to_gcs が true の場合は Yes |


(オプション) プレビュー

td [td connector:preview](/tools/cli-and-sdks/api#td-connector-preview) コマンドを実行して、設定ファイルを検証します

```bash
td connector:preview config.yml
```

### 新しいコネクタセッションの作成

[td connector:create](/tools/cli-and-sdks/api#td-connector-create) を実行します。

次の例では、BigQuery コネクタを使用した日次インポートセッションが作成されます。

```bash
$ td connector:create daily_bigquery_import \     "10 0 * * *" td_sample_db td_sample_table config.yml Name     : daily_bigquery_import Cron     : 10 0 * * * Timezone : UTC Delay    : 0 Database : td_sample_db Table    : td_sample_table Config --- in:   ...
```

### データパーティションキー

コネクタセッションでは、結果データ内に少なくとも 1 つのタイムスタンプカラムがデータパーティションキーとして使用される必要があり、デフォルトでは最初のタイムスタンプカラムがキーとして選択されます。カラムを明示的に指定する場合は、"**--time-column**" オプションを使用します。

```bash
$ td connector:create --time-column created_at \     daily_bigquery_import ...
```

結果データにタイムスタンプカラムがない場合は、次のようにフィルタ設定を追加して "**time**" カラムを追加します。

```yaml
in:
  type: bigquery
  ...
filters:
  - type: add_time
    from_value:
      mode: upload_time
    to_column:
      name: time
out:
  type: td
```