通过 HTTP 请求执行 Azure 函数
HTTP 请求是大多数平台和设备上的常见操作。 无论是请求在字典中查找字词,还是获取当地天气情况,都会发送 HTTP 请求。 利用 Azure Functions,我们能创建一条在收到 HTTP 请求时执行的逻辑。
在本单元中,你将了解如何创建函数以及如何通过 HTTP 触发器调用此函数。 你还将了解到一些 HTTP 触发器可用的自定义选项。
什么是 HTTP 触发器?
HTTP 触发器是一种在收到 HTTP 请求时执行代码的触发器。 HTTP 触发器具有多种功能和自定义项,包括:
- 通过提供密钥实现授权访问。
- 限定哪些 HTTP 谓词受支持。
- 将数据返回给调用方。
- 通过查询字符串参数或请求正文接收数据。
- 支持使用 URL 路由模板修改函数 URL。
创建 HTTP 触发器时,需要提供触发器的名称并选择授权级别。
什么是 HTTP 触发器授权级别?
HTTP 触发器授权级别是一个标记,它表示传入的 HTTP 请求是否需要 API 密钥进行授权。
存在三种授权级别:
- 函数
- 匿名
- 管理员
“函数”和“管理员”级别基于“密钥”。 必须提供密钥进行授权,才可发送 HTTP 请求。 存在两种类型的密钥:“函数”和“主机”。 两种密钥的区别在于其作用域。 函数密钥特定于一个函数。 主机密钥适用于函数应用内的所有函数。 如果你的授权级别设置为“函数”,则你可使用函数密钥或主机密钥。 如果你的授权级别设置为“管理员”,则必须提供主机密钥。
重要
由于主机密钥提供对函数应用的提升访问权限,因此必须安全地传输和存储它们。
“匿名”级别是指无需授权。 本练习使用“匿名”授权级别。
如何创建 HTTP 触发器
如同计时器触发器一样,可通过 Azure 门户创建 HTTP 触发器。 在 Azure 函数中,从预定义的触发器类型列表中选择“HTTP 触发器”,然后,输入要执行的逻辑并进行任何自定义,例如限制某些 HTTP 谓词的使用。
有必要了解的一项设置是“请求参数名称”。 此设置是一个表示参数名称的字符串,该参数中包含传入的 HTTP 请求的相关信息。 参数名称默认为 req。
如何调用 HTTP 触发器
要调用 HTTP 触发器,需发送 HTTP 请求到函数的 URL。 若要获取此 URL,请转到函数的代码页并选择“获取函数 URL”链接。
获得函数 URL 后,即可发送 HTTP 请求。 如果函数接收数据,请记住,你可使用查询字符串参数或通过请求正文提供数据。
HTTP 触发器在收到对其函数 URL 的 HTTP 请求时执行。 HTTP 触发器支持接收数据、执行逻辑,以及将数据返回给调用方(可选)。