> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auxia.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google BigQuery

> Google BigQuery 経由でのデータ接続の設定

<Note>
  日本語版はAIによる翻訳です。正確な情報については[英語版](/data-ingestion/data-connections/google-bigquery)をご参照ください。
</Note>

## 概要

Auxia の統合は、GCP の IAM アクセス制御を活用して、きめ細かいユーザーターゲティング、特徴量作成、モデルトレーニング、パフォーマンス測定のために関連するテーブルを接続します。

**ビューではなくテーブル**を共有することを推奨します。テーブルへの直接アクセスにより、効率的な増分更新とコスト削減が可能になりますが、ビューではデータの再処理が必要になることが多いためです。

先に進む前に、[ソースデータ要件](/ja/data-ingestion/overview#source-data-requirements)を確認して、テーブルが Auxia との接続に適した状態であることをご確認ください。

***

## BigQuery 接続の設定

Auxia Console は、**接続 → 探索 → マッピング**の3ステップで BigQuery データを接続するためのガイド付きウィザードを提供します。

### 前提条件

* 接続エディター権限を持つ [Auxia Console](https://console.auxia.io) へのアクセス
* 接続したい BigQuery データセットを持つ GCP プロジェクト
* GCP プロジェクトで IAM ロールを付与する権限。必要な権限は、選択するアクセスレベルによって異なります。

  | アクセスレベル | コマンド | 必要な権限 | 一般的なロール |
  | - | - | - | - |
  | **プロジェクトレベル** | `gcloud projects add-iam-policy-binding` | `resourcemanager.projects.setIamPolicy` | `roles/resourcemanager.projectIamAdmin` |
  | **データセットレベル** | `bq query 'GRANT ... ON SCHEMA'` | `bigquery.datasets.setIamPolicy` | `roles/bigquery.dataOwner` または `roles/bigquery.admin` |

### ステップ 1: 接続

1. Auxia Console で **Connections** に移動し、**Add New Connection** → **BigQuery** をクリックします。

2. ウィザードに Auxia プロジェクト固有の**サービスアカウントメール**が表示されます。このメールをコピーしてください。アクセス権の付与に必要です。

3. **GCP Project ID**（例: `my-analytics-project`）を入力します。

4. **アクセスレベル**を選択します。

   | アクセスレベル | 説明 | 使用場面 |
   | - | - | - |
   | **プロジェクトレベル** | Auxia が GCP プロジェクト内の既存および新規のすべてのデータセットに接続可能 | シンプルな設定。ほとんどのチームに推奨 |
   | **データセットレベル** | Auxia が指定したデータセットのみに接続可能 | 接続するデータセットをきめ細かく制御したい場合 |

5. 以下のいずれかの方法（CLI、GCP Console、Cloud Shell）で **IAM 権限を付与**し、Auxia Console に戻って **Validate Connection** をクリックします。

<Note>
  **IAM 伝播に関する注意:** IAM の変更が反映されるまで **1〜5分**かかる場合があります。権限付与直後にバリデーションが失敗した場合は、数分待ってから再試行してください。
</Note>

#### CLI（gcloud / bq）によるアクセス権の付与

**プロジェクトレベルのアクセス** — サービスアカウントにプロジェクト内のすべての BigQuery データへの読み取りアクセスを付与します。

```bash theme={null}
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
  --role="roles/bigquery.dataViewer" \
  --condition=None
```

以下を置き換えてください。

* `YOUR_PROJECT_ID` を GCP プロジェクト ID（例: `my-analytics-project`）に
* `SERVICE_ACCOUNT_EMAIL` を Auxia Console に表示されているサービスアカウントに

**データセットレベルのアクセス** — サービスアカウントに特定のデータセットのみへの読み取りアクセスを付与します。データセットごとに1回実行してください。

```bash theme={null}
bq query --use_legacy_sql=false '
GRANT `roles/bigquery.dataViewer`
ON SCHEMA `YOUR_PROJECT_ID.YOUR_DATASET_NAME`
TO "serviceAccount:SERVICE_ACCOUNT_EMAIL";
'
```

以下を置き換えてください。

* `YOUR_PROJECT_ID` を GCP プロジェクト ID に
* `YOUR_DATASET_NAME` をデータセット ID（例: `customer_360`）に
* `SERVICE_ACCOUNT_EMAIL` を Auxia Console に表示されているサービスアカウントに

<Tip>
  Auxia Console はプロジェクト ID とサービスアカウントが事前入力されたコマンドを自動生成します。ウィザードから直接コピーできます。
</Tip>

#### GCP Console（BigQuery UI）によるアクセス権の付与

CLI の代わりに GCP Console UI を使用する場合:

**プロジェクトレベルのアクセスの場合:**

1. [Google Cloud Console](https://console.cloud.google.com) にアクセスします。
2. **IAM & Admin** → **IAM** に移動します。
3. **Grant Access**（または上部の **+ Add**）をクリックします。
4. **New principals** フィールドに、Auxia Console からのサービスアカウントメールを貼り付けます。
5. **Select a role** ドロップダウンで、**BigQuery Data Viewer**（`roles/bigquery.dataViewer`）を検索して選択します。
6. **Save** をクリックします。

**データセットレベルのアクセスの場合:**

1. [Google Cloud Console](https://console.cloud.google.com) にアクセスします。
2. **BigQuery** に移動します（左サイドバーまたは検索から）。
3. Explorer パネルで、共有したいデータセットを見つけてクリックします。
4. **Sharing** → **Permissions** をクリックします。
5. **Add Principal** をクリックします。
6. **New principals** フィールドに、Auxia Console からのサービスアカウントメールを貼り付けます。
7. **Select a role** ドロップダウンで、**BigQuery Data Viewer** を検索して選択します。
8. **Save** をクリックします。
9. 追加のデータセットごとにステップ 3〜8 を繰り返します。

#### Google Cloud Shell によるアクセス権の付与

ローカルに `gcloud` がインストールされていない場合は、ブラウザから直接 [Google Cloud Shell](https://shell.cloud.google.com) を使用できます。`bq` コマンドラインツールは Google Cloud SDK に同梱されているため、別途インストールする必要はありません。

1. [Google Cloud Shell](https://shell.cloud.google.com) を開きます。
2. 正しいプロジェクトにいることを確認します: `gcloud config set project YOUR_PROJECT_ID`
3. 上記の CLI セクションと同じ `gcloud` または `bq` コマンドを実行します。

### ステップ 2: 探索とマッピング

接続が検証されると、ウィザードはデータセットの探索とスキーママッピングに進みます。これらのステップはすべてのデータコネクタで共通です。

データセットの探索とスキーママッピングの完全なガイドについては、[はじめに](/ja/data-ingestion/overview/getting-started)をご参照ください。

***

## トラブルシューティングと FAQ

### アクセスと権限

**Q: アクセス権を付与しましたが、バリデーションが失敗し続けます。**
A: GCP では IAM の変更が反映されるまで **1〜5分**かかる場合があります。数分待ってから **Validate Connection** を再度クリックしてください。5分経っても失敗する場合:

* サービスアカウントメールが正しいことを確認してください（Auxia Console から直接コピーしてください）。
* **BigQuery Data Viewer** ロール（BigQuery User や BigQuery Admin ではなく）を付与したことを確認してください。
* データセットレベルのアクセスの場合、各データセットに個別にアクセス権を付与したことを確認してください。

**Q: IAM バインディングが正しく適用されたかを確認するにはどうすればよいですか?**
A: 以下のコマンドを実行して、プロジェクトのすべての IAM バインディングを一覧表示します。

```bash theme={null}
gcloud projects get-iam-policy YOUR_PROJECT_ID \
  --flatten="bindings[].members" \
  --filter="bindings.members:serviceAccount:SERVICE_ACCOUNT_EMAIL" \
  --format="table(bindings.role)"
```

出力に `roles/bigquery.dataViewer` が表示されるはずです。データセットレベルのアクセスの場合:

```bash theme={null}
bq show --format=prettyjson YOUR_PROJECT_ID:YOUR_DATASET_NAME | grep -A5 "access"
```

**Q: IAM ロールを付与する権限がありません。どうすればよいですか?**
A: プロジェクトレベルのアクセスには、`Project IAM Admin` ロール（`roles/resourcemanager.projectIamAdmin`）が必要です。データセットレベルのアクセスには、対象データセットの `roles/bigquery.dataOwner` または `roles/bigquery.admin` が必要です。プロジェクトレベルの権限がない場合でも、`roles/bigquery.admin` を使用してデータセットごとにアクセス権を付与できます。または、GCP 管理者に連絡して以下を依頼してください。

* 必要なロールを付与してもらう、または
* `gcloud` / `bq` コマンドを代わりに実行してもらう（Auxia Console ウィザードからコマンドを共有してください）。

### 一般

**Q: データは BigQuery からコピーされますか?**
A: はい。Auxia は BigQuery テーブルからデータを読み取り、モデルトレーニングと特徴量作成のために Auxia のインフラストラクチャにコピーします。アクティビティデータの保持期間は短くなっています。マッピングステップで、含めるテーブルとカラムを選択的に選べるため、明示的にマッピングしたデータのみがコピーされます。

テーブルのバリデーション、スキーママッピング、取り込みに関するトラブルシューティングについては、[はじめに FAQ](/ja/data-ingestion/overview/getting-started#troubleshooting--faq) をご参照ください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.