文档

通过控制台使用边缘函数

更新时间:

本文介绍从开通边缘函数服务到使用边缘函数的全流程,便于您快速上手边缘函数。

流程概览

当您初次使用边缘函数时,需要先开通DCDN产品,具体步骤如下图所示:

image
说明

边缘函数目前是Beta功能,仅面向部分客户开放。如果您的CDN日常带宽峰值大于500 Mbps,可以填写信息申请。申请通过后,边缘函数菜单入口才可见。

开通边缘函数服务

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击边缘函数

  3. 单击开通边缘函数 > 立即开通,开通边缘函数服务。

创建和配置函数

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击边缘函数

  3. 如果您是第一次使用边缘函数,请先设置子域。

    1. 边缘函数页面,单击设置子域

      image.png

    2. 创建子域对话框中,属于子域名称。

      说明
      • 子域相当于一个仓库,您创建的边缘函数均放在该仓库下,子域设置后无法修改。

      • 子域是每个用户的唯一标识符,子域也将用作函数ID的一部分。

      • 子域设置后无法更改,支持小写英文字母、数字和中划线,名称长度不能小于2个字符,例如subdomain-name。

    3. 单击确定

  4. 边缘函数页面,单击创建函数

    创建程序

    参数

    说明

    函数名称

    请输入函数名称。

    说明

    支持小写英文、数字和中划线,名称长度不能小于2个字符,例如routine-name。函数名创建后无法修改。 

    描述

    (选填)函数的描述信息。

    规格

    函数代码单次执行最多使用的CPU时间(不包含等待网络请求响应的I/O时间),RT最大值120秒,可用内存128 MB。不同规格的费用不同,默认选择50 ms规格。更多计费信息,请参见边缘函数计费说明

    • 单个请求可用CPU时间片:5ms

    • 单个请求可用CPU时间片:50ms(默认)

    • 单个请求可用CPU时间片:100ms

  5. 函数创建完成后,可单击操作列的详情,进入函数详情页进行配置。各个环境的配置相互独立,您可以按需分别修改生产环境、测试环境和灰度环境(选配)的配置。

    参数

    说明

    函数规格

    函数代码单次执行最多使用的CPU时间(不包含等待网络请求响应的I/O时间),RT最大值120秒,可用内存128 MB,默认选择50 ms规格。

    • 单个请求可用CPU时间片:5ms

    • 单个请求可用CPU时间片:50ms(默认)

    • 单个请求可用CPU时间片:100ms

    域名白名单

    • 允许关联该函数的域名。

    • 支持填写泛域名。

    • 域名白名单默认为空,表示任意域名都可关联该函数。

    说明

    例如您设置了example.com,则表示只有example.com的请求可以触发该函数执行,其他域名的请求将被该函数拒绝。

域名关联函数

函数需要域名作为入口供客户端访问,域名可使用CDN或DCDN加速域名。函数创建并配置完毕后,您需要将CDN的域名关联该边缘函数,客户端通过访问域名触发函数执行。具体以您域名所在的产品进入对应控制台为准。

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,单击目标域名对应的配置

  4. 在指定域名的左侧导航栏,单击边缘函数

  5. 边缘函数页面,开启并配置边缘函数ID

    边缘程序

    参数

    说明

    边缘函数ID

    边缘函数ID是每个函数的唯一标识符。组成方式:函数名称.子域。

    说明

    在DCDN控制台左侧,单击边缘函数,在函数页面您可以看到对应函数的ID。

    image.png

    触发模式

    访问CDN域名的请求将触发边缘函数执行,执行方式有两种:

    • 重定向CDN域名的请求将被边缘函数完全接管。边缘函数内的代码逻辑由您自行开发,可直接返回结果给客户端、通过CacheAPI读取缓存、通过fetch请求回源等。

    • 旁路CDN域名的请求仅触发边缘函数执行,随后继续执行CDN配置并回源,适合于一些鉴权校验或日志打点的场景。

    执行异常时是否回源

    • :当边缘函数执行异常,边缘节点将以客户端URL的形式请求CDN域名源站,您可以在源站实现兜底和容灾机制。

    • :当边缘函数执行异常,直接返回5xx状态码给客户端。

      说明
      • 首次使用边缘函数建议您将该参数设置为否,通过返回5xx状态码可排查使用中遇到的问题。

      • 执行异常时,回源的请求将按请求数计费。该部分异常的回源请求一般情况下占比极低,可忽略。

开发并调试函数

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击边缘函数

  3. 选择您创建的函数,单击详情

  4. 详情页面,选择代码页签,即可开始使用JavaScript开发边缘函数(默认是HelloWorld示例代码)。代码

  5. 编写完代码后,单击发布到测试环境。您可以选择页面上提供的任一测试环境IP进行Host绑定测试,调试函数代码。

    说明

    绑定Host的方式是修改测试机本地Host文件,加入测试IP和域名。例如添加10.10.10.10 example.com(IP替换为上图提供的任一IP,域名替换为您关联该函数的CDN域名)。

生成正式版本

代码调试完毕后,在代码页签,单击生成正式版本测试

发布

  1. 详情页面,选择版本和发布页签,选择一个版本ID单击操作列的发布

  2. 选择需要发布的环境(测试环境生产环境灰度环境)。

    说明

    建议的发布顺序:先逐个发布到各个灰度环境,所有灰度环境全部发完后,再发布至生产环境。

  3. 单击确定,所有生产环境的节点都将部署该版本的函数代码。

日常迭代

以上是HelloWorld示例函数的配置和发布。

  • 日常的函数代码更新迭代您可以参考:开发并调试函数、生成正式版本、发布三个环节。

  • 如果您需要调整函数规格、域名白名单等函数的配置,可参考:创建和配置函数。

  • 如果您希望关闭CDN域名的边缘函数功能,删除域名关联函数中的边缘函数配置即可。

image

常见问题