边缘开发者平台
  • 边缘函数
    • 概述
    • 快速指引
    • 操作指引
      • 函数管理
      • 触发配置
    • Runtime APIs
      • addEventListener
      • Cache
      • Cookies
      • Encoding
      • Fetch
      • FetchEvent
      • Headers
      • Request
      • Response
      • Streams
        • ReadableStream
        • ReadableStreamBYOBReader
        • ReadableStreamDefaultReader
        • TransformStream
        • WritableStream
        • WritableStreamDefaultWriter
      • Web Crypto
      • Web standards
      • Images
        • ImageProperties
    • 示例函数
      • 返回 HTML 页面
      • 返回 JSON
      • Fetch 远程资源
      • 请求头鉴权
      • 修改响应头
      • AB 测试
      • 设置 Cookie
      • 基于请求区域重定向
      • Cache API 使用
      • 缓存 POST 请求
      • 流式响应
      • 合并资源流式响应
      • 防篡改校验
      • m3u8 改写与鉴权
      • 图片自适应缩放
      • 图片自适应 WebP
      • 自定义 Referer 限制规则
      • 远程鉴权
      • HMAC 数字签名
      • 自定义下载文件名
      • 获取客户端 IP
    • 最佳实践
      • 通过边缘函数实现自适应图片格式转换

触发配置

操作场景

本功能适用于站点下函数触发规则的如下操作:
支持站点下函数触发规则的增删改查。
支持快速调整触发规则的优先级,适用于请求 URL 匹配到多个触发规则的情况下快速调整执行位置的顺序,位置在前的触发规则将会执行,位置在后的触发规则将不会执行。

操作介绍

新建触发规则

1. 登录 边缘安全加速平台 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击需配置的站点。
2. 在站点详情页面,单击边缘函数 > 触发配置
3. 在触发配置页面,单击规则列表右侧的

,配置相关参数。

参数说明:
站点:默认显示当前站点名称。
描述:非必填项,最多可支持60个字符。
触发条件:按需选择匹配类型、运算符和值,更多参数详情请参见 规则引擎
执行函数:下拉选择已创建的函数。
4. 单击确定,即可完成触发规则的新建。

编辑触发规则

1. 在触发配置页面,选择需要修改的规则,单击编辑


2. 在编辑触发规则对话框中,修改相关参数,单击确定即可完成触发规则的编辑。


查询触发规则

在触发配置页面,单击规则列表右侧的

,在搜索的输入框中填写规则 ID 的关键词即可完成查询。


删除触发规则

1. 在触发配置页面,单击规则列表右侧的

图标。
2. 选择需要删除的规则,单击

图标。


3. 在确认删除对话框中,单击确认删除,即可完成触发规则的删除。


触发规则优先级调整

1. 在触发配置页面,单击规则列表右侧的

图标。
2. 选择需要调整的规则,单击

上移规则或

下移规则,单击保存即可完成优先级调整。
说明
若请求 URL 匹配到多个触发规则的情况下(如下图序号为01和02的触发规则)位置在前的触发规则将会执行(如下图序号01规则),位置在后的触发规则将不会执行(如下图序号02规则)。


案例介绍

将为您介绍若请求 URL 匹配到多个触发规则的情况下,如何调整触发规则的执行顺序。
1. 在函数管理页面,已新建相同的触发条件的两个不同函数,如下图所示:

函数 test1的代码如下:
const html = `
<!DOCTYPE html>
<body>
<h1>The test 1, Hello World</h1>
<p>This markup was generated by a TencentCloud Edge Functions.</p>
<a href="https://cloud.tencent.com/product/teo"> TencentCloud EdgeOne </a>
</body>
`;

async function handleRequest(request) {
return new Response(html, {
headers: {
'content-type': 'text/html; charset=UTF-8',
'x-edgefunctions-test': 'Welcome to use Edge Functions.',
},
});
}

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
函数 test2 的代码如下:
const html = `
<!DOCTYPE html>
<body>
<h1>The test 2, Hello World</h1>
<p>This markup was generated by a TencentCloud Edge Functions.</p>
<a href="https://cloud.tencent.com/product/teo"> TencentCloud EdgeOne </a>
</body>
`;

async function handleRequest(request) {
return new Response(html, {
headers: {
'content-type': 'text/html; charset=UTF-8',
'x-edgefunctions-test': 'Welcome to use Edge Functions.',
},
});
}

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
2. 在触发配置页面,可查看触发规则,如下图所示:


3. 函数 test1 的触发规则的顺序为01,函数 test2的触发规则的顺序为02,如下图所示:

4. 在浏览器中输入:触发规则 url 并按 Enter 键,响应内容如下:

5. 函数 test2 单击

后,单击保存

6. 函数 test2的触发规则的顺序为01,函数 test1的触发规则的顺序为02;
7. 再次在浏览器中输入:触发规则 url 并按 Enter 键,响应内容如下:


以上为若请求 URL 匹配到多个触发规则的情况下,如何调整触发规则的执行顺序的操作过程。