查看 Application Integration 支援的連接器

在 MySQL 資料庫上執行 CRUD 作業

本教學課程將說明如何透過範例整合功能連線至 MySQL 資料庫執行個體,並對 MySQL 資料庫資料表執行列出、取得、建立、更新和刪除作業。

事前準備

  • 確認您有權存取應用程式整合功能。
  • 選取 Google Cloud 專案並執行下列工作:

    • 將下列角色授予您要用來建立連線的服務帳戶:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
    • 啟用下列服務:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (連接器 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. 點按「Next」
  3. 在「連線詳細資料」部分中,輸入下列詳細資料:
    1. 在「Connector」清單中選取「MySQL」
    2. 在「Connector version」清單中,選取連接器版本。
    3. 在「Connection Name」欄位中,輸入連線執行個體的名稱。

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

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

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

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

    9. 使用 Proxy:勾選這個核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
      • Proxy Auth Scheme:選取要用於 Proxy 伺服器驗證的驗證類型。支援下列驗證類型:
        • Basic:基本 HTTP 驗證。
        • Digest:Digest HTTP 驗證。
      • Proxy User:用於驗證 Proxy 伺服器的使用者名稱。
      • Proxy Password:使用者密碼的 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「隧道」選項。如果網址是 HTTP 網址,則會使用「從不」選項。
        • 一律:連線一律啟用 SSL。
        • Never:未啟用 SSL 連線。
        • 通道:透過通道 Proxy 建立連線。Proxy 伺服器會開啟與遠端主機的連線,並透過 Proxy 來回傳送流量。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取目的地類型
          • 主機位址:指定目的地的主機名稱或 IP 位址。

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

    10. 選用:如要為連線新增標籤,請按一下「+ 新增標籤」
    11. 點按「Next」
    12. 在「目的地」專區中,輸入要連線的遠端主機 (後端系統) 詳細資料。
      • 從「Destination Type」清單中選取主機位址。
        • 從清單中選取「主機位址」,指定目的地的主機名稱或 IP 位址。
        • 如果您想建立與後端系統的私人連線,請從清單中選取「Endpoint attachment」,然後從「Endpoint Attachment」清單中選取所需的端點附件。

        如果您想建立與後端系統的公開連線,並提供額外的安全性,建議您為連線設定靜態外連 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址進入白名單。

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

      • 點按「Next」
    13. 在「Authentication」(驗證) 部分中,您可以提供憑證:
      • 在「Username」欄位中,輸入連線的 MySQL 使用者名稱。
      • 在「密碼」欄位中輸入 Secret Manager 密鑰,其中包含與 MySQL 使用者名稱相關聯的密碼。
        • 如果您先前建立的密鑰不在清單中,請選取「手動輸入密鑰」。在「Add a secret by resource ID」對話方塊中,複製並貼上 Secret Manager 的資源 ID。
          • 如要使用最新版本,請複製並貼上父項密鑰的資源 ID,格式如下: "projects/project-number/secrets/secret-name"
          • 如要選取特定版本,請複製並貼上該版本的資源 ID,格式如下:"projects/project-number/secrets/secret-name/versions/1"

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

        • 如果您尚未建立用於 MySQL 的密鑰,請按一下「Create New Secret」。在「Create Secret」對話方塊中輸入以下詳細資料:
          • 在「Name」欄位中輸入密鑰名稱。
          • 在「Secret value」(密鑰值) 欄位中輸入密鑰內容,或上傳包含密鑰的檔案。
          • 按一下「Create Secret」
      • 在「Secret version」清單中,從下拉式選單的可用版本清單中選取「Password」機密金鑰的版本。
      • 按一下「下一步」
  4. 在「查看」部分中,查看連線和驗證詳細資料。
  5. 按一下 [建立]。

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

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

  1. 建立新的整合
  2. 新增及設定 API 觸發條件
  3. 新增並設定「Connectors」任務
  4. 將 API 觸發條件元素連結至 Connectors 任務元素

建立新的整合功能

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

    ���往「應用程式整合」

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

新增及設定 API 觸發條件

建立新的整合後,您可以新增並設定整合的 API 觸發條件。步驟如下:

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

新增及設定「Connectors」(連接器) 任務

如要設定連接器工作,以列出 employee 資料表中的所有實體,請按照下列步驟操作:

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

    在隨即顯示的「Connector Task Editor」對話方塊中,按照下列步驟操作:

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

將 API 觸發條件元素連結至連接器任務元素

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

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

  1. 按一下 API 觸發條件元素底部的「分支」控制點。
  2. 在連接器任務元素頂端的「Join」控制點,拖曳並放置邊緣連線。

測試整合

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

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

在整合中設定連接器工作時,您可以選取下列任一操作:

  • 清單
  • 取得
  • 建立
  • 更新
  • 刪除

您已使用 List 作業查看 employee 資料表中的所有資料列。在本教學課程的後續章節中,您將使用 Get、Create、Update 和 Delete 作業,在 employee 資料表中新增、修改或移除資料列。

從資料表取得資料列

如果您知道要擷取的資料列實體 ID (或主鍵),請將該值做為整合作業中的 Get 作業輸入。Get 作業傳回的詳細資料與 List 作業傳回的詳細資料類似。不過,List 作業會擷取符合指定查詢的所有資料表資料列詳細資料,而 Get 作業只會擷取符合指定實體 ID 的資料表資料列詳細資料。

請注意,雖然清單作業預設會傳回資料表中的所有資料列,但 Get 作業需要實體 ID 做為搜尋參數。因此,如要使用 Get 作業,您必須知道要擷取的資料列實體 ID,或是提供實體 ID 的預設值。

如要取得指定資料列的詳細資料,請按照下列步驟設定先前建立的 Connectors 工作:

  1. 在整合服務編輯器中,按一下連接器任務元素,即可查看「Connectors」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「Connector Task Editor」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單中選取「取得」
    2. 按一下 [完成]
  3. 在「連接器」設定窗格中,展開「工作輸入」部分。接著,按照下列步驟操作:
    1. 按一下實體 ID。
    2. 在隨即顯示的「Edit variable」對話方塊中,選取「Input to Integration」
    3. 點選「儲存」
  4. 在整合服務編輯器的工具列中,按一下「Test」
  5. 選用步驟:變更「執行期限 (分鐘)」值。
  6. 輸入要擷取詳細資料的實體 ID。例如 2
  7. 按一下「測試整合」
  8. 整合完成後,測試整合窗格會顯示「Integration execution succeeded」訊息。如要查看記錄,請按一下「查看記錄」
  9. 展開「Response Parameters」部分。在「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 |
    +-------------+---------------------+--------------------+------------------+
        

在表格中新增資料列

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

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

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

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

  1. 在整合服務編輯器中,按一下連接器任務元素,即可查看「Connectors」設定窗格。
  2. 在「連接器」設定窗格中,按一下「設定連接器」。 在隨即顯示的「Connector Task Editor」對話方塊中,按照下列步驟操作:
    1. 在「設定實體/動作」部分,從「作業」清單中選取「更新」
    2. 按一下 [完成]
  3. 在「連接器」設定窗格中,展開「工作輸入」部分。接著,請按照下列步驟操作:
    1. 按一下「Filter clause」
    2. 在隨即顯示的「Edit variable」對話方塊中,選取「Input to Integration」
    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. 整合完成後,「Test Integration」窗格會顯示「Integration execution succeeded」訊息。

    如要驗證實體是否已更新,請使用 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  |
    +-------------+---------------------+--------------------+------------------+
          

刪除資料表中的資料列

您可以使用「刪除」作業刪除一或多個資料表列。提供實體 ID,或使用篩選子句指定要刪除的資料列。請注意,如果您使用篩選器子句指定要刪除的資料列條件,系統可能會刪除符合指定篩選器的多個資料列。如要只刪除一列資料,請使用實體 ID。

如要使用實體 ID 刪除資料表資料列,請按照下列步驟設定先前建立的「連接器」工作:

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

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

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

    舉例來說,如果您刪除實體 ID 3 的資料表資料列,然後指定清單作業的篩選子句 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」。