本文介绍从开通边缘函数服务到使用边缘函数的全流程,便于您快速上手边缘函数。
流程概览
当您初次使用边缘函数时,需要先开通DCDN产品,具体步骤如下图所示:
边缘函数目前是Beta功能,仅面向部分客户开放。如果您的CDN日常带宽峰值大于500 Mbps,可以提交工单申请。申请通过后,边缘函数菜单入口才可见。
开通边缘函数服务
登录DCDN控制台。
在左侧导航栏,单击边缘函数。
单击 ,开通边缘函数服务。
创建和配置函数
登录DCDN控制台。
在左侧导航栏,单击边缘函数。
如果您是第一次使用边缘函数,请先设置子域。
在边缘函数页面,单击设置子域。
在创建子域对话框中,属于子域名称。
说明子域相当于一个仓库,您创建的边缘函数均放在该仓库下,子域设置后无法修改。
子域是每个用户的唯一标识符,子域也将用作函数ID的一部分。
子域设置后无法更改,支持小写英文字母、数字和中划线,名称长度不能小于2个字符,例如subdomain-name。
单击确定。
在边缘函数页面,单击创建函数。
参数
说明
函数名称
请输入函数名称。
说明支持小写英文、数字和中划线,名称长度不能小于2个字符,例如routine-name。函数名创建后无法修改。
描述
(选填)函数的描述信息。
规格
函数代码单次执行最多使用的CPU时间(不包含等待网络请求响应的I/O时间),RT最大值120秒,可用内存128 MB。不同规格的费用不同,默认选择50 ms规格。更多计费信息,请参见边缘函数计费说明。
单个请求可用CPU时间片:5ms
单个请求可用CPU时间片:50ms(默认)
单个请求可用CPU时间片:100ms
函数创建完成后,可单击操作列的详情,进入函数详情页进行配置。各个环境的配置相互独立,您可以按需分别修改生产环境、测试环境和灰度环境(选配)的配置。
参数
说明
函数规格
函数代码单次执行最多使用的CPU时间(不包含等待网络请求响应的I/O时间),RT最大值120秒,可用内存128 MB,默认选择50 ms规格。
单个请求可用CPU时间片:5ms
单个请求可用CPU时间片:50ms(默认)
单个请求可用CPU时间片:100ms
域名白名单
允许关联该函数的域名。
支持填写泛域名。
域名白名单默认为空,表示任意域名都可关联该函数。
说明例如您设置了example.com,则表示只有example.com的请求可以触发该函数执行,其他域名的请求将被该函数拒绝。
域名关联函数
函数需要域名作为入口供客户端访问,域名可使用CDN或DCDN加速域名。函数创建并配置完毕后,您需要将CDN的域名关联该边缘函数,客户端通过访问域名触发函数执行。具体以您域名所在的产品进入对应控制台为准。
登录DCDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,单击目标域名对应的配置。
在指定域名的左侧导航栏,单击边缘函数。
在边缘函数页面,开启并配置边缘函数ID。
参数
说明
边缘函数ID
边缘函数ID是每个函数的唯一标识符。组成方式:函数名称.子域。
说明在DCDN控制台左侧,单击边缘函数,在函数页面您可以看到对应函数的ID。
触发模式
访问CDN域名的请求将触发边缘函数执行,执行方式有两种:
重定向:CDN域名的请求将被边缘函数完全接管。边缘函数内的代码逻辑由您自行开发,可直接返回结果给客户端、通过CacheAPI读取缓存、通过fetch请求回源等。
旁路:CDN域名的请求仅触发边缘函数执行,随后继续执行CDN配置并回源,适合于一些鉴权校验或日志打点的场景。
执行异常时是否回源
是:当边缘函数执行异常,边缘节点将以客户端URL的形式请求CDN域名源站,您可以在源站实现兜底和容灾机制。
否:当边缘函数执行异常,直接返回5xx状态码给客户端。
说明首次使用边缘函数建议您将该参数设置为否,通过返回5xx状态码可排查使用中遇到的问题。
执行异常时,回源的请求将按请求数计费。该部分异常的回源请求一般情况下占比极低,可忽略。
开发并调试函数
登录DCDN控制台。
在左侧导航栏,单击边缘函数。
选择您创建的函数,单击详情。
在详情页面,选择代码页签,即可开始使用JavaScript开发边缘函数(默认是HelloWorld示例代码)。
编写完代码后,单击发布到测试环境。您可以选择页面上提供的任一测试环境IP进行Host绑定测试,调试函数代码。
说明绑定Host的方式是修改测试机本地Host文件,加入测试IP和域名。例如添加10.10.10.10 example.com(IP替换为上图提供的任一IP,域名替换为您关联该函数的CDN域名)。
生成正式版本
代码调试完毕后,在代码页签,单击生成正式版本。
发布
在详情页面,选择版本和发布页签,选择一个版本ID单击操作列的发布。
选择需要发布的环境(测试环境、生产环境或灰度环境)。
说明建议的发布顺序:先逐个发布到各个灰度环境,所有灰度环境全部发完后,再发布至生产环境。
单击确定,所有生产环境的节点都将部署该版本的函数代码。
日常迭代
以上是HelloWorld示例函数的配置和发布。
日常的函数代码更新迭代您可以参考:开发并调试函数、生成正式版本、发布三个环节。
如果您需要调整函数规格、域名白名单等函数的配置,可参考:创建和配置函数。
如果您希望关闭CDN域名的边缘函数功能,删除域名关联函数中的边缘函数配置即可。