练习 - 创建由 Webhook 触发的 Azure 函数

已完成

在第一个练习中,你将创建代码以便在 Azure Functions 中解析 GitHub Wiki 事件消息。 要将函数配置为在收到 Webhook 消息时运行。

创建函数应用

  1. 使用 MS Learn 帐户登录 Azure 门户

  2. 选择“创建资源”。 此时会显示“创建资源”窗格。

  3. 在左侧菜单窗格的“类别”下,选择“计算”,然后在“搜索服务和市场”搜索框中,搜索并选择“函数应用”。 此时将显示“函数应用”窗格。

  4. 选择“创建”。 此时将显示“创建函数应用”窗格。

  5. 在“基本信息”选项卡上,为每个设置输入以下值。

    注意

    函数应用名称必须是唯一的。 建议使用类似 <姓名或姓名缩写>triggerapp 的名称。 在本练习中看见 <your-function-app-name> 时则使用此名称。

    设置
    项目详细信息
    订阅 Concierge 订阅
    资源组 从下拉列表中,选择沙盒资源组 [沙盒资源组名称]
    实例详细信息
    函数应用名称 <your-functionapp-name>
    发布 代码
    运行时堆栈 Node.js
    版本 接受默认值
    区域 选择最近的同时属于所允许沙盒区域的位置。
    操作系统
    操作系统 Windows
    承载
    托管选项和计划 消耗(无服务器)

    使用免费沙盒,可以在部分 Azure 全球区域中创建资源。 创建资源时,请从下面的列表中选择一个区域:

    • 美国西部 2
    • 美国中南部
    • 美国中部
    • 美国东部
    • 西欧
    • 东南亚
    • Japan East
    • Brazil South
    • Australia Southeast
    • 印度中部
  6. 选择“下一页:用于打开“存储”选项卡的存储为每个设置输入以下值。

    设置
    存储
    存储帐户 (新建),并接受默认名称。
  7. 选择“查看 + 创建” 。

  8. Azure 会验证你的条目。 验证后,选择“创建”。

创建由 Webhook 触发的函数

  1. 完成部署后,选择“转到资源”。 此时将显示函数应用的“概述”窗格。

  2. 在“Functions”下,选择“在 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. 在顶部菜单栏中,选择“获取函数 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 触发的函数。