本文将为您介绍从开通边缘函数服务到使用边缘函数的全流程,便于您快速上手边缘函数。
您可以参考以下简单的配置流程学习如何将代码快速部署到ESA全球节点。
前提条件
- 请确保已在ESA上添加目标站点,且站点状态为已启动状态。 
- 如需通过HTTPS协议访问边缘函数,需确保已配置有效的SSL/TLS证书。 
步骤一:创建函数
- 登录ESA控制台,在左侧导航栏选择。 
- 在边缘函数页面,单击创建函数。 
- 在创建函数对话框中,您可以选择ESA提供的模板生成函数代码,也可以选择业务需要的模板。选择完成后,单击下一步。  
- 配置函数规格等基本信息,完成后单击提交。  - 参数 - 说明 - 函数名称 - 请输入函数名称。 说明- 小写英文字母开头,可包含小写英文字母、数字和中划线,但不能以中划线结尾,名称长度2到41个字符,例如 - routine-name。函数名创建后无法修改。- 描述 - (选填)函数的描述信息。 - 代码预览 - 函数代码预览信息。 
步骤二:配置触发器
在ESA边缘函数中,触发器定义了函数脚本的调用方式。您可以为函数绑定域名,将某个域名流量全部转发至该函数,例如将函数绑定至er.example.com;也可以通过函数路由指定URL上的请求,将某个域名的部分流量转发至函数,例如将er.example.com/test/path/路径流量转发至函数。
- 边缘函数创建完成后,单击绑定域名。  
- 在触发器页面,您可以通过配置域名绑定或路由,将域名的流量转发到边缘函数中。 - 添加域名配置触发器- 域名绑定功能允许您将函数链接至自己的站点域名,在完成域名绑定后,您可以直接使用该域名对函数进行访问。 - 例如:您已在ESA添加了站点 - example.com,可以将触发器域名绑定为- er.example.com,那么- er.example.com、- er.example.com/user、- er.example.com/login等请求均会被转发至边缘函数。- 在域名绑定单击添加域名。 
- 输入域名后,单击确定。  
 说明- NS接入的域名:绑定域名后,会自动帮您添加一条DNS记录用来绑定边缘函数。 - CNAME接入的域名:绑定域名后,会自动生成一个CNAME值,需手动在当前站点对应的域名解析服务商添加CNAME解析。 - 添加路由配置触发器- 路由功能允许用户将某些URL映射到函数。当请求与配置的URL匹配时,将由边缘函数处理该请求,否则将继续执行加速回源的ESA流程。如下图所示,当您为 - example.com站点配置了- example.com/a*的路由规则后,所有与路由规则匹配的路径访问例如- /a、- /a1、- /a2都会由边缘函数处理,而其他与路由规则不匹配的路径访问例如- /b、- /c、- /d会继续遵循加速回源或缓存的流程。- 登录ESA控制台,在左侧导航栏选择。选择您创建的函数,单击详情。 
- 在详情页面,选择触发器页签,在路由区域,单击添加路由。 
- 填写路由名称,在选择站点列表中选择目标站点,例如: - example.com。
- 选择路由模式。 - 简单模式- 填写路由名称,选择目标站点。 
- 选择简单模式,填写路由规则。  
 - 自定义模式- 填写路由名称,选择目标站点。 
- 选择自定义模式。 
- 在如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。 
- 则执行…边缘函数。  
 - 示例1:路由填写 - *.example.com/*,表示任何发送到- http://www.example.com/或- http://example.com/的请求都会被转发到边缘函数。
- 示例2:路由填写 - example.com/a*,表示任何发送到- http://example.com/a、- http://example.com/a1或- http://example.com/api的请求会被转发到边缘函数。
- 示例3:路由填写 - www.example.com/api/*,表示任何发送到- http://www.example.com/api/及其子路径的请求(例如- http://www.example.com/api/users或- http://www.example.com/api/products/123)都会被转发到边缘函数。
 
- 单击确定。 
 说明- 如果路由输入的是 - *.example.com或- www.example.com这种带有前缀的域名,还需要在ESA的DNS记录中手动添加一条记录,否则访问失败。
- 函数路由如果存在多条配置,从上至下一旦有一条匹配成功,则跳出不再执行下面的匹配。 
 - 匹配规则- 路由配置必须同时包含域名主机名和路径URI信息,因此任何只包含路径URI的路由规则例如 - /path将无法配置。
- 路由配置通过添加前后通配符 - *的方式来匹配更多请求,通配符- *支持匹配零个或多个任意字符。例如- example.com/*将匹配访问- example.com的所有请求。
- 路由配置区分大小写。例如 - example.com/a和- example.com/A将是两条不同的路由规则。
- 路由配置不支持配置中间通配符 - *和参数。例如- example.com/*/path和- example.com/path?param=1的形式都是不允许的。
- 当访问请求和多个路由配置都可以匹配时,将优先匹配更早配置的规则项。 
 
步骤三:开发并调试函数
- 在详情页面,选择代码页签,使用 - JavaScript ES6语法开发边缘函数。 
- ESA在控制台代码开发工具右侧提供了一套调试环境,完成代码开发后,单击保存。在右侧工具栏构造HTTP的请求方法、请求头、请求体,构造完成后单击请求按钮,控制台将直接返回请求经过函数处理后的响应结果。 
- 调试完代码后,单击生成版本。 
- 选择部署页签,单击操作列的发布,在弹出的对话框中选择测试环境进行发布。边缘函数将在边缘测试节点生效,您可直接通过绑定 - Host的方式使用真实客户端发出请求并在客户端查看结果。 
步骤四:发布正式版本
- 在详情页面,选择部署页签,单击目标版本操作列的发布。 
- 选择生产环境,单击发布。  
- 单击确定,所有生产环境的节点都将部署该版本函数代码。