# tCouchbaseInputの標準プロパティ

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

標準のtCouchbaseInputコンポーネントは、データベースNoSQLファミリーに属しています。

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで利用できます。

## 基本設定

| [Bootstrap nodes] (ブートストラップノード) | Couchbase SDKでブートストラップするノードの名前かIPを入力します。Couchbaseはブートストラップに複数のノードを指定するよう推奨しているので、ノードの名前かIPをコンマ( , )で区切ってこのフィールドに入力してください。<br><br>Couchbaseブートストラップの詳しい情報は、[How Couchbase SDKs connect to the cluster](https://developer.couchbase.com/documentation/server/4.1/developer-guide/connection-advanced.html)をご覧ください。<br><br>ノード名はCouchbase Web Consoleの[Servers] (サーバー)ページで見つかります。詳しい情報は、Couchbaseクラスターの管理者に連絡するか、Couchbaseのドキュメンテーションをご覧ください。<br><br>Clouchbaseサーバーはプロキシをサポートしないことにご注意ください。この理由により、TalendからのCouchbaseのコンポーネントもプロキシをサポートしません。 |
| --- | --- |
| [Username] (ユーザー名)と[Password] (パスワード) | 認証情報を自分のCouchbaseクラスターに入力します。<br><br>パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、OKをクリックして設定を保存します。<br><br>Couchbase V5.0以降ではパスワードがバケットに関連付けられなくなったため、該当するバージョンを使用している場合は、[Bucket] (バケット)フィールドに同じ値をパスワードとして入力してください。ただしCouchbaseでは、バケットにアクセスできるロールを持つユーザーを作成する必要があります。<br><br>Couchbaseサイドでのアクセスコントロールやその他の重要要件に関する詳細は、お使いのバージョンのCouchbaseリリースノートをご覧ください。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>JSON以外のドキュメントを使用する場合は、[String] (文字列)型のidカラムを定義してから、contentカラムを定義します。このcontentカラムのタイプは、文字列ドキュメントの場合は[String] (文字列)バイナリドキュメントの場合はbyte[] である必要があります。<br><br>JSONドキュメントについては、使用するJSONドキュメントに存在するフィールドを定義します。 |
| [Bucket] (バケット) | Couchbaseデータベースにあるデータバケットの名前を二重引用符で囲んで入力します。<br><br>使用している認証情報に、このバケットにアクセスできる適切な権限があることを確認します。<br><br>Couchbase V5.0以降を使用している場合、使用するCouchbase UIの[Security] (セキュリティ)タブで作成したユーザー名がこのバケットの名前になります。 |
| [Document type] (ドキュメントタイプ) | Couchbaseデータベースに保存されるデータは、JSON、文字列、バイナリのいずれかを入力します。このドロップダウンリストから、Couchbaseで使用する必要があるデータのタイプを選択します。<br><br>JSON、バイナリ、文字列のドキュメントを同じバケットに混在させることはお勧めしません。この混合により、ドキュメント処理でエラーが発生しやすくなる可能性があります。<br><br>N1QLを使用して文字列またはバイナリドキュメントをクエリーする必要がある場合、唯一の方法は、ドキュメントIDを使用してドキュメントを取得することです。たとえば、ID番号が2のドキュメントを取得する必要がある場合、N1QLクエリーは次のようになります。<br><br>```<br>SELECT meta().id as `_meta_id_` FROM `bucket_name` where meta().id = '2';<br>```<br><br>\_meta\_id\_とbucket\_nameを囲む引用符はバッククォート(`)であることにご注意ください。 |
| [Query Type] (クエリータイプ) | 使うするクエリーのタイプを次のオプションから選択します。<br><br><ul> <li> <span>[Select All] (すべて選択)</span>: 特定のバケットのすべてのコンテンツを選択します。</li> <li> <span>[N1QL]</span>: N1QLステートメントを使って、微調整されたクエリーを実行します。</li> <li> <span>[N1QL for Analytics]</span>: N1QL for Analyticsステートメントを使って、クエリーを実行します。N1QL for Analyticsは、半ストラクチャー化データをクエリーする言語です。 </li> <li> <span>[Document ID] (ドキュメントID)</span>: ドキュメントIDを使ってドキュメントを選択します。表示される<span>[Document ID] (ドキュメントID)</span>フィールドに、使うIDを入力する必要があります。コンポーネントごとに許可されるドキュメントIDは1つだけです。</li> </ul><br><br>情報メモ注:<br><br><ul> <li><kbd>N1QL for Analytics</kbd>オプションは、TalendのR2021-08以降のStudioマンスリーアップデートをインストールした時のみ利用できます。詳細は管理者にお問い合わせください。</li> <li>N1QL for Analyticsに関する情報は、<a href="https://docs.couchbase.com/server/current/analytics/1_intro.html" target="_blank">N1QL for Analytics Languageリファレンス</a><span> (英語のみ)</span>をご覧ください。</li> <li>なお、<a href="https://docs.couchbase.com/server/current/analytics/6_n1ql.html" target="_blank">N1QL for Analytics vs. N1QL for Query</a><span> (英語のみ)</span>で、<span>N1QL for Analytics</span>と<span>N1QL for Query</span>の比較をご覧いただけます。</li> </ul> |
| [Query] (クエリー) | N1QL queryステートメントまたはN1QL for Analyticsステートメントを入力して、複雑なアクションを実行します。<br><br>許可されるステートメントは1つだけです。ステートメントを引用符で囲まないでください。<br><br><ul> <li> <p><span>SELECT *</span>などのクエリーでワイルドカードを使う場合  、このクエリーの返された結果は、このクエリーで使われるバケット名でラップされます。この状況では、このコンポーネントのスキーマで結果のカラムを1つだけ定義します。</p> <div>たとえば、このクエリーを実行すると                            <pre><code><pre><code><code>SELECT * FROM `travel_sample` limit 3</code></code></pre></code></pre>返された結果は、以下のように<kbd>travel_sample</kbd>バケットでラップされます。                            <pre><code><pre><code><code>[  {    "travel_sample": {      "callsign": "MILE-AIR",      "country": "United States",      "iata": "Q5",      "icao": "MLA",      "id": 10,      "name": "40-Mile Air",      "type": "airline"    }  },  {    "travel_sample": {      "callsign": "TXW",      "country": "United States",      "iata": "TQ",      "icao": "TXW",      "id": 10123,      "name": "Texas Wings",      "type": "airline"    }  },  {    "travel_sample": {      "callsign": "atifly",      "country": "United States",      "iata": "A1",      "icao": "A1F",      "id": 10226,      "name": "Atifly",      "type": "airline"    }  }]</code></code></pre></code></pre> </div> <p>スキーマで、結果を保管するために、たとえば<kbd>travel_sample</kbd>という1つのカラムを定義し、タイプとして<span>[String] (文字列)</span>を選択します。</p> </li> <li> <div>次のようなワイルドカードなしのクエリーを使う場合                            <pre><code><pre><code><code>SELECT callsign, country, iata, icao, id, name, type FROM `travel_sample` limit 3;</code></code></pre></code></pre>返される結果はラップされず、次のようになります。                            <pre><code><pre><code><code>[  {    "callsign": "MILE-AIR",    "country": "United States",    "iata": "Q5",    "icao": "MLA",    "id": 10,    "name": "40-Mile Air",    "type": "airline"  },  {    "callsign": "TXW",    "country": "United States",    "iata": "TQ",    "icao": "TXW",    "id": 10123,    "name": "Texas Wings",    "type": "airline"  },  {    "callsign": "atifly",    "country": "United States",    "iata": "A1",    "icao": "A1F",    "id": 10226,    "name": "Atifly",    "type": "airline"  }]</code></code></pre></code></pre> </div> <p>この状況では、実際のビジネスデータのストラクチャーを表すカラムを定義します。たとえば、コンポーネントスキーマの中の次のようなカラムです: <kbd>callsign</kbd>、<kbd>country</kbd>、<kbd>iata</kbd>、<kbd>icao</kbd>、<kbd>id</kbd>、<kbd>name</kbd>、<kbd>airline</kbd>。 </p> </li> </ul><br><br>情報メモ注: このフィールドは、[Query type] (クエリータイプ)ドロップダウンリストから[N1QL]または[N1QL Analytics] (N1QL統計)を選択する時に使用できます。 |

## 詳細設定

| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| --- | --- |
| [Use custom connection parameters] (カスタム接続パラメーターを使用) | このオプションを選択すれば、[Connection timeout] (接続タイムアウト)、[Query timeout] (クエリータイムアウト)、[Analytics timeout] (アナリティクスタイムアウト)、[Query threshold] (クエリーしきい値)といった接続パラメーターを設定できます。<br><br>接続パラメーターを設定する場合は、テーブルの下部にあるプラスボタンをクリックして[Connection parameters] (接続パラメーター)テーブルに行を追加し、[Parameter name] (パラメーター名)カラムをクリックしてドロップダウンリストから目的のパラメーターを選択し、[Parameter value] (パラメーター値)カラムにパラメーター値を入力します。 |
| [Limit rows] (行を制限) | 読み取る最大行数を入力します。N1QLクエリーを使う場合、このフィールドは使えません。 |
| [Create primary index] (プライマリインデックスを作成) | このチェックボックスを選択して、データベースのプライマリインデックスまたはプライマリインデックスが既に存在する場合、新しいプライマリインデックスをコンポーネントに作成させます。<br><br>セカンダリーインデックスが存在する場合、プライマリインデックスの作成がオプションである可能性があるため、デフォルトでこのチェックボックスは消去されています。<br><br>プライマリインデックスに関する詳細は、公式Couchbaseドキュメンテーションから[Create primary index (プライマリインデックスを作成)](https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/createprimaryindex.html) (英語のみ)をご覧ください。 |

## グローバル変数

| グローバル変数 | NB\_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。<br><br>変数の詳細は、*Talend Studio* *ユーザーガイド*をご覧ください。 |
| --- | --- |

## 使用方法

| **使用ルール** | 開始コンポーネントとして、tCouchbaseInputがCouchbaseデータベースからドキュメントを読み取ります。 |
| --- | --- |