Couchbase

Couchbase コネクタを使用すると、Couchbase データベース インスタンスに接続して、サポートされているデータベース オペレーションを実行できます。

始める前に

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)

      サービスを有効にする方法については、サービスを有効にするをご覧ください。

    以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。

コネクタを構成する

コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。

  1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。

    2. [NEXT] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [Couchbase] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続インスタンスの名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 63 文字以内で指定してください。
    4. 必要に応じて、接続インスタンスの [説明] を入力します。
    5. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    6. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    7. JSON パラメータを許可する: QueryPassthrough が有効になっているときに、パラメータで未加工の JSON を使用できます。
    8. アナリティクス ポート: Couchbase アナリティクス エンドポイントに接続するためのポート。
    9. 子セパレータ: 子テーブルを示す文字。
    10. Couchbase サービス: 接続先の Couchbase サービスを決定します。デフォルトは N1QL です。N1QL とアナリティクスを使用できます。
    11. テーブル RAM 割り当ての作成: CREATE TABLE 構文からバケットを挿入するときに使用するデフォルトの RAM 割り当て(メガバイト単位)。
    12. Dataverse セパレータ: アナリティクス Dataverse とスコープ / コレクションを示すために使用される文字。
    13. フレーバー セパレータ: フレーバーを示すために使用される文字。
    14. N1QL ポート: Couchbase N1QL エンドポイントに接続するためのポート。
    15. ピリオド セパレータ: 階層を示すために使用される文字。
    16. クエリ実行タイムアウト: サーバー側のクエリのタイムアウトを設定します。Couchbase はタイムアウト エラーを返す前にこのタイムアウトを制御します。
    17. Strict 比較: SQL 入力クエリのフィルタを Couchbase クエリに変換する際の精度を調整します。値のカンマ区切りのリストに設定できます。各値には、日付、数値、ブール値、文字列のいずれかを指定できます。
    18. トランザクションの耐久性: トランザクションを成功させるためにドキュメントを保存する方法を指定します。クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。
    19. トランザクションのタイムアウト: Couchbase によってタイムアウトするまでトランザクションが実行できる時間を設定します。
    20. DDL 向けコレクションの使用: CREATE TABLE ステートメントで、フレーバーではなくコレクションを使用するかどうか。Couchbase v7 以降に接続し、GenerateSchemaFiles が OnCreate に設定されている場合にのみ有効になります。
    21. トランザクションの使用: クエリの実行時に N1QL トランザクションを使用するかどうかを指定します。
    22. JSON パラメータの検証: プロバイダは、Couchbase にクエリを送信する前に、文字列パラメータが有効な JSON であることを検証できます。
    23. プロキシを使用: このチェックボックスを選択して、接続用のプロキシ サーバーを構成し、次の値を構成します。
      • Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
        • 基本: 基本的な HTTP 認証。
        • ダイジェスト: ダイジェスト HTTP 認証。
      • Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
      • プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
      • Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
        • 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
        • 常に: 接続は常に SSL 対応です。
        • なし: 接続は SSL に対応していません。
        • トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
      • [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
        1. [+ 宛先を追加] をクリックします。
        2. [宛先の種類] を選択します。
          • Host address: 宛先のホスト名または IP アドレスを指定します。

            バックエンドへのプライベート接続を確立する場合は、次のようにします。

    24. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    25. [NEXT] をクリックします。
  5. [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
    1. Destination Type: 宛先の種類を選択します。
      1. [ホストアドレス] フィールドに、宛先のホスト名または IP アドレスを指定します。
        1. バックエンド システムへのプライベート接続を確立する場合は、次のようにします。
          1. PSC サービス アタッチメントを作成します。
          2. エンドポイント アタッチメントを作成し、続いて [Host address] フィールドにあるエンドポイント アタッチメントの詳細を入力します。
        2. セキュリティをさらに強化してバックエンド システムへのパブリック接続を確立する場合は、接続用の静的送信 IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。

      他の宛先を入力するには、[+ 宛先を追加] をクリックします。

    2. [NEXT] をクリックします。
  6. [認証] セクションで、認証の詳細を入力します。
    1. [認証タイプ] を選択し、関連する詳細を入力します。

      Couchbase 接続でサポートされる認証タイプは次のとおりです。

      • ユーザー名とパスワードを指定する
    2. これらの認証タイプを構成する方法については、認証を構成するをご覧ください。

    3. [NEXT] をクリックします。
  7. Review: 接続と認証の詳細を確認します。
  8. [Create(作成)] をクリックします。

認証を構成する

使用する認証に基づいて詳細を入力します。

  • ユーザー名とパスワード
    • ユーザー名: コネクタのユーザー名
    • パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。
    • UseSSL: このフィールドは SSL を有効にするかどうかを設定します。
    • SSLServerCert: Couchbase コネクタの SSLServerCert
    • Auth スキーム: Couchbase コネクタの認証スキーム
    • 接続モード: Couchbase サーバーへの接続方法を決定します。Direct または Cloud のいずれかを指定する必要があります。Cloud の場合、SSL は必須です。詳しくは、TLS を使用した安全な接続をご覧ください。
    • DNS サーバー: Couchbase Cloud の情報を取得するときに使用する DNS サーバーを決定します。例: 8.8.8.8

エンティティ、オペレーション、アクション

すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

  • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

    ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

  • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

    使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがどのエンティティ オペレーションもサポートしていない場合、サポートされていないオペレーションは Operations リストに表示されません。

  • アクション: コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

アクション

このコネクタは、次のアクションの実行をサポートしています。

  • ユーザー定義のストアド プロシージャと関数。バックエンドにストアド プロシージャと関数がある場合、それらは Configure connector task ダイアログの Actions 列に表示されます。
  • カスタム SQL クエリ。カスタム SQL クエリを実行するため、コネクタは [カスタムクエリを実行する] アクションを備えています。

    カスタムクエリを作成する手順は次のとおりです。

    1. 詳細な手順に沿って、コネクタタスクを追加します。
    2. コネクタタスクを構成するときに、実行するアクションの種類で [アクション] を選択します。
    3. [アクション] リストで [カスタムクエリを実行する] を選択し、[完了] をクリックします。
    4. [タスク入力] セクションを開き、次の操作を行います。
      1. [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。

        デフォルト値: 180

      2. [最大行数]フィールドに、データベースから返される最大行数を入力します。

        デフォルト値: 25

      3. カスタムクエリを更新するには、[カスタムクエリの編集] をクリックします。[スクリプト エディタ] ダイアログが開きます。
      4. [スクリプト エディタ] ダイアログで、SQL クエリを入力して [保存] をクリックします。

        SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、LastName 列に指定された値と一致する Employees テーブルからすべての行を選択します。

        SELECT * FROM Employees where LastName=?

      5. SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。クエリ パラメータを追加する手順は次のとおりです。
        1. [タイプ] リストから、パラメータのデータタイプを選択します。
        2. [] フィールドに、パラメータの値を入力します。
        3. 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。

システムの上限

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 アクションの入力パラメータ

パラメータ名 データ型 必須 説明
バケット 文字列 コレクションを含むバケットの名前。
範囲 文字列 コレクションを含むスコープの名前。
Name 文字列 作成するコレクションの名前。

CreateCollection アクションの出力パラメータ

このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。

CreateCollection アクションの構成方法の例については、アクションの例をご覧ください。

DeleteCollection アクション

このアクションにより、既存のスコープ内のコレクションが削除されます。

DeleteCollection アクションの入力パラメータ

パラメータ名 データ型 必須 説明
バケット string True コレクションを含むバケットの名前。
範囲 文字列 True コレクションを含むスコープの名前。
Name string True 削除するコレクションの名前。

DeleteCollection アクションの出力パラメータ

このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。

DeleteCollection アクションの構成方法の例については、アクションの例をご覧ください。

CreateScope アクション

このアクションにより、既存のバケットにスコープが作成されます。

CreateScope アクションの入力パラメータ

パラメータ名 データ型 必須 説明
バケット 文字列 スコープを含むバケットの名前
Name 文字列 作成するスコープの名前。

CreateScope アクションの出力パラメータ

このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。

CreateScope アクションの構成方法の例については、アクションの例をご覧ください。

DeleteScope アクション

このアクションにより、スコープとそのコレクションがすべて削除されます。

DeleteScope アクションの入力パラメータ

パラメータ名 データ型 必須 説明
バケット 文字列 スコープを含むバケットの名前。
Name 文字列 削除するスコープの名前。

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 つ必要です。
Name 文字列 × 作成またはドロップするインデックスの名前。IsPrimary が false に設定されている場合は必須です。
IsPrimary 文字列 × インデックスをプライマリ インデックスにするかどうかを指定します。デフォルト値は true です。
フィルタ 文字列 × インデックスに適用する JSON としてエンコードされたフィルタのリスト。
IndexType 文字列 × 作成するインデックスのタイプ。GSI または View のいずれかであり、アクションが Create の場合にのみ使用されます。 デフォルト値は GSI です。
ViewName 文字列 × 非推奨です。互換性を保つためにのみ含まれています。何も行われません。
ノード 文字列 × JSON としてエンコードされたノードのリスト。ポートを含める必要があります。アクションが Create の場合にのみ使用されます。
NumReplica 文字列 × クラスタ内のインデックス ノード間で作成するレプリカの数。

ManageIndices アクションの出力パラメータ

このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。

ManageIndices アクションの構成方法の例については、アクションの例をご覧ください。

ExecuteCustomQuery アクション

このアクションにより、カスタムクエリを実行できます。

カスタムクエリを作成する手順は次のとおりです。

  1. 詳細な手順に沿って、コネクタタスクを追加します。
  2. コネクタタスクを構成するときに、実行するアクションの種類で [アクション] を選択します。
  3. [アクション] リストで [カスタムクエリを実行する] を選択し、[完了] をクリックします。
  4. [タスク入力] セクションを開き、次の操作を行います。
    1. [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。

      デフォルト値: 180

    2. [最大行数]フィールドに、データベースから返される最大行数を入力します。

      デフォルト値: 25

    3. カスタムクエリを更新するには、[カスタムクエリの編集] をクリックします。[スクリプト エディタ] ダイアログが開きます。
    4. [スクリプト エディタ] ダイアログで、SQL クエリを入力して [保存] をクリックします。

      SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、LastName 列に指定された値と一致する Employees テーブルからすべての行を選択します。

      SELECT * FROM Employees where LastName=?

    5. SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。クエリ パラメータを追加する手順は次のとおりです。
      1. [タイプ] リストから、パラメータのデータタイプを選択します。
      2. [] フィールドに、パラメータの値を入力します。
      3. 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。

アクションが正常に実行されると、クエリ結果のあるレスポンスの本文でステータス 200(OK)を返します。

アクションの例

このセクションでは、このコネクタでいくつかのアクションを実行する方法について説明します。

例 - ドキュメントを追加する

この例では、Couchbase バケットにドキュメントを追加します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [AddDocument] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "Document": "{\"ID\":10,\"Name\":\"TestDoc\"}",
    "BucketName": "CouchbaseTestBucket",
    "ID": "Test"
    }
  4. アクションが成功すると、AddDocument タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "RowsAffected": "1"
    }]

例 - コレクションを作成する

この例では、コレクションを作成します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [CreateCollection] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. この例では、TestScope の下にコレクションを作成します。アクションが成功すると、CreateCollection タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": true,
    "scope": null,
    "uid": null,
    "collection": null,
    "collections.uid": null,
    "maxTTL": null,
    "history": null
    }]

例 - コレクションを削除する

この例では、コレクションを削除します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [DeleteCollection] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. この例では、TestScope の下にあるコレクションを削除します。アクションが成功すると、CreateCollection タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": true,
    "uid": "12"
    }]

例 - スコープを作成する

この例では、スコープを作成します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [CreateScope] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. この例では、CouchbaseTestBucket の下にスコープを作成します。アクションが成功すると、CreateScope タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": true,
    "name": null,
    "uid": null,
    "collections": null,
    "collections.name": null,
    "collections.uid": null,
    "collections.maxTTL": null,
    "collections.history": null
    }]

例 - スコープを削除する

この例では、スコープを削除します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [DeleteScope] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. この例では、ScopeFromGoogleCloud スコープを削除します。アクションが成功すると、DeleteScope タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": true,
    "uid": "10"
    }]

例 - インデックスを一覧表示する

この例では、Couchbase で利用可能なすべてのインデックスを一覧表示します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [ListIndices] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    }
  4. アクションが成功すると、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"
    }]

例 - インデックスを管理する

この例では、指定したバケット内のインデックスを削除します。

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [ManageIndices] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "BucketName": "CouchbaseTestBucket",
    "Action": "DROP",
    "Name": "CouchBaseTestIndex"
    }
  4. アクションが成功すると、ManageIndices タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": "true"
    }]

エンティティ オペレーションの例

このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。

例 - すべてのレコードを一覧表示する

この例では、TestCollection エンティティ内のすべてのレコードを一覧表示します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から TestCollection を選択します。
  3. [List] オペレーションを選択してから、[完了] をクリックします。
  4. 必要に応じて、コネクタタスクの [タスク入力] セクションでフィルタ句を指定して、結果セットをフィルタリングできます。 フィルタ句の値は、常に単一引用符(')で囲んで指定します。

例 - エンティティからレコードを取得する

この例では、TestCollection エンティティから、指定した ID のレコードを取得します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から TestCollection を選択します。
  3. [Get] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに 120 を入力します。

    ここで、120TestCollection エンティティの一意のレコード ID です。

例 - エンティティ内のレコードを更新する

この例では、TestCollection エンティティに レコードを作成します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から TestCollection を選択します。
  3. [Update] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "COL_TEXT": "CouchBase Update"
    }
  5. [エンティティ ID] をクリックし、[デフォルト値] フィールドに「120」と入力します。

    統合に成功すると、コネクタタスクの connectorOutputPayload フィールドの値は次のようになります。

    [{
    "Document.Id": "120"
    }]

例 - エンティティからレコードを削除する

この例では、TestCollection エンティティ内の指定された ID のレコードを削除します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から TestCollection を選択します。
  3. [Delete] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで [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 文字列 False ProxyServer プロキシへの認証に使用されるユーザー名です。
proxy_password SECRET False ProxyServer プロキシの認証に使用されるパスワード。
proxy_ssltype ENUM False ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。
詳細度 文字列 False 接続の詳細レベルは 1~5 です。詳細レベルが高いと、すべての通信の詳細(リクエスト、レスポンス、SSL 証明書)がログに記録されます。

統合で Couchbase 接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

Google Cloud コミュニティの助けを借りる

Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。

次のステップ