练习 - 创建由 Webhook 触发的 Azure 函数
在本第一个练习中,你将创建代码来分析 Azure Functions 中的 GitHub Wiki 事件消息。 将函数配置为在收到 Webhook 消息时运行。
创建函数应用
使用 Microsoft Learn 帐户登录到 Azure 门户 。
选择“ 创建资源”。 此时会显示“创建资源”窗格。
在左侧菜单窗格中的“ 类别”下,选择“ 计算”,然后在 “搜索服务和市场 搜索”框中搜索并选择 “Function App”。 此时将显示“函数应用”窗格。 选择 创建。
选择“消耗”,然后选择“选择”按钮。 此时将显示“创建函数应用”窗格。
在“基本信息”选项卡上,为每个设置输入以下值。
注释
函数应用名称必须是唯一的。 建议使用类似于<你的姓名或缩写>triggerapp 的名称。 在本练习中每当看到 <your-functionapp-name> 时,使用此名称。
设置 价值 项目详细信息 订阅 礼宾服务订阅 资源组 从下拉列表中,选择沙盒资源组 [沙盒资源组名称] 。实例详细信息 函数应用名称 <你的函数应用名称> 操作系统 Windows操作系统 运行时堆栈 Node.js 版本 接受默认值 区域 选择离你最近的位置,这也是允许的 沙盒区域之一。 使用免费沙盒,可以在部分 Azure 全球区域中创建资源。 创建资源时,请从下面的列表中选择一个区域:
- 西部美国 2
- 美国中南部
- 美国中部
- 美国东部
- 西欧
- 东南亚
- 日本东部
- 巴西南部
- 澳大利亚东南
- 印度中部
选择“ 下一步:存储 ”以打开 “存储 ”选项卡。为每个设置输入以下值。
设置 价值 存储 存储帐户 (新建),并接受默认名称。 选择“查看 + 创建”。
Azure 会验证你的条目。 验证后,选择“ 创建”。
创建由 Webhook 触发的函数
完成部署后,选择“转到资源”。 ‘概述’窗格会显示在您的函数应用中。
在中心窗格中的“Functions”下,选择“在 Azure 门户中创建”下的“创建函数”。
此时将显示“创建函数”窗格。
在 “选择模板”下,选择 “HTTP 触发器”,然后选择“ 下一步”。
接受默认函数名称和授权级别。 选择 创建。 此时将显示函数的“HttpTrigger1”窗格,其中会显示新触发器的基本信息。
选择窗口顶部的 代码 + 测试。 函数将显示 “代码 + 测试 ” 窗格,其中显示了从模板创建的 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”消息响应。
代码上方是包含显示文件名的下拉列表的路径。 在下拉列表中,选择 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 请求触发。
测试触发函数
在顶部菜单栏中,选择“ 获取函数 URL”。
在“获取函数 URL”对话框中,选择默认(函数密钥)字段中的“复制到剪贴板”图标。 URL 如下所示:
https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
将此 URL 粘贴到浏览器中,并在 URL 末尾追加查询字符串参数:&name=<yourname>;例如; &name=Dick 和 Jane。
若要运行请求,请按 Enter。 函数返回的响应将显示在浏览器中。 它看起来如下所示:
Hello Dick and Jane. This HTTP triggered function executed successfully.
祝贺! 现在,你有一个可由 URL 触发的函数。