Couchbase
Couchbase コネクタを使用すると、Couchbase データベース インスタンスに接続して、サポートされているデータベース オペレーションを実行できます。
サポート対象のバージョン
Couchbase Server バージョン 4.0 以降(Enterprise Edition または Community Edition)。
Couchbase Capella
始める前に
Couchbase コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
- 必要に応じて、Couchbase サーバーを作成します。詳細については、Couchbase サーバーのクイックスタートをご覧ください。 Couchbase API の詳細については、Couchbase REST API のドキュメントをご覧ください。
- 必要に応じて、SSL 証明書をダウンロードします。詳細については、TLS を使用した安全な接続をご覧ください。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [NEXT] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Couchbase] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Error
に設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- JSON パラメータを許可する: QueryPassthrough が有効になっているときに、パラメータで未加工の JSON を使用できます。
- アナリティクス ポート: Couchbase アナリティクス エンドポイントに接続するためのポート。
- 子セパレータ: 子テーブルを示す文字。
- Couchbase サービス: 接続先の Couchbase サービスを決定します。デフォルトは N1QL です。N1QL とアナリティクスを使用できます。
- テーブル RAM 割り当ての作成: CREATE TABLE 構文からバケットを挿入するときに使用するデフォルトの RAM 割り当て(メガバイト単位)。
- Dataverse セパレータ: アナリティクス Dataverse とスコープ / コレクションを示すために使用される文字。
- フレーバー セパレータ: フレーバーを示すために使用される文字。
- N1QL ポート: Couchbase N1QL エンドポイントに接続するためのポート。
- ピリオド セパレータ: 階層を示すために使用される文字。
- クエリ実行タイムアウト: サーバー側のクエリのタイムアウトを設定します。Couchbase はタイムアウト エラーを返す前にこのタイムアウトを制御します。
- Strict 比較: SQL 入力クエリのフィルタを Couchbase クエリに変換する際の精度を調整します。値のカンマ区切りのリストに設定できます。各値には、日付、数値、ブール値、文字列のいずれかを指定できます。
- トランザクションの耐久性: トランザクションが成功するようにドキュメントを保存する方法を指定します。クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。
- トランザクションのタイムアウト: Couchbase によってタイムアウトするまでトランザクションが実行できる時間を設定します。
- DDL 向けコレクションの使用: CREATE TABLE ステートメントで、フレーバーではなくコレクションを使用するかどうか。Couchbase v7 以降に接続し、GenerateSchemaFiles が OnCreate に設定されている場合にのみ有効になります。
- トランザクションの使用: クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。
- JSON パラメータの検証: プロバイダは、Couchbase にクエリを送信する前に、文字列パラメータが有効な JSON であることを検証できます。
- プロキシを使用: このチェックボックスを選択して、接続用のプロキシ サーバーを構成し、次の値を構成します。
-
Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
- 基本: 基本的な HTTP 認証。
- ダイジェスト: ダイジェスト HTTP 認証。
- Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
- プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
-
Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
- 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
- 常に: 接続は常に SSL 対応です。
- なし: 接続は SSL に対応していません。
- トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
- [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
- [+ 宛先を追加] をクリックします。
- [宛先の種類] を選択します。
- Host address: 宛先のホスト名または IP アドレスを指定します。
バックエンドへのプライベート接続を確立する場合は、次のようにします。
- PSC サービス アタッチメントを作成します。
- エンドポイント アタッチメントを作成し、続いて [Host address] フィールドにあるエンドポイント アタッチメントの詳細を入力します。
- Host address: 宛先のホスト名または IP アドレスを指定します。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [NEXT] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先の種類: 宛先の種類を選択します。
- リストから [ホストアドレス] を選択して、宛先のホスト名または IP アドレスを指定します。
- バックエンド システムへのプライベート接続を確立する場合は、リストからエンドポイント アタッチメントを選択し、次にエンドポイント アタッチメントリストから必要なエンドポイント アタッチメントを選択します。
セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [NEXT] をクリックします。
- 宛先の種類: 宛先の種類を選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
Couchbase 接続でサポートされる認証タイプは次のとおりです。
- ユーザー名とパスワードを指定する
- [NEXT] をクリックします。
これらの認証タイプを構成する方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
ユーザー名とパスワード
- ユーザー名: コネクタのユーザー名
- パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。
- UseSSL: このフィールドは SSL を有効にするかどうかを設定します。
- SSLServerCert: Couchbase コネクタの SSLServerCert
- Auth スキーム: Couchbase コネクタの認証スキーム
- 接続モード: Couchbase サーバーへの接続方法を決定します。
Direct
またはCloud
のいずれかを指定する必要があります。Cloud
では SSL が必須です。詳しくは、TLS での安全な接続をご覧ください。 - DNS サーバー: Couchbase Cloud の情報を取得するときに使用する DNS サーバーを決定します。たとえば、
8.8.8.8
です。
接続構成のサンプル
このセクションでは、Couchbase コネクタの作成時に構成するさまざまなフィールドのサンプル値を示します。
SSL - 証明書接続タイプ
フィールド名 | 詳細 |
---|---|
リージョン | us-central1 |
コネクタ | Couchbase |
Connector Version | 1 |
コネクタ名 | Couchbase-basic-auth-conn |
サービス アカウント | NAME-compute@developer.gserviceaccount.com |
詳細レベル | 5 |
接続ノードの設定: ノードの最小数と最大数 | 2/50 |
SSL 構成 SSL を有効化 | True |
トラストストア | プライベート |
カスタム トラストストア | 完全な PEM 証明書(-----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----) |
シークレットのバージョン | 1 |
ホストアドレス | xx.1HOST_NAME.cloud.couchbase.com:18xxx |
認証 | ユーザー パスワード |
ユーザー名 | ユーザー名 |
パスワード | パスワード |
バージョン | 1 |
vConnection モード | クラウド |
DNS サーバー | 192.0.2.0 |
OAuth スキーム | 基本 |
アナリティクスの Couchbase 接続タイプ
フィールド名 | 詳細 |
---|---|
リージョン | us-central1 |
コネクタ | Couchbase |
Connector Version | 1 |
コネクタ名 | Couchbase-basic-auth-Analytics-conn |
サービス アカウント | NAME-compute@developer.gserviceaccount.com |
アナリティクス ポート | 18095 |
Couchbase サービス | アナリティクス |
詳細レベル | 5 |
接続ノードの設定: ノードの最小数と最大数 | 2/50 |
ホストアドレス | xx.1HOST_NAME.cloud.couchbase.com:18095 |
認証 | ユーザー パスワード |
ユーザー名 | ユーザー名 |
パスワード | パスワード |
バージョン | 1 |
vConnection モード | クラウド |
DNS サーバー | 192.0.2.0 |
OAuth スキーム | 基本 |
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
操作
このコネクタは、次のアクションの実行をサポートしています。
- ユーザー定義のストアド プロシージャと関数。バックエンドにストアド プロシージャと関数がある場合、それらは
Configure connector task
ダイアログのActions
列に表示されます。 - カスタム SQL クエリ。カスタム SQL クエリを実行するため、コネクタは [カスタムクエリを実行する] アクションを備えています。
カスタムクエリを作成する手順は次のとおりです。
- 詳細な手順に沿って、コネクタタスクを追加します。
- コネクタタスクを構成するときに、実行するアクションの種類で [Actions] を選択します。
- [Actions] リストで [Execute custom query] を選択し、[Done] をクリックします。
- [Task input] セクションを開き、次の操作を行います。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
デフォルト値:
180
秒 - [最大行数]フィールドに、データベースから返される最大行数を入力します。
デフォルト値:
25
。 - カスタムクエリを更新するには、[Edit Custom Script] をクリックします。[Script editor] ダイアログが開きます。
- [Script editor] ダイアログで、SQL クエリを入力して [Save] をクリックします。
SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、
LastName
列に指定された値と一致するEmployees
テーブルからすべての行を選択します。SELECT * FROM Employees where LastName=?
- SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。
クエリ パラメータを追加する手順は次のとおりです。
- [Type] リストから、パラメータのデータ型を選択します。
- [値] フィールドに、パラメータの値を入力します。
- 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
システムの上限
Couchbase コネクタは、ノードごとに 1 秒あたり 25 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。 デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
操作
このセクションには、コネクタでサポートされているアクションが一覧表示されます。アクションの構成方法については、アクションの例をご覧ください。
AddDocument アクション
このアクションにより、couchbase にドキュメントが追加されます。
AddDocument アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
BucketName | 文字列 | ○ | ドキュメントを挿入するバケット。 |
SourceTable | オブジェクト | × | ID 列と Document 列を含む一時テーブルの名前。ID が指定されていない場合は必須。 |
ID | 文字列 | × | ドキュメントを挿入する主キー。SourceTable が指定されていない場合は必須です。 |
ドキュメント | 文字列 | × | 挿入するドキュメントの JSON テキスト。SourceTable が指定されていない場合は必須です。 |
AddDocument アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
AddDocument
アクションの構成方法の例については、アクションの例をご覧ください。
CreateCollection アクション
このアクションにより、既存のスコープ内のコレクションが作成されます。
CreateCollection アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
バケット | 文字列 | ○ | コレクションを含むバケットの名前。 |
範囲 | 文字列 | ○ | コレクションを含むスコープの名前。 |
名前 | 文字列 | ○ | 作成するコレクションの名前。 |
CreateCollection アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
CreateCollection
アクションの構成方法の例については、アクションの例をご覧ください。
DeleteCollection アクション
このアクションにより、既存のスコープ内のコレクションが削除されます。
DeleteCollection アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
バケット | 文字列 | True | コレクションを含むバケットの名前。 |
範囲 | 文字列 | True | コレクションを含むスコープの名前。 |
名前 | 文字列 | True | 削除するコレクションの名前。 |
DeleteCollection アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
DeleteCollection
アクションの構成方法の例については、アクションの例をご覧ください。
CreateScope アクション
このアクションにより、既存のバケットにスコープが作成されます。
CreateScope アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
バケット | 文字列 | ○ | スコープを含むバケットの名前 |
名前 | 文字列 | ○ | 作成するスコープの名前。 |
CreateScope アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
CreateScope
アクションの構成方法の例については、アクションの例をご覧ください。
DeleteScope アクション
このアクションにより、スコープとそのコレクションがすべて削除されます。
DeleteScope アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
バケット | 文字列 | ○ | スコープを含むバケットの名前。 |
名前 | 文字列 | ○ | 削除するスコープの名前。 |
DeleteScope アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
DeleteScope
アクションの構成方法の例については、アクションの例をご覧ください。
ListIndices アクション
このアクションにより、Couchbase で使用可能なすべてのインデックスが一覧表示されます。
ListIndices アクションの入力パラメータ
なしListIndices アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
ListIndices
アクションの構成方法の例については、アクションの例をご覧ください。
ManageIndices アクション
このアクションにより、バケット内でインデックスが作成またはドロップされます。
ManageIndices アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
BucketName | 文字列 | ○ | インデックスを作成またはドロップするターゲット バケット。 |
ScopeName | オブジェクト | × | インデックスを作成またはドロップするターゲット スコープ(Couchbase バージョン 7 以降) |
CollectionName | 文字列 | × | インデックスを作成またはドロップするターゲット コレクション(Couchbase バージョン 7 以降) |
操作 | 文字列 | ○ | インデックスに対して実行するアクション(Create または Drop)を指定します。 |
式 | 文字列 | × | インデックスのベースとなる、JSON としてエンコードされた式または関数のリスト。IsPrimary が false で、アクションが Create の場合は、少なくとも 1 つ必要です。 |
名前 | 文字列 | × | 作成またはドロップするインデックスの名前。IsPrimary が false に設定されている場合は必須です。 |
IsPrimary | 文字列 | × | インデックスをプライマリ インデックスにするかどうかを指定します。デフォルト値は true です。 |
フィルタ | 文字列 | × | インデックスに適用するフィルタのリスト(JSON としてエンコード)。 |
IndexType | 文字列 | × | 作成するインデックスのタイプ。GSI または View のいずれかであり、アクションが Create の場合にのみ使用されます。 デフォルト値は GSI です。 |
ViewName | 文字列 | × | 非推奨。互換性のためにのみ含まれています。何も行われません。 |
ノード | 文字列 | × | JSON としてエンコードされたノードのリスト。ポートを含める必要があります。アクションが Create の場合にのみ使用されます。 |
NumReplica | 文字列 | × | クラスタ内のインデックス ノード間で作成するレプリカの数。 |
ManageIndices アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
ManageIndices
アクションの構成方法の例については、アクションの例をご覧ください。
ExecuteCustomQuery アクション
このアクションにより、カスタムクエリを実行できます。
カスタムクエリを作成する手順は次のとおりです。
- 詳細な手順に沿って、コネクタタスクを追加します。
- コネクタタスクを構成するときに、実行するアクションの種類で [Actions] を選択します。
- [Actions] リストで [Execute custom query] を選択し、[Done] をクリックします。
- [Task input] セクションを開き、次の操作を行います。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
デフォルト値:
180
秒 - [最大行数]フィールドに、データベースから返される最大行数を入力します。
デフォルト値:
25
。 - カスタムクエリを更新するには、[Edit Custom Script] をクリックします。[Script editor] ダイアログが開きます。
- [Script editor] ダイアログで、SQL クエリを入力して [Save] をクリックします。
SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、
LastName
列に指定された値と一致するEmployees
テーブルからすべての行を選択します。SELECT * FROM Employees where LastName=?
- SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。
クエリ パラメータを追加する手順は次のとおりです。
- [Type] リストから、パラメータのデータ型を選択します。
- [値] フィールドに、パラメータの値を入力します。
- 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
アクションが正常に実行されると、クエリ結果のあるレスポンスの本文でステータス 200(OK)を返します。
アクションの例
このセクションでは、このコネクタでいくつかのアクションを実行する方法について説明します。
例 - ドキュメントを追加する
この例では、Couchbase バケットにドキュメントを追加します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
AddDocument
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Document": "{\"ID\":10,\"Name\":\"TestDoc\"}", "BucketName": "CouchbaseTestBucket", "ID": "Test" }
アクションが成功すると、AddDocument
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "RowsAffected": "1" }]
例 - コレクションを作成する
この例では、コレクションを作成します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
CreateCollection
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "bucket": "CouchbaseTestBucket", "scope": "TestScope", "name": "CollectionFromGoogleCloud" }
この例では、TestScope
の下にコレクションを作成します。アクションが成功すると、CreateCollection
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": true, "scope": null, "uid": null, "collection": null, "collections.uid": null, "maxTTL": null, "history": null }]
例 - コレクションを削除する
この例では、コレクションを削除します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
DeleteCollection
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "bucket": "CouchbaseTestBucket", "scope": "TestScope", "name": "CollectionFromGoogleCloud" }
この例では、TestScope
の下のコレクションを削除します。アクションが成功すると、CreateCollection
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": true, "uid": "12" }]
例 - スコープを作成する
この例では、スコープを作成します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
CreateScope
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "bucket": "CouchbaseTestBucket", "name": "ScopeFromGoogleCloud" }
この例では、CouchbaseTestBucket
の下にスコープを作成します。アクションが成功すると、CreateScope
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": true, "name": null, "uid": null, "collections": null, "collections.name": null, "collections.uid": null, "collections.maxTTL": null, "collections.history": null }]
例 - スコープを削除する
この例では、スコープを削除します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
DeleteScope
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "bucket": "CouchbaseTestBucket", "name": "ScopeFromGoogleCloud" }
この例では、ScopeFromGoogleCloud
スコープを削除します。アクションが成功すると、DeleteScope
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": true, "uid": "10" }]
例 - インデックスを一覧表示する
この例では、Couchbase で使用可能なすべてのインデックスが一覧表示されます。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
ListIndices
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ }
アクションが成功すると、ListIndices
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "id": "3d8a78cd2e302ac2", "datastore_id": "http://127.0.0.1:8091", "namespace_id": "default", "bucket_id": null, "scope_id": null, "keyspace_id": "CouchbaseTestBucket", "index_key": "", "condition": null, "is_primary": "false", "name": "test", "state": "online", "using": "gsi" }, { "id": "d6ce8c103b97a00d", "datastore_id": "http://127.0.0.1:8091", "namespace_id": "default", "bucket_id": "CouchbaseTestBucket", "scope_id": "TestScope", "keyspace_id": "CouchBaseDatatypes", "index_key": "", "condition": null, "is_primary": "true", "name": "#primary", "state": "online", "using": "gsi" }, { "id": "58c25aef49dd32b3", "datastore_id": "http://127.0.0.1:8091", "namespace_id": "default", "bucket_id": "CouchbaseTestBucket", "scope_id": "TestScope", "keyspace_id": "TestCollection", "index_key": "", "condition": null, "is_primary": "false", "name": "SearchIndexTest_1", "state": "online", "using": "fts" }]
例 - インデックスの管理
この例では、指定したバケットのインデックスを削除します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
ManageIndices
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "BucketName": "CouchbaseTestBucket", "Action": "DROP", "Name": "CouchBaseTestIndex" }
アクションが成功すると、ManageIndices
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true" }]
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのレコードを一覧表示する
この例では、TestCollection
エンティティ内のすべてのレコードを一覧表示します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からTestCollection
を選択します。- [
List
] オペレーションを選択してから、[完了] をクリックします。 - 必要に応じて、コネクタタスクの [タスク入力] セクションでフィルタ句を指定して、結果セットをフィルタリングできます。 フィルタ句の値は、常に単一引用符(')内で指定します。
例 - エンティティからレコードを取得する
この例では、TestCollection
エンティティから、指定した ID のレコードを取得します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からTestCollection
を選択します。- [
Get
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに
120
を入力します。ここで、
120
はTestCollection
エンティティ内の一意のレコード ID です。
例 - エンティティ内のレコードを更新する
この例では、TestCollection
エンティティに レコードを作成します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からTestCollection
を選択します。- [
Update
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "COL_TEXT": "CouchBase Update" }
- [エンティティ ID] をクリックし、[デフォルト値] フィールドに「
120
」と入力します。統合に成功すると、コネクタタスクの
connectorOutputPayload
フィールドの値は次のようになります。[{ "Document.Id": "120" }]
例 - エンティティからレコードを削除する
この例では、TestCollection
エンティティ内の指定された ID のレコードを削除します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からTestCollection
を選択します。- [
Delete
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに
20
を入力します。
既知の問題
エンティティに対する create
オペレーションはサポートされていません。
Terraform を使用して接続を作成する
Terraform リソースを使用して、新しい接続を作成できます。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。
Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
allow_jsonparameters | BOOLEAN | False | QueryPassthrough が有効になっているときに、パラメータで未加工の JSON を使用できます。 |
analytics_port | STRING | False | Couchbase アナリティクス エンドポイントに接続するためのポート。 |
child_separator | STRING | False | 子テーブルを示す文字。 |
couchbase_service | ENUM | False | 接続先の Couchbase サービスを決定します。デフォルトは N1QL です。N1QL とアナリティクスを使用できます。 サポートされている値は、N1QL、アナリティクスです。 |
create_table_ram_quota | STRING | False | CREATE TABLE 構文からバケットを挿入するときに使用するデフォルトの RAM 割り当て(メガバイト単位)。 |
dataverse_separator | STRING | False | アナリティクスの Dataverse とスコープ / コレクションを示すために使用される文字。 |
flavor_separator | STRING | False | フレーバーを示すために使用される文字。 |
n1_qlport | STRING | False | Couchbase N1QL エンドポイントに接続するためのポート。 |
periods_separator | STRING | False | 階層を示すために使用される文字。 |
query_execution_timeout | STRING | False | これにより、サーバー側のクエリのタイムアウトが設定されます。これにより、Couchbase がタイムアウト エラーを返す前にクエリを実行する時間を制御します。 |
strict_comparison | STRING | False | SQL 入力クエリのフィルタを Couchbase クエリに変換する際の精度を調整します。値のカンマ区切りのリストに設定できます。各値には、日付、数値、ブール値、文字列のいずれかを指定できます。 |
transaction_durability | STRING | False | トランザクションが成功するようにドキュメントを保存する方法を指定します。クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。 |
transaction_timeout | STRING | False | Couchbase によってタイムアウトするまでトランザクションが実行できる時間を設定します。 |
use_collections_for_ddl | BOOLEAN | False | CREATE TABLE ステートメントで、フレーバーではなくコレクションを使用するかどうか。Couchbase v7 以降に接続し、GenerateSchemaFiles が OnCreate に設定されている場合にのみ有効になります。 |
use_transactions | STRING | False | クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。 |
validate_jsonparameters | BOOLEAN | False | プロバイダが、Couchbase にクエリを送信する前に、文字列パラメータが有効な JSON であることを検証できるようにします。 |
proxy_enabled | BOOLEAN | False | 接続用のプロキシ サーバーを構成するには、このチェックボックスをオンにします。 |
proxy_auth_scheme | ENUM | False | ProxyServer プロキシへの認証に使用する認証タイプです。サポートされている値は、BASIC、DIGEST、NONE です。 |
proxy_user | STRING | False | ProxyServer プロキシへの認証に使用されるユーザー名です。 |
proxy_password | SECRET | False | ProxyServer プロキシの認証に使用されるパスワード。 |
proxy_ssltype | ENUM | False | ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。 |
詳細度 | STRING | False | 接続の詳細レベルは 1~5 です。詳細レベルが高いと、すべての通信の詳細(リクエスト、レスポンス、SSL 証明書)がログに記録されます。 |
統合で Couchbase 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。