查看 Application Integration 支援的連接器。
對 MySQL 資料庫執行 CRUD 作業
本教學課程說明如何透過範例整合功能連線至 MySQL 資料庫執行個體,並對 MySQL 資料庫資料表執行列出、取得、建立、更新及刪除作業。
事前準備
- 確認您有權存取 Application Integration。
-
選取 Google Cloud 專案,然後執行下列工作:
- 將下列角色授予要用來建立連線的服務帳戶:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
如果專案先前未啟用這些服務,系統會在建立連線時提示您啟用。
- 將下列角色授予要用來建立連線的服務帳戶:
- 請確認您有權存取 MySQL 伺服器,並可使用該伺服器建立資料庫。如需所有支援的連接器和版本清單,請參閱 連接器參考資料。
在 MySQL 中建立資料庫和資料表
在已安裝 MySQL 用戶端的系統中執行下列指令:-
連線至 MySQL 伺服器:
請替換下列項目:mysql --host=MYSQL_HOSTNAME_OR_IP_ADDRESS --port=PORT_NUMBER -uUSERNAME -pPASSWORD
-
MYSQL_HOSTNAME_OR_IP_ADDRESS
:MySQL 伺服器的名稱或 IP 位址。 -
PORT_NUMBER
:MySQL 伺服器的通訊埠號碼。 -
USERNAME
:MySQL 伺服器的使用者名稱。 -
PASSWORD
:MySQL 伺服器的使用者密碼。
-
-
建立 MySQL 資料庫:
CREATE DATABASE tutorialDB;
-
建立資料表:
CREATE TABLE EMPLOYEE ( employee_id int auto_increment primary key, employee_first_name varchar(500) NOT null, employee_last_name varchar(500) NOT null, employee_emailID varchar(500) );
-
在您建立的
EMPLOYEE
表格中新增資料列:INSERT INTO EMPLOYEE (employee_first_name,employee_last_name,employee_emailID) values ("Peter","Dilliard","test-01@test.com"); INSERT INTO EMPLOYEE (employee_first_name,employee_last_name,employee_emailID) values ("Meaghan","Webb","test-02@test.com");
- 確認資料表已建立並新增資料列:
系統會顯示下列資料表列:SELECT * FROM EMPLOYEE;
+-------------+---------------------+--------------------+------------------+ | employee_id | employee_first_name | employee_last_name | employee_emailID | +-------------+---------------------+--------------------+------------------+ | 1 | Peter | Dilliard | test-01@test.com | | 2 | Meaghan | Webb | test-02@test.com | +-------------+---------------------+--------------------+------------------+
建立 MySQL 連線
如要啟用整合功能來連線至 MySQL 資料庫,請建立與 MySQL 資料庫的新連線:
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 在「Region」(區域) 清單中,選取要建立連線的區域。
如需所有支援的地區清單,請參閱「位置」一文。
- 點選「下一步」。
- 在「Region」(區域) 清單中,選取要建立連線的區域。
- 在「連線詳細資料」部分中,輸入下列詳細資料:
- 在「連接器」清單中選取「MySQL」。
- 從「Connector version」(連接器版本) 清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 請使用英文字母、數字或連字號。
- 字母必須為小寫。
- 名稱開頭必須是英文字母,結尾則須為英文字母或數字。
- 名稱不得超過 49 個字元。
- 選用:在「說明」欄位中,新增連線執行個體的說明。
- 選用:啟用 Cloud Logging。
- 從「Service Account」(服務帳戶) 清單中,選取具備必要角色的服務帳戶。
- 在「Database name」(資料庫名稱) 欄位中,輸入 MySQL 資料庫的名稱。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- (選用) 在「進階設定」部分,選取「使用 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 伺服器的詳細資料。
- 選用:如要為連線新增標籤,請按一下「+新增標籤」。
- 點選「下一步」。
- 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
- 在「目的地類型」清單中,選取主機位址。
- 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
- 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。
如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。
如要輸入其他目的地,請按一下「+新增目的地」。
- 點選「下一步」。
- 在「目的地類型」清單中,選取主機位址。
- 在「驗證」部分,您可以提供憑證:
- 在「Username」(使用者名稱) 欄位中,輸入連線的 MySQL 使用者名稱。
- 在「Password」(密碼) 欄位中,輸入 Secret Manager
密鑰,內含與 MySQL 使用者名稱相關聯的密碼。
- 如果先前已建立 Secret,但清單中沒有顯示,請選取「手動輸入 Secret」。在「依據資源 ID 新增密鑰」對話方塊中,複製並貼上 Secret Manager 的資源 ID。
- 如要使用最新版本,請複製並貼上父項密鑰的資源 ID,格式如下:
"projects/project-number/secrets/secret-name"
- 如要選取特定版本,請複製並貼上該版本的資源 ID,格式為
"projects/project-number/secrets/secret-name/versions/1"
如要新增密鑰,請按一下「新增密鑰」。
- 如要使用最新版本,請複製並貼上父項密鑰的資源 ID,格式如下:
- 如果您尚未建立要搭配 MySQL 使用的密鑰,請按一下「Create New Secret」(建立新密鑰)。在「建立密鑰」對話方塊中,輸入下列詳細資料:
- 在「Name」(名稱) 欄位中輸入密鑰名稱。
- 在「Secret value」(密鑰值) 欄位中輸入密鑰內容,或上傳含有密鑰的檔案。
- 按一下「Create Secret」(建立密鑰)。
- 如果先前已建立 Secret,但清單中沒有顯示,請選取「手動輸入 Secret」。在「依據資源 ID 新增密鑰」對話方塊中,複製並貼上 Secret Manager 的資源 ID。
- 從「密碼版本」清單中,從下拉式選單的可用版本清單中選取「密碼」密碼的所需版本。
- 按一下「下一步」。
- 在「檢閱」部分中,檢查連線和驗證詳細資料。
- 點選「建立」。
設定整合功能以使用 MySQL 連線
如要在整合中使用您建立的 MySQL 連線,請執行下列工作:
建立新的整合功能
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
- 按一下「建立整合」。
- 在「整合名稱」欄位中,輸入整合名稱。
- 選用:在「說明」欄位中輸入說明。
- 從「Region」(區域) 清單中,選取整合作業的區域。 「區域」清單只會列出 Google Cloud 專案中佈建的區域。如要佈建新區域,請按一下「啟用區域」。如要瞭解如何佈建新區域,請參閱「啟用新區域」。
- 按一下「建立」開啟整合編輯器。
新增及設定 API 觸發條件
建立新整合後,即可在整合中新增及設定 API 觸發條件。步驟如下:
- 在整合服務編輯器的工具列中,按一下「觸發條件」,即可查看可用觸發條件的清單。
- 將「API」元素拖曳至整合服務編輯器。
新增及設定連接器工作
如要設定「連線器」工作,列出 employee
表格中的所有實體,請按照下列步驟操作:
- 在整合服務編輯器的工具列中,按一下「Tasks」(工作),即可顯示可用工作清單。
- 將「連線器」元素拖曳至整合服務編輯器。
- 按一下設計工具中的「Connectors」工作元素,開啟「Connectors」面板。
- 在「連接器」面板中,按一下「設定連接器」。
在隨即顯示的「連線器工作編輯器」對話方塊中,按照下列步驟操作:
- 從「Region」(區域) 清單中,選取您建立 MySQL 連線的連線區域。
- 從「連線」清單中,選取您建立的 MySQL 連線,然後點選「下一步」。
- 在「類型」部分選取「實體」,然後按一下「下一步」。
- 在「實體」清單中,選取「員工」。
- 從「Operation」(作業) 清單中選取「List」(列出),然後按一下「Next」(下一步)。
- 如要完成連線設定並關閉對話方塊,請按一下「完成」。
將「API 觸發條件」元素連結至「連結器」工作元素
接著新增邊緣連線,將 API 觸發條件連結至「Connectors」工作。邊緣連線是指整合中任意兩個元素之間的連線。如要瞭解邊緣和邊緣條件,請參閱「邊緣」。
如要新增邊緣連線,請按照下列步驟操作:
- 在「API Trigger」(API 觸發條件) 元素底部,按一下「Fork」(分叉) 控制點。
- 將邊緣連線拖曳至連接器工作元素頂端的「Join」(彙整) 控制點。
測試整合功能
如要測試整合功能,請按照下列步驟操作:
- 在整合服務編輯器的工具列中,按一下「Test」(測試)。
- 選用:變更「執行期限 (分鐘)」值,然後按一下「測試整合」。
- 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」。
- 展開「回應參數」部分。在「Connector output payload」(連接器輸出內容酬載) 中,會顯示以下輸出內容:
[ { "employee_id": 1.0, "employee_first_name": "Peter", "employee_last_name": "Dilliard", "employee_emailID": "test-01@test.com" }, { "employee_id": 2.0, "employee_first_name": "Meaghan", "employee_last_name": "Webb", "employee_emailID": "test-02@test.com" } ]
對 MySQL 資料庫表執行其他作業
在整合中設定 Connectors 工作時,您可以選取下列任一作業:
- 清單
- 取得
- 建立
- 更新
- 刪除
您已使用 List 作業查看 employee
資料表中的所有資料列。在本教學課程的後續章節中,您將使用 Get、Create、Update 和 Delete 作業,在 employee
表格中新增、修改或移除資料列。
從資料表取得資料列
如果您知道要擷取之資料列的實體 ID (或主鍵),請在整合中將該值做為 Get 作業的輸入內容。Get 作業傳回的詳細資料與 List 作業傳回的詳細資料類似。不過,List 作業會擷取符合指定查詢的所有資料表列詳細資料,Get 作業則只會擷取符合指定實體 ID 的資料表列詳細資料。
請注意,根據預設,List 作業會傳回資料表中的所有資料列,但 Get 作業需要實體 ID 做為搜尋參數。因此,如要使用 Get 作業,您必須知道要擷取之資料列的實體 ID,或提供實體 ID 的預設值。
如要取得指定資料列的詳細資料,請按照下列步驟設定先前建立的「Connectors」工作:
- 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
- 在「連接器」設定窗格中,按一下「設定連接器」。
在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
- 在「設定實體/動作」部分,從「作業」清單中選取「取得」。
- 按一下 [完成]。
- 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
- 按一下實體 ID。
- 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」。
- 點選「儲存」。
- 在整合服務編輯器的工具列中,按一下「Test」(測試)。
- 選用:變更「執行期限 (分鐘)」值。
- 輸入要擷取詳細資料的實體 ID。例如
2
。 - 按一下「測試整合」。
- 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」。
- 展開「回應參數」部分。在「Connector output payload」(連接器輸出內容酬載) 中,會顯示以下輸出內容:
[ { "employee_id": 2.0, "employee_first_name": "Meaghan", "employee_last_name": "Webb", "employee_emailID": "test-02@test.com" } ]
- 您可以確認這裡顯示的資訊是否與 MySQL 資料表中的對應列資訊相符。如要在 MySQL 資料表中查看這項資訊,請從 MySQL 用戶端執行下列指令:
系統會顯示下列資料表列:SELECT * FROM employee WHERE employee_id=2;
+-------------+---------------------+--------------------+------------------+ | employee_id | employee_first_name | employee_last_name | employee_emailID | +-------------+---------------------+--------------------+------------------+ | 2 | Meaghan | Webb | test-02@test.com | +-------------+---------------------+--------------------+------------------+
在表格中新增資料列
您可以使用「建立」作業在資料表中新增資料列。使用「建立」作業時,您必須在連接器輸入酬載中提供實體的所有值。
如要使用「建立」作業新增資料列,請按照下列步驟設定先前建立的「連線器」工作:
- 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
- 在「連接器」設定窗格中,按一下「設定連接器」。
在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
- 在「設定實體/動作」部分,從「作業」清單選取「建立」。
- 按一下 [完成]。
- 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
- 按一下實體 ID。
- 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
- 按一下 [儲存]。
- 在整合服務編輯器的工具列中,按一下「Test」(測試)。
- 選用:變更「執行期限 (分鐘)」值。
- 輸入要建立的實體詳細資料。舉例來說,如要在
employee
資料表中新增員工,請輸入下列 JSON:{ "employee_first_name": "Mary", "employee_last_name": "Smith", "employee_emailID": "test-03@test.com" }
- 按一下「測試整合」。
- 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」。
- 展開「回應參數」部分。在「Connector output payload」(連接器輸出內容酬載) 中,會顯示以下輸出內容:
在「連線器輸出內容有效負載」下方,實體 ID 會顯示為輸出內容:{ "employee_first_name": "Mary", "employee_last_name": "Smith", "employee_emailID": "test-03@test.com" }
{ "employee_id": 3.0 }
-
您可以確認 MySQL 資料表中是否已新增資料列。如要在 MySQL 資料表中查看這項資訊,請從 MySQL 用戶端執行下列指令:
系統會顯示下列資料表列:SELECT * FROM employee;
+-------------+---------------------+--------------------+------------------+ | employee_id | employee_first_name | employee_last_name | employee_emailID | +-------------+---------------------+--------------------+------------------+ | 1 | Peter | Dilliard | test-01@test.com | | 2 | Meaghan | Webb | test-02@test.com | | 3 | Mary | Smith | test-03@test.com | +-------------+---------------------+--------------------+------------------+
更新資料表中的資料列
使用「更新」作業變更資料表列中的值。舉例來說,您可以使用這項作業更新 employee
表格中員工的電子郵件 ID。如要指定要更新的實體,您可以提供實體 ID,就像 Get 作業一樣。或者,您可以使用 Filter 子句參數,傳遞要用來篩選資料表列的值。如果您想根據特定搜尋條件,在多個資料列中進行相同變更,這個方法就非常實用。
如要更新資料表列,請按照下列步驟設定先前建立的「連線」工作:
- 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
- 在「連接器」設定窗格中,按一下「設定連接器」。
在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
- 在「設定實體/動作」部分,從「作業」清單中選取「更新」。
- 按一下 [完成]。
- 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
- 按一下「篩選子句」。
- 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
- 按一下 [儲存]。
- 在整合服務編輯器的工具列中,按一下「Test」(測試)。
- 選用:變更「執行期限 (分鐘)」值。
- 輸入要篩選的條件,舉例來說,如要尋找電子郵件 ID 為
test-03@test.com
的員工,請輸入:employee_emailID="test-03@test.com"
- 輸入要更新的值。舉例來說,如要更新
employee
表格中所有員工的電子郵件 ID,且目前的電子郵件 ID 符合篩選子句test-03@test.com
,請輸入下列 JSON:{ "employee_emailID": "msmith@test.com" }
- 按一下「測試整合」。
- 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。
如要驗證實體是否已更新,請使用 Get 作業取得指定實體的詳細資料。
- 您可以驗證 MySQL 資料表中的資料列是否已更新。如要在 MySQL 資料表中查看這項資訊,請從 MySQL 用戶端執行下列指令:
系統會顯示下列資料表列:SELECT * FROM employee;
+-------------+---------------------+--------------------+------------------+ | employee_id | employee_first_name | employee_last_name | employee_emailID | +-------------+---------------------+--------------------+------------------+ | 1 | Peter | Dilliard | test-01@test.com | | 2 | Meaghan | Webb | test-02@test.com | | 3 | Mary | Smith | msmith@test.com | +-------------+---------------------+--------------------+------------------+
刪除資料表中的資料列
您可以使用 Delete 作業刪除一或多個資料表列。提供實體 ID,或使用篩選子句指定要刪除的資料列。請注意,如果您使用篩選子句指定要刪除的資料列條件,系統可能會刪除符合指定篩選條件的多個資料列。如要只刪除特定資料列,請使用實體 ID。
如要使用實體 ID 刪除資料表列,請按照下列步驟設定先前建立的「連線器」工作:
- 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
- 在「連接器」設定窗格中,按一下「設定連接器」。
在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
- 在「設定實體/動作」部分,從「作業」清單中選取「取得」。
- 按一下 [完成]。
- 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
- 按一下實體 ID。
- 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
- 按一下 [儲存]。
- 在整合服務編輯器的工具列中,按一下「Test」(測試)。
- 選用:變更「執行期限 (分鐘)」值。
- 輸入要擷取詳細資料的實體 ID。例如
2
。 - 按一下「測試整合」。
- 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。
如要驗證資料列是否已刪除,請使用 Get 作業取得已刪除資料列的詳細資料。這應該會針對指定的實體 ID 傳回錯誤。
您也可以使用 List 作業,並視需要提供已刪除表格列的篩選子句。這會傳回剩餘的資料列清單,也可能是空白清單。
舉例來說,如果您刪除實體 ID 為 3 的資料表列,然後為 List 作業指定篩選子句
employee_emailID="msmith@test.com"
或實體 ID 3,記錄中的回應參數就會顯示[]
。 -
您可以確認 MySQL 資料表中的資料列是否已刪除。如要在 MySQL 資料表中驗證這項資訊,請從 MySQL 用戶端執行下列指令:
系統會顯示下列資料表列:SELECT * FROM employee;
+-------------+---------------------+--------------------+------------------+ | employee_id | employee_first_name | employee_last_name | employee_emailID | +-------------+---------------------+--------------------+------------------+ | 1 | Peter | Dilliard | test-01@test.com | | 2 | Meaghan | Webb | test-02@test.com | +-------------+---------------------+--------------------+------------------+
後續步驟
請嘗試使用其他連接器建立整合。如需所有支援的連接器清單,請參閱「所有 Integration Connectors」。