使用 HTTP 要求執行 Azure 函數

已完成

HTTP 要求在大部分的平台和裝置上都是常見的作業。 不論是在字典中查閱單字的要求,或是取得本地天氣的要求,我們隨時都在傳送 HTTP 要求。 Azure Functions 可讓我們快速地建立一種邏輯,以在收到 HTTP 要求時執行。

在本單元中,您將了解如何使用 HTTP 觸發程序建立和叫用函數。 您也將探討一些可供 HTTP 觸發程序使用的自訂選項。

什麼是 HTTP 觸發程序?

HTTP 觸發程序是會在收到 HTTP 要求時執行程式碼的觸發程序。 HTTP 觸發程序有許多功能和自訂項目,包括:

  • 藉由提供索引鍵提供授權的存取。
  • 限制所支援的 HTTP 動詞命令。
  • 將資料傳回給呼叫者。
  • 透過查詢字串參數或透過要求本文接收資料。
  • 支援修改函數 URL 的 URL 路由範本。

當您建立 HTTP 觸發程序時,您必須提供觸發程序的名稱,然後選擇授權層級。

什麼是 HTTP 觸發程序授權層級?

HTTP 觸發程序授權層級是一個旗標,指出傳入的 HTTP 要求是否需要 API 金鑰以進行授權。

有三種授權層級:

  1. 函式
  2. 匿名
  3. 管理

函式管理員層級以「金鑰」為基礎。 若要傳送 HTTP 要求,您必須提供金鑰進行授權。 金鑰類型有兩種:「函數」和「主機」。 兩個金鑰之間的差異在於範圍。 函式金鑰為函式所特有。 主機金鑰適用於整個函數應用程式內的所有函式。 如果您的授權層級設定為 [函數],您可以使用「函數」或「主機」金鑰。 如果您的授權層級設定為 [管理員],您必須提供「主機」金鑰。

重要

因為主機金鑰可提供提升對函數應用程式的存取權,因此您必須安全地傳輸和儲存它們。

匿名層級表示不需要授權。 此練習使用匿名授權層級。

如何建立 HTTP 觸發程序

如同計時器觸發程序,您可以透過 Azure 入口網站建立 HTTP 觸發程序。 在您的 Azure 函式中,從預先定義的觸發程序類型清單中選取 [HTTP 觸發程序],然後輸入您想要執行的邏輯,並進行任何自訂,例如限制使用特定的 HTTP 動詞命令。

務必了解的一個設定是 [要求參數名稱]。 此設定是代表參數名稱的字串,該參數包含傳入 HTTP 要求的相關資訊。 根據預設,參數的名稱是 req

如何叫用 HTTP 觸發程序

若要叫用 HTTP 觸發程序,請傳送 HTTP 要求至函式的 URL。 若要取得此 URL,請移至函式的程式碼頁面,然後選取 [取得函數 URL] 連結。

Screenshot of the Azure portal showing a Functions App pane with the app's Get function URL button highlighted.

擁有函式的 URL 之後,您可以傳送 HTTP 要求。 如果您的函數收到資料,請記住,您可以使用查詢字串參數,或是透過要求本文提供資料。

HTTP 觸發程序會在收到對其函數 URL 的 HTTP 要求時執行。 HTTP 觸發程序可讓您接收資料、執行邏輯,並選擇性地將資料傳回給呼叫者。