Couchbase
Couchbase 連接器可讓您連線至 Couchbase 資料庫執行個體,並執行支援的資料庫作業。
支援的版本
Couchbase Server 4.0 以上版本 (Enterprise Edition 或 Community Edition)。
Couchbase Capella
事前準備
使用 Couchbase 連接器前,請先完成下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連線器的使用者。
- 將下列 IAM 角色授予要用於連接器的服務帳戶:
roles/secretmanager.viewerroles/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 建立安全連線」。
設定連接器
連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
如需所有支援的地區清單,請參閱「位置」一文。
- 點按「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「Couchbase」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 連線名稱可使用英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個字元。
- 視需要輸入連線執行個體的「Description」(說明)。
- 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為
Error。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連線器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- 允許 JSON 參數:啟用 QueryPassthrough 時,允許在參數中使用原始 JSON。
- Analytics Port:用於連線至 Couchbase Analytics 端點的連接埠。
- 子項分隔符:用於表示子項表格的字元。
- Couchbase 服務:決定要連線的 Couchbase 服務。預設值為 N1QL。可用選項包括 N1QL 和 Analytics。
- 建立資料表 RAM 配額:透過 CREATE TABLE 語法插入 bucket 時使用的預設 RAM 配額 (以 MB 為單位)。
- Dataverse 分隔符:用於表示 Analytics 資料集和範圍/集合的字元。
- 口味分隔符:用來表示口味的字元。
- N1QL Port:用於連線至 Couchbase N1QL 端點的通訊埠。
- 句號分隔符:用於表示階層的字元。
- 查詢執行逾時:設定查詢的伺服器端逾時時間,決定 Couchbase 執行查詢的時間長度,超過這個時間就會傳回逾時錯誤。
- 嚴格比較:調整將 SQL 輸入查詢的篩選器轉譯為 Couchbase 查詢的精確程度。這可以設為以半形逗號分隔的值清單,每個值可以是日期、數字、布林值或字串。
- 交易耐久性:指定交易成功時的文件儲存方式。指定執行查詢時是否要使用 N1QL 交易。
- 交易逾時:設定交易可執行的時間長度,超過這個時間後,Couchbase 會將交易判定為逾時。
- 使用 DDL 的集合:是否假設 CREATE TABLE 陳述式使用集合而非風味。只有在連線至 Couchbase v7 以上版本,且 GenerateSchemaFiles 設為 OnCreate 時,這項屬性才會生效。
- 使用交易:指定執行查詢時是否要使用 N1QL 交易。
- 驗證 JSON 參數:供應商可先驗證字串參數是否為有效的 JSON,再將查詢傳送至 Couchbase。
- (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
-
Proxy Auth Scheme:選取與 Proxy 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
- 基本:基本 HTTP 驗證。
- 摘要:摘要 HTTP 驗證。
- Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
- Proxy Password:使用者的密碼 Secret Manager 密鑰。
-
Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
- 自動:預設設定。如果網址是 HTTPS 網址,則會使用「Tunnel」(通道) 選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
- 「Always」(一律):連線一律啟用 SSL。
- 「永不」:連線未啟用 SSL。
- 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量會透過 Proxy 來回傳送。
- 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
- 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點按「下一步」。
- 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
- 目的地類型:選取目的地類型。
- 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
- 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。
如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。
如要輸入其他目的地,請按一下「+新增目的地」。
- 點按「下一步」。
- 目的地類型:選取目的地類型。
-
在「Authentication」(驗證) 部分,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
Couchbase 連線支援下列驗證類型:
- 使用者名稱和密碼
- 點按「下一步」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
設定驗證機制
根據要使用的驗證方式輸入詳細資料。
-
使用者名稱和密碼
- 使用者名稱:連接器的使用者名稱
- 密碼:Secret Manager 密鑰,內含與連接器相關聯的密碼。
- UseSSL:這個欄位用於設定是否啟用 SSL。
- SSLServerCert:Couchbase 連接器的 SSLServerCert
- 驗證機制:Couchbase 連接器的驗證機制
- 連線模式:決定如何連線至 Couchbase 伺服器。必須是
Direct或Cloud。Cloud必須使用 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 查詢,連接器提供「執行自訂查詢」動作。
如要建立自訂查詢,請按照下列步驟操作:
- 請按照詳細說明 新增連接器工作。
- 設定連接器工作時,請在要執行的動作類型中選取「動作」。
- 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」。
- 展開「Task input」(工作輸入) 區段,然後執行下列操作:
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
預設值:
180秒。 - 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。
預設值為
25。 - 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。
- 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」。
您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從
Employees資料表選取與LastName資料欄指定值相符的所有資料列:SELECT * FROM Employees where LastName=?
- 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。
如要新增查詢參數,請按照下列步驟操作:
- 在「類型」清單中,選取參數的資料類型。
- 在「值」欄位中輸入參數值。
- 如要新增多個參數,請按一下「+ 新增查詢參數」。
「執行自訂查詢」動作不支援陣列變數。
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
系統限制
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 動作
這項動作可讓您執行自訂查詢。
如要建立自訂查詢,請按照下列步驟操作:
- 請按照詳細說明 新增連接器工作。
- 設定連接器工作時,請在要執行的動作類型中選取「動作」。
- 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」。
- 展開「Task input」(工作輸入) 區段,然後執行下列操作:
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
預設值:
180秒。 - 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。
預設值為
25。 - 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。
- 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」。
您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從
Employees資料表選取與LastName資料欄指定值相符的所有資料列:SELECT * FROM Employees where LastName=?
- 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。
如要新增查詢參數,請按照下列步驟操作:
- 在「類型」清單中,選取參數的資料類型。
- 在「值」欄位中輸入參數值。
- 如要新增多個參數,請按一下「+ 新增查詢參數」。
「執行自訂查詢」動作不支援陣列變數。
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
執行成功後,這項動作會傳回狀態 200 (OK),以及含有查詢結果的回應內容。
動作範例
本節說明如何在這個連接器中執行部分動作。
範例 - 新增文件
這個範例會在 Couchbase bucket 中新增文件。
- 在「
Configure connector task」對話方塊中,按一下Actions。 - 選取
AddDocument動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "Document": "{\"ID\":10,\"Name\":\"TestDoc\"}", "BucketName": "CouchbaseTestBucket", "ID": "Test" }
如果動作成功,AddDocument 工作的 connectorOutputPayload 回應參數會包含類似下列內容的值:
[{ "RowsAffected": "1" }]
範例 - 建立集合
這個範例會建立集合。
- 在「
Configure connector task」對話方塊中,按一下Actions。 - 選取
CreateCollection動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "bucket": "CouchbaseTestBucket", "scope": "TestScope", "name": "CollectionFromGoogleCloud" }
這個範例會刪除 TestScope 下的集合。如果動作成功,CreateCollection 工作項目的 connectorOutputPayload 回應參數會包含類似下列內容的值:
[{ "Success": true, "uid": "12" }]
範例 - 建立範圍
這個範例會建立範圍。
- 在「
Configure connector task」對話方塊中,按一下Actions。 - 選取
CreateScope動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "bucket": "CouchbaseTestBucket", "name": "ScopeFromGoogleCloud" }
這個範例會刪除 ScopeFromGoogleCloud 範圍。如果動作成功,DeleteScope 工作項目的 connectorOutputPayload 回應參數會包含類似下列內容的值:
[{ "Success": true, "uid": "10" }]
範例 - 列出索引
這個範例會列出 Couchbase 中所有可用的索引。
- 在「
Configure connector task」對話方塊中,按一下Actions。 - 選取
ListIndices動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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" }]
範例 - 管理索引
這個範例會刪除指定 bucket 中的索引。
- 在「
Configure connector task」對話方塊中,按一下Actions。 - 選取
ManageIndices動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "COL_TEXT": "CouchBase Update" }
- 按一下「entityId」,然後在「Default Value」欄位中輸入
120。如果整合成功,連接器工作的
connectorOutputPayload欄位會包含類似下列內容的值:[{ "Document.Id": "120" }]
範例 - 從實體刪除記錄
這個範例會刪除 TestCollection 實體中具有指定 ID 的記錄。
- 在「
Configure connector task」對話方塊中,按一下Entities。 - 從
Entity清單中選取TestCollection。 - 選取「
Delete」作業,然後按一下「完成」。 - 在「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 中建立及使用「連線器」工作,請參閱「連線器工作」。