简介
函数 URL 是函数的专用 HTTP(S) 端点。为函数配置函数 URL 后,可以通过 Web 浏览器、curl、Postman 或任何 HTTP 客户端通过其 HTTP(S) 端点调用函数。
您可以通过 SCF 控制台或 SCF API/CLI 创建和配置函数 URL。创建函数 URL 后,其 URL 端点将永久不变。函数 URL 的端点格式如下:
公网: https://<app-id>-<url-id>-<region>.scf.tencentcs.com内网: https://<app-id>-<url-id>-<region>-in.scf.tencentcs.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"},"httpMethod":"POST","path":"/","queryString":{"a":"1","b":"2"}}
响应参数
当函数返回响应时,函数会解析响应并将其转换为 HTTP 响应,标准响应负载:
{"statusCode": 201,"headers": {"Content-Type": "application/json","My-Custom-Header": "Custom Value"},"body": "{ \\"message\\": \\"Hello, world!\\" }"}
函数会为您推断响应格式。如果您的函数返回有效的 JSON 并且没有返回 statusCode,函数会假设 statusCode 为200,content-type 为 application/json,body 是函数响应。
函数响应标准响应参数格式如下:
函数输出 | HTTP 响应(客户端看到的内容) |
|
|
|
|
|
|
Web 函数
URL 在接受到 HTTP 请求后,该函数将会被触发运行,此时 URL 会将 HTTP 请求直接透转,不再做 event 类型格式转换,同时请求响应也直接透转。