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 伺服器。詳情請參閱「Quickstart Couchbase Server」。
  • 如要瞭解 Couchbase API,請參閱 Couchbase REST API 說明文件
  • 如有需要,請下載 SSL 憑證。詳情請參閱「透過 TLS 建立安全連線」。

設定連接器

連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分中,選擇連線位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援的地區清單,請參閱「位置」一文。

    2. 點按「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器的下拉式清單中選取「Couchbase」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個字元。
    4. 視需要輸入連線執行個體的「Description」(說明)
    5. 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. 視需要設定「連線節點設定」

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    8. 允許 JSON 參數:啟用 QueryPassthrough 時,允許在參數中使用原始 JSON。
    9. Analytics Port:用於連線至 Couchbase Analytics 端點的連接埠。
    10. 子項分隔符:用於表示子項表格的字元或字元。
    11. Couchbase 服務:決定要連線的 Couchbase 服務。預設值為 N1QL。可用選項包括 N1QL 和 Analytics。
    12. 建立資料表 RAM 配額:透過 CREATE TABLE 語法插入 bucket 時使用的預設 RAM 配額 (以 MB 為單位)。
    13. Dataverse 分隔符:用於表示 Analytics 資料集和範圍/集合的字元。
    14. 口味分隔符:用來表示口味的字元。
    15. N1QL Port:用於連線至 Couchbase N1QL 端點的通訊埠。
    16. 句號分隔符:用於表示階層的字元。
    17. 查詢執行逾時:設定查詢的伺服器端逾時時間,決定 Couchbase 執行查詢的時間長度,超過這個時間就會傳回逾時錯誤。
    18. 嚴格比較:調整將 SQL 輸入查詢的篩選器轉譯為 Couchbase 查詢的精確程度。這可以設為以半形逗號分隔的值清單,每個值可以是日期、數字、布林值或字串。
    19. 交易耐久性:指定交易成功時,文件必須儲存的方式。指定執行查詢時是否要使用 N1QL 交易。
    20. 交易逾時:設定交易可執行的時間長度,超過這個時間後,Couchbase 會將交易判定為逾時。
    21. 使用 DDL 的集合:是否假設 CREATE TABLE 陳述式使用集合而非風味。只有在連線至 Couchbase v7 以上版本,且 GenerateSchemaFiles 設為 OnCreate 時,才會生效。
    22. 使用交易:指定執行查詢時是否要使用 N1QL 交易。
    23. 驗證 JSON 參數:供應商可先驗證字串參數是否為有效的 JSON,再將查詢傳送至 Couchbase。
    24. (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
      • Proxy 驗證機制:選取與 Proxy 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
        • 基本:基本 HTTP 驗證。
        • 摘要:摘要 HTTP 驗證。
      • Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
      • Proxy Password:使用者的密碼 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「通道」選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
        • 一律:連線一律啟用 SSL。
        • 從未:連線未啟用 SSL。
        • 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量則會透過 Proxy 來回傳輸。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取「目的地類型」
          • 主機位址:指定目的地的主機名稱或 IP 位址。

            如要與後端系統建立私人連線,請按照下列步驟操作:

    25. 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    26. 點按「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
      • 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

      如要輸入其他目的地,請按一下「+新增目的地」

    2. 點按「下一步」
  6. 在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      Couchbase 連線支援下列驗證類型:

      • 使用者名稱和密碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點按「下一步」
  7. 檢查:檢查連線和驗證詳細資料。
  8. 點選「建立」

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 使用者名稱和密碼
    • 使用者名稱:連接器的使用者名稱
    • 密碼:Secret Manager 密鑰,內含與連接器相關聯的密碼。
    • UseSSL:這個欄位用於設定是否啟用 SSL。
    • SSLServerCert:Couchbase 連接器的 SSLServerCert
    • 驗證機制:Couchbase 連接器的驗證機制
    • 連線模式:決定如何連線至 Couchbase 伺服器。必須是 DirectCloudCloud 必須使用 SSL。詳情請參閱「透過 TLS 建立安全連線」。
    • DNS 伺服器:決定擷取 Couchbase Cloud 資訊時要使用的 DNS 伺服器。例如:8.8.8.8

連線設定範例

本節列出您在建立 Couchbase 連接器時設定的各個欄位範例值。

SSL - 憑證連線類型

欄位名稱 詳細資料
區域 us-central1
連接器 Couchbase
連接器版本 1
連接器名稱 Couchbase-basic-auth-conn
服務帳戶 NAME-compute@developer.gserviceaccount.com
詳細程度 5
連線節點設定: 節點數量下限/上限 2/50
安全資料傳輸層 (SSL) 設定啟用安全資料傳輸層
信任儲存庫 私人
自訂信任存放區 完整的 PEM 憑證 (-----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----)
密鑰版本 1
主機地址 xx.1HOST_NAME.cloud.couchbase.com:18xxx
驗證 使用者密碼
使用者名稱 使用者名稱
密碼 密碼
版本 1
vConnection Mode Cloud
DNS 伺服器 192.0.2.0
OAuth 配置 基本

Analytics Couchbase 連線類型

欄位名稱 詳細資料
區域 us-central1
連接器 Couchbase
連接器版本 1
連接器名稱 Couchbase-basic-auth-Analytics-conn
服務帳戶 NAME-compute@developer.gserviceaccount.com
Analytics Port 18095
Couchbase 服務 數據分析
詳細程度 5
連線節點設定: 節點數量下限/上限 2/50
主機地址 xx.1HOST_NAME.cloud.couchbase.com:18095
驗證 使用者密碼
使用者名稱 使用者名稱
密碼 密碼
版本 1
vConnection Mode Cloud
DNS 伺服器 192.0.2.0
OAuth 配置 基本

實體、作業和動作

所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。

  • 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。

    不過,連接器可能不支援或沒有任何實體,在這種情況下,Entities 清單會是空白。

  • 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:

    從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在 Operations 清單中列出這些不支援的作業。

  • 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時 Actions 清單會是空白。

動作

這個連接器支援執行下列動作:

  • 使用者定義的預存程序和函式。如果後端有任何預存程序和函式,這些項目會列在 Configure connector task 對話方塊的 Actions 欄中。
  • 自訂 SQL 查詢。如要執行自訂 SQL 查詢,連接器提供「執行自訂查詢」動作。

    如要建立自訂查詢,請按照下列步驟操作:

    1. 請按照詳細說明 新增連接器工作
    2. 設定連接器工作時,請在要執行的動作類型中選取「動作」
    3. 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」

      圖片:顯示 execute-custom-query-action 圖片:顯示 execute-custom-query-action

    4. 展開「Task input」(工作輸入) 區段,然後執行下列操作:
      1. 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。

        預設值:180 秒。

      2. 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。

        預設值為 25

      3. 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。

        圖片:顯示自訂 SQL 查詢 圖片:顯示自訂 SQL 查詢

      4. 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」

        您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從 Employees 資料表選取與 LastName 資料欄指定值相符的所有資料列:

        SELECT * FROM Employees where LastName=?

      5. 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。

        圖片:顯示 add-query-param 圖片:顯示 add-query-param

        如要新增查詢參數,請按照下列步驟操作:

        1. 在「類型」清單中,選取參數的資料類型。
        2. 在「值」欄位中輸入參數值。
        3. 如要新增多個參數,請按一下「+ 新增查詢參數」

系統限制

Couchbase 連接器每秒每個節點可處理 25 筆交易,並節流任何超出此限制的交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。

如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。

動作

本節列出連接器支援的操作。如要瞭解如何設定動作,請參閱「動作範例」。

AddDocument 動作

這項動作會在 Couchbase 中新增文件。

AddDocument 動作的輸入參數

參數名稱 資料類型 必填 說明
值區名稱 字串 要插入文件的值區。
SourceTable 物件 包含 ID 和 Document 資料欄的臨時資料表名稱。如未指定 ID,則為必填。
ID 字串 要插入文件的主要鍵。如未指定 SourceTable,則為必填。
文件 字串 要插入文件的 JSON 文字。如果未指定 SourceTable,則為必要欄位。

AddDocument 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 AddDocument 動作,請參閱動作範例

CreateCollection 動作

這項動作會在現有範圍中建立集合。

CreateCollection 動作的輸入參數

參數名稱 資料類型 必填 說明
值區 字串 包含集合的值區名稱。
範圍 字串 包含集合的範圍名稱。
名稱 字串 要建立的集合名稱。

CreateCollection 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 CreateCollection 動作,請參閱動作範例

DeleteCollection 動作

這項操作會刪除現有範圍中的集合。

DeleteCollection 動作的輸入參數

參數名稱 資料類型 必填 說明
值區 字串 包含集合的值區名稱。
範圍 字串 包含集合的範圍名稱。
名稱 字串 要刪除的集合名稱。

DeleteCollection 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 DeleteCollection 動作,請參閱動作範例

CreateScope 動作

這項動作會在現有 bucket 中建立範圍。

CreateScope 動作的輸入參數

參數名稱 資料類型 必填 說明
值區 字串 包含範圍的值區名稱
名稱 字串 要建立的範圍名稱。

CreateScope 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 CreateScope 動作,請參閱動作範例

DeleteScope 動作

這項操作會刪除範圍和所有集合。

DeleteScope 動作的輸入參數

參數名稱 資料類型 必填 說明
值區 字串 包含範圍的值區名稱。
名稱 字串 要刪除的範圍名稱。

DeleteScope 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 DeleteScope 動作,請參閱動作範例

ListIndices 動作

這項動作會列出 Couchbase 中的所有可用索引。

ListIndices 動作的輸入參數

不適用

ListIndices 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 ListIndices 動作,請參閱「動作範例」。

ManageIndices 動作

這項操作會在 bucket 中建立或捨棄索引。

ManageIndices 動作的輸入參數

參數名稱 資料類型 必填 說明
值區名稱 字串 要建立或捨棄索引的目標 bucket。
ScopeName 物件 要建立或捨棄索引的目標範圍 (Couchbase 7 以上版本)
CollectionName 字串 要建立或捨棄索引的目標集合 (Couchbase 7 以上版本)
動作 字串 指定要在索引上執行的動作,可以是「建立」或「捨棄」。
運算式 字串 以 JSON 編碼的運算式或函式清單,索引將以這些項目為依據。如果 IsPrimary 設為 false 且動作為 Create,則至少須提供一個。
名稱 字串 要建立或捨棄的索引名稱,如果 IsPrimary 設為 false,則為必填欄位。
IsPrimary 字串 指定索引是否應為主要索引。預設值為 true。
篩選器 字串 要套用至索引的篩選器清單 (以 JSON 編碼)。
IndexType 字串 要建立的索引類型,可以是 GSI 或檢視畫面,僅在動作為「建立」時使用。 預設值為 GSI。
ViewName 字串 已淘汰,僅為相容性而納入。不會執行任何操作。
節點 字串 以 JSON 編碼的節點清單,必須包含索引,且必須包含連接埠。只有在動作為「建立」時才會使用。
NumReplica 字串 要在叢集中的索引節點之間建立多少個副本。

ManageIndices 動作的輸出參數

如果動作成功,這項操作會傳回狀態 200 (OK)。

如要瞭解如何設定 ManageIndices 動作,請參閱「動作範例」。

ExecuteCustomQuery 動作

這項操作可讓您執行自訂查詢。

如要建立自訂查詢,請按照下列步驟操作:

  1. 請按照詳細說明 新增連接器工作
  2. 設定連接器工作時,請在要執行的動作類型中選取「動作」
  3. 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」

    圖片:顯示 execute-custom-query-action 圖片:顯示 execute-custom-query-action

  4. 展開「Task input」(工作輸入) 區段,然後執行下列操作:
    1. 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。

      預設值:180 秒。

    2. 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。

      預設值為 25

    3. 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。

      圖片:顯示自訂 SQL 查詢 圖片:顯示自訂 SQL 查詢

    4. 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」

      您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從 Employees 資料表選取與 LastName 資料欄指定值相符的所有資料列:

      SELECT * FROM Employees where LastName=?

    5. 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。

      圖片:顯示 add-query-param 圖片:顯示 add-query-param

      如要新增查詢參數,請按照下列步驟操作:

      1. 在「類型」清單中,選取參數的資料類型。
      2. 在「值」欄位中輸入參數值。
      3. 如要新增多個參數,請按一下「+ 新增查詢參數」

執行成功後,這項動作會傳回狀態 200 (OK),以及含有查詢結果的回應內容。

動作範例

本節說明如何在這個連接器中執行部分動作。

範例 - 新增文件

這個範例會在 Couchbase bucket 中新增文件。

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 AddDocument 動作,然後按一下「完成」
  3. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. 這個範例會刪除 ScopeFromGoogleCloud 範圍。如果動作成功,DeleteScope 工作項目的 connectorOutputPayload 回應參數會包含類似下列內容的值:

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

範例 - 列出索引

這個範例會列出 Couchbase 中所有可用的索引。

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 ListIndices 動作,然後按一下「完成」
  3. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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"
    }]

範例 - 管理索引

這個範例會刪除指定 bucket 中的索引。

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 ManageIndices 動作,然後按一下「完成」
  3. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入) 區段中,按一下「EntityId」,然後在「Default Value」(預設值) 欄位中輸入 120

    其中 120TestCollection 實體中的專屬記錄 ID。

範例 - 更新實體中的記錄

這個範例會更新 TestCollection 實體中的記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 TestCollection
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
    "COL_TEXT": "CouchBase Update"
    }
  5. 按一下「entityId」,然後在「Default Value」欄位中輸入 120

    如果整合成功,連接器工作的 connectorOutputPayload 欄位會包含類似下列內容的值:

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

範例 - 從實體刪除記錄

這個範例會刪除 TestCollection 實體中具有指定 ID 的記錄。

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 TestCollection
  3. 選取「Delete」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下「entityId」,然後在「Default Value」(預設值) 欄位中輸入 20

已知問題

系統不支援對實體執行 create 操作。

使用 Terraform 建立連線

您可以使用 Terraform 資源建立新連線。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例

使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:

參數名稱 資料類型 必填 說明
allow_jsonparameters BOOLEAN 啟用 QueryPassthrough 時,允許在參數中使用原始 JSON。
analytics_port STRING 連線至 Couchbase Analytics 端點的通訊埠。
child_separator STRING 用來表示子資料表的字元。
couchbase_service ENUM 決定要連線的 Couchbase 服務。預設值為 N1QL。可用選項包括 N1QL 和 Analytics。支援的值包括:N1QL、Analytics
create_table_ram_quota STRING 透過 CREATE TABLE 語法插入 bucket 時使用的預設 RAM 配額 (以 MB 為單位)。
dataverse_separator STRING 用來表示 Analytics 資料宇宙和範圍/集合的字元。
flavor_separator STRING 用來表示口味的一或多個字元。
n1_qlport STRING 連線至 Couchbase N1QL 端點的通訊埠。
periods_separator STRING 用來表示階層的字元。
query_execution_timeout STRING 這會設定查詢的伺服器端逾時,決定 Couchbase 執行查詢的時間長度,之後會傳回逾時錯誤。
strict_comparison STRING 調整將 SQL 輸入查詢的篩選器轉換為 Couchbase 查詢的精確度。這可以設為以半形逗號分隔的值清單,每個值可以是日期、數字、布林值或字串。
transaction_durability STRING 指定文件必須如何儲存,交易才能成功。指定執行查詢時是否要使用 N1QL 交易。
transaction_timeout STRING 這會設定交易可執行的時間長度,Couchbase 會在交易逾時前終止。
use_collections_for_ddl BOOLEAN 是否假設 CREATE TABLE 陳述式使用集合,而非風味。只有在連線至 Couchbase v7 以上版本,且 GenerateSchemaFiles 設為 OnCreate 時,這項屬性才會生效。
use_transactions STRING 指定執行查詢時是否要使用 N1QL 交易。
validate_jsonparameters BOOLEAN 供應商可藉此驗證字串參數是否為有效的 JSON,再將查詢傳送至 Couchbase。
proxy_enabled BOOLEAN 選取這個核取方塊,即可為連線設定 Proxy 伺服器。
proxy_auth_scheme ENUM 用於向 ProxyServer Proxy 驗證的驗證類型。支援的值包括:BASIC、DIGEST、NONE
proxy_user STRING 用於向 ProxyServer Proxy 驗證的使用者名稱。
proxy_password SECRET 用於向 ProxyServer 代理程式驗證的密碼。
proxy_ssltype ENUM 連線至 ProxyServer Proxy 時要使用的 SSL 類型,支援的值包括:AUTO、ALWAYS、NEVER、TUNNEL
詳細程度 STRING 連線的詳細程度,範圍為 1 到 5。詳細程度越高,記錄的通訊詳細資料就越多 (要求、回應和 SSL 憑證)。

在整合服務中使用 Couchbase 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟