有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
您可以通过编写云函数 SCF 来实现 Web 后端服务,然后使用负载均衡 CLB 绑定云函数 SCF 并对外提供服务。

背景信息

云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。在您创建完云函数后,可以通过创建 CLB 触发器将云函数与事件进行关联。CLB 触发器会将请求内容以参数形式传递给云函数,并将云函数返回作为响应返回给请求方。

使用场景

限制说明

仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、孟买、东京、硅谷地域支持绑定 SCF。
仅标准账户类型支持绑定 SCF,传统账户类型不支持。建议升级为标准账户类型,详情可参见 账户类型升级说明
传统型负载均衡不支持绑定 SCF。
基础网络类型不支持绑定 SCF。
CLB 默认支持绑定同地域下的所有 SCF,可支持跨 VPC 绑定 SCF,不支持跨地域绑定。
目前仅 IPv4、IPv6 NAT64 版本的负载均衡支持绑定 SCF,IPv6 版本的暂不支持。
仅七层(HTTP、HTTPS)监听器支持绑定 SCF,四层(TCP、UDP、TCP SSL)监听器和七层 QUIC 监听器不支持。
CLB 绑定 SCF 仅支持绑定“Event 函数”类型的云函数。

前提条件

操作步骤





步骤一:创建云函数

1. 登录 Serverless 控制台,单击左侧导航栏的函数服务
2. 在函数服务页面上方选择期望创建函数的地域和命名空间,并单击新建,进入函数创建流程。如下图所示:


3. 在“新建函数”页面,您可以根据实际需求选择创建函数的方式。更多创建细节,请参见 创建函数
模板创建:通过填写必选的函数名称,使用函数模板中的配置来完成函数的创建。
从头开始:通过填写必填的函数名称、运行环境来完成函数的创建。
使用容器镜像:基于容器镜像来创建函数。详情见 使用镜像部署函数
4. 本文以从头开始为例,配置函数基础信息。
函数类型:支持选择事件函数Web 函数
事件函数:接收云 API、多种触发器的 JSON 格式事件触发函数执行。详情见 事件函数概述
Web 函数:直接接收 HTTP 请求触发函数执行,适用于 Web 服务场景。详情见 Web 函数概述
函数名称:函数名称默认填充,可根据需要自行修改。
地域:地域选择与 CLB 实例相同的地域。
运行环境:运行环境选择“Python3.6”,可根据需要自行修改。
时区:云函数内默认使用 UTC 时间,您可以通过配置环境变量 TZ 修改。在您选择时区后,将自动添加对应时区的 TZ 环境变量。
5. 函数代码输入框中输入如下代码。
注意:
CLB 绑定 SCF 时,需按照特定响应集成格式返回,详情请参见 集成响应
# -*- coding: utf8 -*-
import json
def main_handler(event, context):

return {
"isBase64Encoded": False,
"statusCode": 200,
"headers": {"Content-Type":"text/html"},
"body": "<html><body><h1>Hello CLB</h1></body></html>"
}
6. 在日志配置中,选择是否开启日志投递。如下图所示:

日志投递默认不开启。启用时,可将函数运行日志实时投递到指定位置。详情见 日志投递配置
注意:
镜像部署函数和 Web 函数暂不支持日志格式选择。
7. 在高级配置中,您可以根据实际需求对函数进行环境配置、权限配置、层配置、网络配置等,详情见 函数相关配置
8. 在触发器配置中,选择是否创建触发器。如果您选择“自定义创建”,详情见 触发器概述
9. 单击完成。您可以在 函数服务 中查看已创建的函数。

步骤二:部署云函数

1. 函数服务页面的列表中,单击刚才创建的函数名。
2. 函数管理页面,单击函数代码页签,在页签底部单击部署


步骤三:绑定云函数

1. 登录 负载均衡控制台,在左侧导航栏单击实例管理
2. 实例管理页面的负载均衡页签中,单击目标实例右侧操作列的配置监听器
3. 在 HTTP/HTTPS 监听器列表中,选择需要绑定云函数 SCF 的监听器,分别单击目标监听器左侧的 + 和展开的域名左侧的 +,然后选中展开的 URL 路径,单击绑定



4. 在弹出的绑定后端服务对话框中,目标类型选择云函数 SCF,选择命名空间、函数名和版本/别名,设置权重后,单击确认



5. 返回监听器管理页签,在转发规则详情区域显示负载均衡已绑定的云函数,即已创建 CLB 触发器。


说明:
您还可以选择在 SCF 控制台创建 CLB 触发器,从而将负载均衡 CLB 与云函数 SCF 绑定,详情请参见 创建触发器

结果验证

1. 若使用公网 CLB 绑定云函数,且 IP 模式为固定 IP,可以通过 CLB 实例的 VIP 和端口访问云函数。若显示 Hello CLB,则说明云函数已成功部署。



2. 若使用公网 CLB 绑定云函数,且 IP 模式为动态 IP,可以通过 CLB 实例的域名和端口访问云函数。若显示 Hello CLB,则说明云函数已成功部署。



3. 若使用内网 CLB 绑定云函数,可以通过与 CLB 实例同一 VPC 的云服务器访问云函数。若显示 Hello CLB,则说明云函数已成功部署。




相关文档