云函数 函数 URL

函数 URL 是函数的专用 HTTP(S) 端点。为函数配置函数 URL 后,可以通过 Web 浏览器、curl、Postman 或任何 HTTP 客户端通过其 HTTP(S) 端点调用函数。

相关产品
云函数 产品页,含版本规格、价格与购买入口。

一、简介

你可以通过 SCF 控制台或 SCF API/CLI 创建和配置函数 URL。创建函数 URL 后,其 URL 端点将永久不变。函数 URL 的端点格式如下:

公网: https://<app-id>-<url-id>.<region>.tencentscf.com内网: https://<app-id>-<url-id>.in.<region>.tencentscf.com

函数 URL 和触发器同级存在,适用于事件函数和 Web 函数。你可以在启用函数 URL 的同时配置 API 网关等触发器。

函数 URL 和函数的版本、别名一对一绑定,你需要手动为每个版本和别名开启或关闭函数 URL。默认情况下,函数 URL 是关闭的。

注意:说明:

注意:如需生成 WSS 地址,请在函数配置中启用 WebSocket 支持。

二、请求参数

URL 在接受到请求后,函数将会被触发运行,同时 URL 会将请求的相关信息以 event 入参的形式发送给被触发的函数。请求的相关信息包含了例如具体接受到请求的服务和 API 规则、请求的实际路径、方法、请求的 path、headers、query 等内容:

// Event 详细信息示例【兼容apigw协议,去掉headerParameters、isBase64Encoded、pathParameters、queryStringParameters、requestContext 相关字段】:{ "body":"{\\"test\\":\\"hello world\\"}", "headers":{ "accept":"*/*", "accept-encoding":"gzip, deflate, br", "cache-control":"no-cache", "connection":"keep-alive", "content-length":"17", "x-scf-remote-addr":"111.206.96.145"//此字段为客户端的请求IP }, "httpMethod":"POST", "path":"/", "queryString":{ "a":"1", "b":"2" }}

三、响应参数

当函数返回响应时,函数会解析响应并将其转换为 HTTP 响应,标准响应负载:

{ "statusCode": 200, "headers": { "Content-Type": "application/json", "My-Custom-Header": "Custom Value" }, "body": "{ \\"message\\": \\"Hello, world!\\" }"}

函数会为你推断响应格式。如果你的函数返回有效的 JSON 并且没有返回 statusCode,函数会假设 statusCode 为200,content-type 为 application/json,body 是函数响应。

函数响应标准响应参数格式如下:

函数输出 HTTP 响应(客户端看到的内容)
"Hello, world!" HTTP/2 200date: Wed, 08 Sep 2021 18:02:24 GMTcontent-type: application/jsoncontent-length: 15"Hello, world!"
{ "message": "Hello, world!"} HTTP/2 200date: Wed, 08 Sep 2021 18:02:24 GMTcontent-type: application/jsoncontent-length: 34{ "message": "Hello, world!"}
{ "statusCode": 200, "headers": { "Content-Type": "application/json", "My-Custom-Header": "Custom Value" }, "body": JSON.stringify({ "message": "Hello, world!" })} HTTP/2 200date: Wed, 08 Sep 2021 18:02:24 GMTcontent-type: application/jsoncontent-length: 27my-custom-header: Custom Value{ "message": "Hello, world!"}

四、Web 函数

URL 在接受到 HTTP 请求后,该函数将会被触发运行,此时 URL 会将 HTTP 请求直接透转,不再做 event 类型格式转换,同时请求响应也直接透转。

赞 (0)
上一篇 4天前
下一篇 4天前