# tBigQuerySQLRow

Google BigQueryに接続し、クエリーを実行してテーブルから行ごとにデータを選択するか、GoogleBigQueryでテーブルを作成または削除します。

## tBigQuerySQLRowの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtBigQuerySQLRowを設定するために使われます。

標準のtBigQueryInputコンポーネントは、ビッグデータファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Schema] (スキーマ)と[Edit Schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語の<kbd>line</kbd>を避けます。</p> <p>スキーマを変更するには<span>[Edit schema] (スキーマを編集)</span>をクリックします。現在のスキーマが<span>リポジトリー</span>タイプの場合は、3つのオプションを利用できます。</p> <ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> </li> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> </ul> |
| [Authentication mode] (認証モード) | プロジェクトの認証に使用されるモードを選択します。<br><br><ul> <li><span>[Service account] (サービスアカウント)</span>: Google Cloud Platformプロジェクトに関連付けられているGoogleアカウントを使って認証します。このモードを選択すると、認証情報は<span>[Service account credentials file] (サービスアカウント認証情報ファイル)</span>フィールドに入力する必要があります。</li> <li><span>ワークロードIDフェデレーション</span>: GoogleワークロードIDプールを介して認証を行うことで、サービスアカウントキーを使用することなく、AWS、Azure、OIDCなどのIDプロバイダーとの統合が可能になります。このモードを選択する場合、IDフェデレーションの設定は、[<span>クライアントライブラリ設定ファイル</span>]フィールドで指定する必要があります。</li> <li><span>[Application Default Credentials] (アプリケーションのデフォルト認証情報)</span>: アプリケーションのデフォルト認証情報を使って認証します。このモードを選択した場合、アプリケーション環境に基づいて認証情報が自動的に検索されるので、追加のパラメーターを定義する必要はありません。</li> <li> <span>OAuth2 - 認証コードの付与</span>: OAuth認証情報を使って認証します。OAuth認証情報は[<span>クライアントID</span>]、[<span>クライアントシークレット</span>]、[<span>認証コード</span>]の各フィールドに入力する必要があります。このモードを選択すると、実行時に[<span>実行</span>]コンソールにURLが表示されます。それをWebブラウザーに貼り付け、URL内の<kbd>コード</kbd>値をコピーします。[<span>認証コード</span>]フィールドに認証コードを貼り付けます。次回ジョブを実行する際に、設定が保存されているため、BigQueryにアクセスできます。</li> <li> <span>[OAuth Access Token] (OAuth アクセストークン)</span>: OAuthアクセストークンを使用して認証します。このモードを選択する場合、トークンは[<span>OAuthアクセストークン</span>]ファイルに情報を提供する必要があります。 </li> </ul><br><br>Google Cloudの認証プロセスに関する詳細は、[Google Cloudのドキュメンテーション](https://cloud.google.com/docs/authentication/)をご参照ください。 |
| [Service account credentials file] (サービスアカウント認証情報ファイル) | 使用するサービスアカウント用に作成された認証情報ファイルへのパスを入力します。このファイルはTalendジョブが実際に起動および実行されるコンピューターに保管されている必要があります。<br><br>このプロパティは、サービスアカウントを使って認証する場合のみ利用できます。 |
| [Client ID] (クライアントID)および[Client Secret] (クライアントシークレット) | クライアントIDおよびクライアントシークレットを貼り付けます。両方とも使用するGoogle BigQueryサービスおよびCloud StorageサービスをホスティングしているプロジェクトのAPI Accessタブビューで作成され、および表示可能になっています。<br><br>クライアントシークレットを入力するには、クライアントシークレットフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスでクライアントシークレットを二重引用符の間に入力し、OKをクリックして設定を保存します。<br><br>これらのプロパティは、OAuth 2.0を使って認証する場合のみ利用可能です。 |
| [OAuth Access Token] (OAuthアクセストークン) | アクセストークンを入力します。<br><br>トークンのライフタイムは1時間です。コンポーネントは、トークン更新操作を行いませんが、1時間という制限時間を超えても操作できるよう、新しいアクセストークンをフェッチします。<br><br>このプロパティは、[OAuth Access Token] (OAuthアクセストークン)を使って認証する場合のみ利用できます。 |
| [Project ID] (プロジェクトID) | 使用する必要があるGoogle BigQueryサービスをホスティングしているプロジェクトのIDを貼り付けます。<br><br>プロジェクトのIDは、Google API ConsoleのURL、またはBigQuery Browser Toolでプロジェクト名にマウスを重ねると表示されます。 |
| [Authorization code] (認証コード) | 構築中のアクセスに対してGoogleにより提供される認証コードを貼り付けます。<br><br>認証コードを取得するには、このコンポーネントを使用してジョブを実行する必要があります。このジョブが実行を一時停止してURLアドレスを出力する場合は、このアドレスに移動して、表示されている認証コードをコピーします。 |
| [Use legacy SQL] (レガシーSQLを使用)および[Query] (クエリー) | 使用する必要があるクエリーを入力します。<br><br>使用するクエリーがBigQueryのレガシーSQLである場合は、この[Use legacy SQL] (レガシーSQLを使用)チェックボックスをオンにします。このレガシーSQLの詳細は、Google Cloudのドキュメンテーションで[Legacy SQL query reference](https://cloud.google.com/bigquery/docs/reference/legacy-sql)をご覧ください。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Use a custom endpoint] (カスタムエンドポイントを使用) | デフォルトのエンドポイントの代わりにプライベートエンドポイントを使う場合は、このチェックボックスをオンにします。<br><br>選択後は、https://bigquery.googleapis.comという形式でGoogle BigQuery Private API URLプロパティにURLを入力します。<br><br>詳細は、Google Cloudのドキュメンテーションで[Access Google APIs through endpoints](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis)をご覧ください。<br><br>このプロパティは、サービスアカウントを使って認証する場合のみ利用できます。 |
| *[token properties File Name] (トークンプロパティファイル名)* | 使用する必要がある更新トークンファイルのパスを入力するか、参照します。<br><br>Google BigQueryから取得した[Authorization code] (認証コード)を使用する最初のジョブ実行の場合、このフィールドの値は、作成し使用する更新トークンファイルのディレクトリーと名前になります。トークンファイルが作成済みで、再利用する必要がある場合、このフィールドにディレクトリーとファイル名を指定する必要があります。<br><br>トークンファイル名のみを入力した場合、 Talend Studioにより、トークンファイルのディレクトリーがTalend Studioフォルダーのルートであると見なされます。<br><br>更新トークンの詳細は、Google BigQueryのマニュアルをご覧ください。 |
| [Advanced Separator for numbers] (高度な区切り(数字用)) | このチェックボックスをオンにすると、数値に使用する区切りを変更できます。 |
| [Encoding] (エンコーディング) | リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースデータ処理の必須フィールドです。サポートされるエンコーディングは、使用しているJVMに応じて異なります。詳細は、[https://docs.oracle.com](https://docs.oracle.com/)をご覧ください。 |
| [Force single query execution] (1つのクエリー実行を強制) | このチェックボックスをオンにすると、コンポーネントがクエリー全体の結果を返すようになります。このチェックボックスをオフにすると、コンポーネントは、各サブクエリーを個別に実行し、各クエリーの結果を順次返します。 |
| [Result size] (結果のサイズ) | クエリー結果のボリュームに応じてオプションを選択します。<br><br>デフォルトでは、[Small] (小)オプションが使用されますが、クエリーの結果が[\[maximum response size\] (最大レスポンスサイズ)](https://cloud.google.com/bigquery/quota-policy#queries)より大きい場合は、[Large] (大)オプションを選択する必要があります。<br><br>結果のボリュームが一定でない場合は[Auto] (自動) を選択します。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数は、[Die on error] (エラー発生時に強制終了)チェックボックスがオンになっている場合のみ機能します。 |
| JOBID | ジョブのIDです。これはAfter変数で、文字列を返します。 |
| STATISTICS | ジョブの統計です。これはAfter変数で、文字列を返します。 |
| STATISTICS\_CHILD | 子ジョブの統計です。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | 開始コンポーネントまたは終了コンポーネントにすることができます。ジョブを開始すると、抽出されたデータが後続のコンポーネントに送信され、ジョブを終了すると、指定されたテーブルが削除されます。<br><br>このコンポーネントは、マルチリージョンロケーションとリージョナルロケーションの両方を自動的に検出し、サポートします。リージョナルロケーションを使用する時は、使用するバケットとデータセットは同じロケーションに入れておく必要があります。 |