# tCouchbaseOutput

前のコンポーネントからの受信フラットデータに基づいて、Couchbaseデータベース内のドキュメントをアップサートします。

つまり、新しいドキュメントを追加するか、既に存在する場合はその値を置き換えます。

## tCouchbaseOutputの標準プロパティ

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

標準のtCouchbaseOutputコンポーネントは、データベース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リリースノートをご覧ください。<br><br>パスワードを入力するには、[Password] (パスワード)フィールドの横にある[...]ボタンをクリックし、[Enter a new password] (新しいパスワードを入力)ダイアログボックスを表示させ、テキストフィールドにパスワードを入力して[OK]をクリックします。パスワードは、[pure password] (純粋なパスワード)モードではJSON文字列で、[Java mode] (Javaモード)ではJava式として入力できます。テキストフィールドの上部にある[switch to Java mode] (Javaモードに切り替え)または[switch to pure password mode] (純粋なパスワードに切り替え)をクリックすることで、2つのモードの間で切り替えられます。<br><br>情報メモ注:<br><br><ul> <li>この2つのパスワードモードは、<span>Talend</span>が提供する8.0.1 R2022-05以降の<span>Talend Studio</span>マンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。</li> <li><span>Talend</span>が提供する8.0.1 R2022-05以降の<span>Talend Studio</span>マンスリーアップデートがインストールされていない場合は、<span>[Java mode] (Javaモード)</span>でのみパスワードを入力できます。 </li> </ul> |
| [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、バイナリ、文字列のドキュメントを同じバケットに混在させることはお勧めしません。この混合により、ドキュメント処理でエラーが発生しやすくなる可能性があります。 |
| [Field to use as ID] (IDとして使用するフィールド) | Couchbaseに書き込むドキュメントのIDを取得できるよう、スキーマからのカラム名を二重引用符で囲まずに入力します。 |
| [Partial update] (部分アップデート) | 受信データによって提供されない他のプロパティを変更せずに、ドキュメントのサブセットのみをアップデートするには、このチェックボックスをオンにします。<br><br>このチェックボックスをオフにすると、ドキュメントがデータベースに既に存在する場合、つまり、このドキュメントと受信データのドキュメントが同じIDを持つ場合、既存のドキュメント全体が受信ドキュメントに置き換えられます。 |
| [Use N1QL Query with parameters] (N1QLクエリーをパラメーターと共に使う) | N1QLクエリーに変数を適用するには、このチェックボックスをオンにします。選択すると、[Query] (クエリー)フィールドと[Query Parameters wraps flat data into documents for storage in the Couchbase database.] (クエリーパラメーターはフラットデータをドキュメントにラップし、Couchbaseデータベースに保管します。)テーブルが表示され、クエリーを入力し、クエリーで使う変数を定義できます。<br><br>tCouchbaseOutputごとに許可されるクエリーは1つだけです。<br><br>たとえば、[Query] (クエリー)フィールドに次のクエリーを入力します。<br><br>```<br>INSERT INTO 'travel-sample' (KEY, VALUE)<br>VALUES<br>($nm,<br>{<br>"name":$nm,<br>"type":$tp,<br>"country":$cnty,<br>"callsign":$call,<br>"id":$zid<br>}<br>)<br>```<br><br>次に、このクエリーの[Query Parameters] (クエリーパラメーター)テーブルで使われるすべての変数を定義する必要があります($で始まる文字列)。<br><br>```<br>Query Parameter Name     Column<br>nm                       name<br>tp                       type<br>cnty                     countries<br>call                     company<br>zid                      docid<br>```<br><br>このテーブルは、クエリーの変数と、データのコンポーネントで定義したスキーマのカラムの間のマップを作成します。[Column] (カラム)カラムの値は、このスキーマのカラム名です。[Query Parameter Name] (クエリーパラメーター名)カラムの値は、クエリーの変数です。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| [Use custom connection parameters] (カスタム接続パラメーターを使用) | このオプションを選択すれば、[Connection timeout] (接続タイムアウト)、[Query timeout] (クエリータイムアウト)、[Analytics timeout] (アナリティクスタイムアウト)、[Query threshold] (クエリーしきい値)といった接続パラメーターを設定できます。<br><br>接続パラメーターを設定する場合は、テーブルの下部にあるプラスボタンをクリックして[Connection parameters] (接続パラメーター)テーブルに行を追加し、[Parameter name] (パラメーター名)カラムをクリックしてドロップダウンリストから目的のパラメーターを選択し、[Parameter value] (パラメーター値)カラムにパラメーター値を入力します。 |
| [Use TLS] (TLSを使用) | 転送されるデータを保護するようTLSを有効にする場合は、このオプションを選択します。関連情報は[Couchbase TLS](https://docs.couchbase.com/operator/current/concept-tls.html)をご覧ください。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1-R2022-06以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。 |
| Java Truststore | TrustStoreのファイル名を入力します。関連情報は[KeyStores and TrustStores](https://docs.oracle.com/cd/E19509-01/820-3503/ggffo/index.html)をご覧ください。<br><br>情報メモ注: このオプションは、[Use TLS] (TLSを使用)オプションを選択した場合のみ利用できます。 |
| Java TrustStore password (Java TrustStoreのパスワード) | TrustStoreファイルのパスワードを入力します。関連情報は[Generating a KeyStore and TrustStore](https://docs.oracle.com/cd/E19509-01/820-3503/6nf1il6er/index.html)をご覧ください。<br><br>情報メモ注: このオプションは、[Use TLS] (TLSを使用)オプションを選択した場合のみ利用できます。 |
| [Java TrustStore type] (Java TrustStoreタイプ) | Java TrustStoreタイプを入力します。デフォルトでは、Java TrustStoreタイプがJKSとなっています。<br><br>情報メモ注: このオプションは、[Use TLS] (TLSを使用)オプションを選択した場合のみ利用できます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。<br><br>NB\_SUCCESS: 適切に処理された行の数。これはAfter変数で、整数を返します。<br><br>NB\_REJECT: 拒否された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | 入力コンポーネント、tCouchbaseOutputが先行します |