查看 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 用戶端的系統中執行下列指令:
  1. 連線至 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 伺服器的使用者密碼。
  2. 建立 MySQL 資料庫:
    CREATE DATABASE tutorialDB;
  3. 建立資料表:
    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)
      ); 
  4. 在您建立的 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");
    
  5. 確認資料表已建立並新增資料列:
    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 資料庫的新連線:

  1. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  2. 在「位置」部分中,選擇連線位置。
    1. 在「Region」(區域) 清單中,選取要建立連線的區域。

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

    2. 點選「下一步」
  3. 在「連線詳細資料」部分中,輸入下列詳細資料:
    1. 在「連接器」清單中選取「MySQL」
    2. 從「Connector version」(連接器版本) 清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

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

      • 請使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 名稱開頭必須是英文字母,結尾則須為英文字母或數字。
      • 名稱不得超過 49 個字元。
    4. 選用:在「說明」欄位中,新增連線執行個體的說明。
    5. 選用:啟用 Cloud Logging
    6. 從「Service Account」(服務帳戶) 清單中,選取具備必要角色的服務帳戶。
    7. 在「Database name」(資料庫名稱) 欄位中,輸入 MySQL 資料庫的名稱。
    8. 視需要設定「連線節點設定」

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

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

    9. (選用) 在「進階設定」部分,選取「使用 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 位址。

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

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

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

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

      • 點選「下一步」
    13. 在「驗證」部分,您可以提供憑證:
      • 在「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"

          如要新增密鑰,請按一下「新增密鑰」

        • 如果您尚未建立要搭配 MySQL 使用的密鑰,請按一下「Create New Secret」(建立新密鑰)。在「建立密鑰」對話方塊中,輸入下列詳細資料:
          • 在「Name」(名稱) 欄位中輸入密鑰名稱。
          • 在「Secret value」(密鑰值) 欄位中輸入密鑰內容,或上傳含有密鑰的檔案。
          • 按一下「Create Secret」(建立密鑰)
      • 從「密碼版本」清單中,從下拉式選單的可用版本清單中選取「密碼」密碼的所需版本。
      • 按一下「下一步」
  4. 在「檢閱」部分中,檢查連線和驗證詳細資料。
  5. 點選「建立」

設定整合功能以使用 MySQL 連線

如要在整合中使用您建立的 MySQL 連線,請執行下列工作:

  1. 建立新的整合
  2. 新增及設定 API 觸發條件
  3. 新增及設定「Connectors」(連接器) 工作
  4. 將 API 觸發條件元素連結至連線器工作元素

建立新的整合功能

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往「Application Integration」

  2. 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
  3. 按一下「建立整合」
  4. 在「整合名稱」欄位中,輸入整合名稱。
  5. 選用:在「說明」欄位中輸入說明。
  6. 從「Region」(區域) 清單中,選取整合作業的區域。 「區域」清單只會列出 Google Cloud 專案中佈建的區域。如要佈建新區域,請按一下「啟用區域」。如要瞭解如何佈建新區域,請參閱「啟用新區域」。
  7. 按一下「建立」開啟整合編輯器。

新增及設定 API 觸發條件

建立新整合後,即可在整合中新增及設定 API 觸發條件。步驟如下:

  1. 在整合服務編輯器的工具列中,按一下「觸發條件」,即可查看可用觸發條件的清單。
  2. 將「API」元素拖曳至整合服務編輯器。

新增及設定連接器工作

如要設定「連線器」工作,列出 employee 表格中的所有實體,請按照下列步驟操作:

  1. 在整合服務編輯器的工具列中,按一下「Tasks」(工作),即可顯示可用工作清單。
  2. 將「連線器」元素拖曳至整合服務編輯器。
  3. 按一下設計工具中的「Connectors」工作元素,開啟「Connectors」面板。
  4. 在「連接器」面板中,按一下「設定連接器」

    在隨即顯示的「連線器工作編輯器」對話方塊中,按照下列步驟操作:

    1. 從「Region」(區域) 清單中,選取您建立 MySQL 連線的連線區域。
    2. 從「連線」清單中,選取您建立的 MySQL 連線,然後點選「下一步」
    3. 在「類型」部分選取「實體」,然後按一下「下一步」
    4. 在「實體」清單中,選取「員工」
    5. 從「Operation」(作業) 清單中選取「List」(列出),然後按一下「Next」(下一步)
    6. 如要完成連線設定並關閉對話方塊,請按一下「完成」

將「API 觸發條件」元素連結至「連結器」工作元素

接著新增邊緣連線,將 API 觸發條件連結至「Connectors」工作。邊緣連線是指整合中任意兩個元素之間的連線。如要瞭解邊緣和邊緣條件,請參閱「邊緣」。

如要新增邊緣連線,請按照下列步驟操作:

  1. 在「API Trigger」(API 觸發條件) 元素底部,按一下「Fork」(分叉) 控制點。
  2. 將邊緣連線拖曳至連接器工作元素頂端的「Join」(彙整) 控制點。

測試整合功能

如要測試整合功能,請按照下列步驟操作:

  1. 在整合服務編輯器的工具列中,按一下「Test」(測試)
  2. 選用:變更「執行期限 (分鐘)」值,然後按一下「測試整合」
  3. 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」
  4. 展開「回應參數」部分。在「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」工作:

  1. 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單中選取「取得」
    2. 按一下 [完成]
  3. 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
    1. 按一下實體 ID。
    2. 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
    3. 點選「儲存」
  4. 在整合服務編輯器的工具列中,按一下「Test」(測試)
  5. 選用:變更「執行期限 (分鐘)」值。
  6. 輸入要擷取詳細資料的實體 ID。例如 2
  7. 按一下「測試整合」
  8. 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」
  9. 展開「回應參數」部分。在「Connector output payload」(連接器輸出內容酬載) 中,會顯示以下輸出內容:
    [ {
        "employee_id": 2.0,
        "employee_first_name": "Meaghan",
        "employee_last_name": "Webb",
        "employee_emailID": "test-02@test.com"
      } ]
  10. 您可以確認這裡顯示的資訊是否與 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 |
    +-------------+---------------------+--------------------+------------------+
        

在表格中新增資料列

您可以使用「建立」作業在資料表中新增資料列。使用「建立」作業時,您必須在連接器輸入酬載中提供實體的所有值。

如要使用「建立」作業新增資料列,請按照下列步驟設定先前建立的「連線器」工作:

  1. 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單選取「建立」
    2. 按一下 [完成]
  3. 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
    1. 按一下實體 ID。
    2. 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
    3. 按一下 [儲存]
  4. 在整合服務編輯器的工具列中,按一下「Test」(測試)
  5. 選用:變更「執行期限 (分鐘)」值。
  6. 輸入要建立的實體詳細資料。舉例來說,如要在 employee 資料表中新增員工,請輸入下列 JSON:
    {
      "employee_first_name": "Mary",
      "employee_last_name": "Smith",
      "employee_emailID": "test-03@test.com"
    }
  7. 按一下「測試整合」
  8. 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。如要查看記錄,請按一下「查看記錄」
  9. 展開「回應參數」部分。在「Connector output payload」(連接器輸出內容酬載) 中,會顯示以下輸出內容:
    {
      "employee_first_name": "Mary",
      "employee_last_name": "Smith",
      "employee_emailID": "test-03@test.com"
    }
    在「連線器輸出內容有效負載」下方,實體 ID 會顯示為輸出內容:
    {
      "employee_id": 3.0
    }
  10. 您可以確認 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 子句參數,傳遞要用來篩選資料表列的值。如果您想根據特定搜尋條件,在多個資料列中進行相同變更,這個方法就非常實用。

如要更新資料表列,請按照下列步驟設定先前建立的「連線」工作:

  1. 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單中選取「更新」
    2. 按一下 [完成]
  3. 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
    1. 按一下「篩選子句」
    2. 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
    3. 按一下 [儲存]
  4. 在整合服務編輯器的工具列中,按一下「Test」(測試)
  5. 選用:變更「執行期限 (分鐘)」值。
  6. 輸入要篩選的條件,舉例來說,如要尋找電子郵件 ID 為 test-03@test.com 的員工,請輸入:
    employee_emailID="test-03@test.com"
  7. 輸入要更新的值。舉例來說,如要更新 employee 表格中所有員工的電子郵件 ID,且目前的電子郵件 ID 符合篩選子句 test-03@test.com,請輸入下列 JSON:
    {
      "employee_emailID": "msmith@test.com"
    }
  8. 按一下「測試整合」
  9. 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。

    如要驗證實體是否已更新,請使用 Get 作業取得指定實體的詳細資料。

  10. 您可以驗證 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 刪除資料表列,請按照下列步驟設定先前建立的「連線器」工作:

  1. 在整合服務編輯器中,按一下連結器工作元素,即可查看「連結器」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「連接器工作編輯器」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單中選取「取得」
    2. 按一下 [完成]
  3. 在「連線器」設定窗格中,展開「工作輸入」部分。接著,請執行下列操作:
    1. 按一下實體 ID。
    2. 在隨即顯示的「編輯變數」對話方塊中,選取「輸入至整合」
    3. 按一下 [儲存]
  4. 在整合服務編輯器的工具列中,按一下「Test」(測試)
  5. 選用:變更「執行期限 (分鐘)」值。
  6. 輸入要擷取詳細資料的實體 ID。例如 2
  7. 按一下「測試整合」
  8. 整合作業成功完成後,「測試整合」窗格會顯示「整合執行成功」訊息。

    如要驗證資料列是否已刪除,請使用 Get 作業取得已刪除資料列的詳細資料。這應該會針對指定的實體 ID 傳回錯誤。

    您也可以使用 List 作業,並視需要提供已刪除表格列的篩選子句。這會傳回剩餘的資料列清單,也可能是空白清單。

    舉例來說,如果您刪除實體 ID 為 3 的資料表列,然後為 List 作業指定篩選子句 employee_emailID="msmith@test.com" 或實體 ID 3,記錄中的回應參數就會顯示 []

  9. 您可以確認 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」。