上云无忧 > 文档中心 > 腾讯云云函数使用教程 - 流量路由配置
云函数 SCF
腾讯云云函数使用教程 - 流量路由配置

文档简介:
操作场景: 云函数(Serverless Cloud Function,SCF)支持流量路由设置。通过该设置,您可便捷控制函数版本在实际使用场合或环境中的灰度上线或回滚流程,避免一次性上线可能带来的风险。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

云函数(Serverless Cloud Function,SCF)支持流量路由设置。通过该设置,您可便捷控制函数版本在实际使用场合或环境中的灰度上线或回滚流程,避免一次性上线可能带来的风险。
在创建别名或进行流量配置调整时,可通过控制台控制流量指向两个函数版本,实现流量在版本间按照一定的规则路由。目前支持按权重随机路由按规则路由两种路由方案:
当您希望任意两个版本按设定的百分比权重进行随机路由时,可进行 按权重随机路由 操作。
当您想将包含有某个特定内容的请求路由到某一个版本时,可进行 按规则路由 操作。

操作步骤

按权重随机路由

本文以在创建别名时配置为例。完成创建后,流量将按设定的百分比在两个版本间随机路由。步骤如下:
1. 参考 新建别名 步骤,进入“创建别名”窗口。
2. 在“创建别名”窗口中,参考以下信息进行流量路由配置。如下图所示:

主要参数信息如下:
路由方法:选择按权重路由
版本权重设置:可通过下拉列表选择两个版本,并进行百分比权重配置。
3. 单击提交即可完成设置。

按规则路由

使用按规则配置路由时,目前的规则语法包括以下三部分:

匹配 Key

匹配时的取值位置,即通过定位来取值以判断是否命中。 Key 目前支持的写法为 invoke.headers.[userKey],其中 [userKey] 部分代表可修改内容。此写法含义为通过匹配 invoke 接口调用时,HTTP 请求 headers 中的 userKey 部分来进行匹配。

匹配方法

匹配时通过方法与表达式进行对比,目前支持的匹配方法有 exactrange
exact:精确匹配,在使用 exact 方法时,匹配表达式需为字符串。通过匹配 key 读取到的值与表达式精确相等时,即为命中规则。
range:范围匹配,在使用 range 方法时,匹配表达式需为 (a,b) 或 [a,b] 的写法,其中 a,b 要求为整数。通过匹配 key 读取到的值为整数,且在表达式定义的区间中时,即为命中规则。

匹配表达式

匹配设定值即为命中,表达式写法可参见 匹配方法 说明。
您可按照以下步骤,配置按规则路由:
1. 参考 新建别名 步骤,进入“创建别名”窗口。
2. 在“创建别名”窗口中,参考以下信息进行流量路由配置,并单击提交即可完成配置。如下图所示:

主要参数信息如下:
路由方法:选择按规则路由
版本规则设置:请结合以下示例,按需配置:
例如,您有两个版本(版本2和版本1),并且期望版本2匹配规则设置为 invoke.headers.User exact Bob,版本1设置为未命中。可参照下图进行设置:

根据此配置,云函数平台在通过 invoke 接口调用函数别名时,若将 routingKey 参数设置为{"User":"Bob"},则此次执行将使用版本2的代码和配置。若未设置 routingKey 参数或 routingKey 为其他值,则此次执行将使用版本1的代码和配置。
例如,您有两个版本(版本3和版本2),并且期望版本3匹配规则为 invoke.headers.userHash range [1,50],版本2设置为未命中。可参照下图进行配置:

根据此配置,云函数平台在通过 invoke 接口调用函数别名时,若将 routingKey 参数设置为 {"userHash":30},则此次执行将使用版本3的代码和配置。若未设置 routingKey 参数或 routingKey 为除了 [1,50] 外的其他值,例如 {"userHash":80},则此次执行将使用版本2的代码和配置。
相似文档
  • 概述: 使用云函数(Serverless Cloud Function,SCF)的别名可以实现云函数的灰度发布方案,其优势如下: 支持用户在多版本间按需分配流量,无需在外部或各触发器位置频繁修改设置。 支持流量平滑分配,避免流量漏发。 通过相同的流量切换方案,可以在故障时进行版本快速回退。
  • 简介: 腾讯云云函数 SCF 通过 访问管理(Cloud Access Management,CAM)来实现权限管理。CAM 是腾讯云提供的权限及访问管理服务,主要用于帮助客户安全管理腾讯云账户下的资源的访问权限。用户可以通过 CAM 创建、管理和销毁用户(组),并使用身份管理和策略管理控制其他用户使用腾讯云资源的权限。
  • 角色: 角色(Role)是腾讯云 访问管理(Cloud Access Management,CAM)提供的拥有一组权限的虚拟身份,角色也可被授予策略,主要用于对 角色载体 授予腾讯云中服务、操作和资源的访问权限,这些权限附加到角色后,通过将角色赋予腾讯云的服务,允许服务代替用户完成对授权资源的操作。
  • 策略语法: 创建自定义策略流程可参考 CAM 的 创建自定义策略。SCF 的策略语法遵循 CAM 的 语法结构 和 资源描述方式,策略语法以 JSON 格式为基础,所有资源均可采用下述的六段式描述方式,示例如下:
  • 注意: 主账户需要在 角色 页面查看是否具有SCF_QcsRole,如果没有,请按照 角色与策略 中的服务授权操作完成授权,否则子用户无法正常使用 Serverless 控制台和通过 SCF 调用其他云上资源。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部