練習 - 建立以 Webhook 觸發的 Azure 函式

已完成

在這第一個練習中,您將會建立程式碼以剖析 Azure Functions 中的 GitHub Wiki 事件訊息。 您將會設定函式以在收到 Webhook 訊息時執行。

建立函數應用程式

  1. 使用您的 MS Learn 帳戶登入 Azure 入口網站

  2. 選取 [建立資源]。 [建立資源] 窗格隨即會顯示。

  3. 在左側功能表窗格的 [類別] 下,選取 [計算],接著在 [搜尋服務和市集] 搜尋方塊中,搜尋並選取 [函數應用程式]。 隨即出現 [函數應用程式] 窗格。

  4. 選取建立。 [建立函數應用程式] 頁面隨即出現。

  5. 在 [基本] 索引標籤上,為每個設定輸入下列值。

    注意

    [函數應用程式名稱] 必須是唯一的。 建議您使用類似 <您的姓名或縮寫>triggerapp 的格式。 您在此課程中任何位置看到 <your-functionapp-name>,就使用此名稱。

    設定
    專案詳細資料
    訂用帳戶 指引訂用帳戶
    資源群組 從下拉式清單中,選取沙箱資源群組 [沙箱資源群組名稱]
    執行個體詳細資料
    函數應用程式名稱 <your-functionapp-name>
    發佈 代碼
    執行階段堆疊 Node.js
    版本 接受預設
    區域 選擇離您最近的位置,該位置同時也是其中一個允許的「沙箱區域」
    作業系統
    作業系統 Windows
    裝載
    主控選項和方案 使用量 (無伺服器)

    免費的沙箱可讓您在 Azure 全球區域的一部分區域建立資源。 建立資源後,從下列清單選取區域:

    • 美國西部 2
    • 美國中南部
    • 美國中部
    • 美國東部
    • 西歐
    • 東南亞
    • 日本東部
    • 巴西南部
    • 澳大利亞東南部
    • 印度中部
  6. 選取 [下一步:儲存體] 以開啟 [儲存體] 索引標籤。為每個設定輸入下列值。

    設定
    儲存體
    儲存體帳戶 (新增),並接受預設名稱。
  7. 選取 [檢閱 + 建立]。

  8. Azure 會驗證您輸入的內容。 驗證之後,請選取 [建立]

建立 Webhook 觸發函式

  1. 當部署完成時,請選取 [前往資源]。 [函數應用程式] 的 [概觀] 窗格隨即出現。

  2. [函式] 底下,選取 [在 Azure 入口網站 中建立]

  3. [建立函式] 窗格隨即出現。

  4. 在 [選取範本] 下,選取 [HTTP 觸發程序],然後選取 [建立]。 [函式] 的 [HttpTrigger1] 窗格隨即出現,並顯示新觸發程序的基本內容。

  5. 在左側功能表窗格中,於 [開發人員] 底下,選取 [程式碼 + 測試]。 [函式] 的 [程式碼 + 測試] 窗格隨即出現,顯示從範本建立的 JavaScript 檔案。 這看起來應該像下列程式碼。

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    index.js 檔案是入口網站所產生的 JavaScript 函式。 此要求會讀取作為查詢字串或作為要求本文一部分傳入的名稱,並回應 "Hello" 訊息。

  6. 位於程式碼上面的是路徑,其中包含顯示檔案名稱的下拉式清單。 在下拉式清單中,選取 [function.json]。 範本所建立的 JSON 檔案隨即出現。 這看起來應該像下列程式碼。

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    JSON 繫結指定導向函數應用程式 URL 的 HTTP GET 和 POST 要求會觸發函式。

測試觸發您的函式

  1. 在頂端功能表列中,選取 [Get function URL] (取得函式 URL)

  2. 在 [取得函式 URL] 對話方塊中,選取 [金鑰] 下拉式清單中 [函式金鑰] 下的 [預設]。 在 [URL] 欄位中,選取 [複製到剪貼簿] 圖示。 URL 看起來會像這樣:

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. 將此 URL 貼到瀏覽器中,並在 URL 結尾附加查詢字串參數: &name=yourname>,例如 &name=<Dick 和 Jane。

  4. 若要執行要求,請按下 Enter。 函式所傳回的回應會出現在瀏覽器中。 回應會看起來像這樣:

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

恭喜! 您現在已擁有可由 URL 觸發的函式。