tencent cloud

边缘安全加速平台 EO

动态与公告
产品动态
安全公告
产品公告
产品简介
产品概述
产品优势
应用场景
EdgeOne 与 CDN 等产品功能对比
使用限制
购买指南
试用套餐体验权益说明
免费版套餐使用说明
计费概述
计费项目
购买指引
续费指引
欠费与退款说明
套餐选型对比
关于“干净流量”计费说明
DDoS 防护容量说明
快速入门
选择业务场景
快速接入网站安全加速
通过 Pages 快速部署网站
域名服务与源站配置
域名服务
HTTPS 证书
源站配置
站点加速
概述
访问控制
智能加速
缓存配置
文件优化
网络优化
URL 重写
修改头部
修改应答内容
规则引擎
图片与视频处理
单连接下载限速
DDoS 与 Web 防护
概述
DDoS 防护
Web 防护
Bot 管理
API 资产识别(Beta)
边缘函数
概述
快速指引
操作指引
Runtime APIs
示例函数
实践教程
Pages
四层代理
概述
新建四层代理实例
修改四层代理实例配置
停用/删除四层代理实例
批量配置转发规则
获取客户端真实IP
数据分析与日志服务
日志服务
数据分析
告警服务
站点与计费管理
计费管理
站点管理
版本管理
通用策略
通用参考
配置语法
请求与响应行为
国家/地区及对应代码枚举
Terraform
Terraform 简介
安装和配置 Terraform
实践教程
自动预热/清除缓存
防盗刷/盗链实践
HTTPS 相关实践
加速优化
流量调度
数据分析与告警
第三方日志平台集成实践
对象存储类源站(例如:COS)配置实践
跨域响应配置
API 文档
History
Introduction
API Category
Making API Requests
Site APIs
Acceleration Domain Management APIs
Site Acceleration Configuration APIs
Edge Function APIs
Alias Domain APIs
Security Configuration APIs
Layer 4 Application Proxy APIs
Content Management APIs
Data Analysis APIs
Log Service APIs
Billing APIs
Certificate APIs
Origin Protection APIs
Load Balancing APIs
Diagnostic Tool APIs
Custom Response Page APIs
API Security APIs
DNS Record APIs
Content Identifier APIs
Legacy APIs
Ownership APIs
Image and Video Processing APIs
Multi-Channel Security Gateway APIs
Version Management APIs
Data Types
Error Codes
常见问题
产品特性相关问题
DNS 记录相关问题
域名配置相关问题
站点加速相关问题
数据与日志相关问题
安全防护相关问题
源站配置相关问题
排障指南
异常状态码参考
EdgeOne 4XX/5XX 状态码排障指南
520/524状态码排障指南
521/522 状态码排障指南
工具指南
相关协议
Service Level Agreement
源站防护启用特别约定
TEO 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

EdgeOne + COS 场景实现自动清除缓存

PDF
聚焦模式
字号
最后更新时间: 2025-01-24 16:33:40
本文主要介绍了如何通过腾讯云 对象存储(Cloud Object Storage,COS)云函数服务(Serverless Cloud Function,SCF)实现 EdgeOne 自动清除缓存,清除缓存的功能和原理介绍请参考 清除缓存


背景介绍

若您的源站为腾讯云对象存储 COS,当源站有同名文件更新或者违规资源需要删除时,通常需要同步将资源从 EdgeOne 节点删除,避免用户仍访问到旧的资源或者违规内容。但是清除缓存需要您在 COS 上更新或删除文件后,人工进入 EdgeOne 控制台或者调用 API 接口提交需清除缓存的 URL,该方式容易遗漏且可能因为人工操作延迟造成未及时执行清除动作。

自动清除缓存可以帮助您在文件上传至腾讯云 COS 后,由腾讯云 SCF 自动检测并调用 EdgeOne 的清除缓存 API 接口自动完成节点的缓存清除,保障您的文件更新或删除后,用户可立即访问到最新的资源,提升用户体验。
注意:
腾讯云对象存储 COS 为收费功能,使用中可能产生的费用由腾讯云 COS 收取,具体收费详情请参考对象存储计费概述
云函数 SCF 为收费功能,使用中可能产生的费用由云函数 SCF 收取,具体收费详情请参考云函数计费概述

适用场景

场景1:同名文件更新
文件上传至腾讯云 COS 后,由于文件内容有更新,重新上传同名文件至 COS,在 CDN 缓存过期前,希望用户可以立即访问到最新的资源。
场景2:违规文件删除
上传至 COS 的文件,可能存在内容不合规等问题需要将该文件从 COS 存储桶中删除,在 CDN 缓存过期前,希望用户不再能访问到该资源。

操作步骤

示例场景

假设您是一家游戏厂商,已将站点域名 www.example.com 接入到 EdgeOne 加速,源站为腾讯云 COS,地址为:purge-cos-1251558888.cos.ap-guangzhou.myqcloud.com 。因为有多款游戏 APK 需要经常更新,期望文件变更时即可自动清除 EdgeOne 节点的缓存。

准备工作

1. 已开通 对象存储 COS云函数 SCF,记录该存储桶名称及地域信息。
2. 根据 站点接入 指引添加站点,购买 EdgeOne 套餐,并获取该站点 ID。站点 ID 可通过站点接入后,在站点列表内查看并复制,例如:zone-26v607hq8d3m。

3. 已在 EdgeOne 控制台添加加速域名www.example.com,且源站配置为腾讯云 COS。

步骤1:创建 EdgeOne 自动清除缓存的云函数并部署

1. 登录 云函数服务控制台,在左侧菜单栏中,单击函数服务。
2. 在函数服务页面,单击新建,选择使用模板创建,在模糊搜索输入框中输入 EdgeOne 自动清除缓存并选中,单击下一步

3. 在“函数配置”页面,如下配置为必填项,其他配置项建议保持使用默认配置即可。
基础配置
函数名称:创建函数时将自动生成一个函数名称,您可以选择自定义修改为一个易识别的函数名称。
地域:请选择对象存储桶 COS 的所在地域,例如:广州。
时区:云函数内默认使用 UTC 时间,您可以通过配置环境变量 TZ 修改。在您选择时区后,将自动添加对应时区的 TZ 环境变量。
函数代码:模板已内置默认函数代码实现 EdgeOne 自动清除缓存的能力,无需改动。
高级配置:
单击高级配置,找到环境配置,您需要在环境变量中添加以下 key 和对应的 value 值,其余配置保持默认即可:
ZoneId:请填写对应需进行自动清除缓存的域名站点 example.com 的 ZoneId,站点 ID 获取方式请参见 准备工作
eoDomains:请填写已在 ZoneId 下添加好的加速域名,如:www.example.com



说明:
如果您在当前站点下有多个域名的源站使用了同一个 COS 存储桶,期望多个域名都能触发自动清除缓存,则填写环境配置时,可以填写添加多个环境变量,以 eoDomains 开头,例如:eoDomains_1、eoDomains_2,如下所示:

权限配置:运行角色勾选启用,通过下拉框选择运行角色(请确保已有角色已包含 QcloudCOSFullAccess 和 QcloudTEOFullAccess 的预设策略),否则请新建运行角色

触发器配置
以事件类型为全部创建为例(若需要创建全部删除事件类型,参照配置即可),在触发器配置中,选择自定义创建,COS Bucket 为与此云函数 SCF 同地域的存储桶,可输入存储桶名称进行模糊查询,例如:purge-cos-1251558888.cos.ap-guangzhou.myqcloud.com。其余配置项保持为默认配置即可。

4. 单击完成,即可完成 EdgeOne 自动清除缓存函数的创建。

步骤2:验证生效

1. 登录 对象存储 COS 控制台,在左侧菜单栏中,单击存储桶列表。
2. 在存储桶列表页面,单击用于存储 APK 母包存储桶名称
3. 在文件列表页面,进入 purge-cos-1251558888.cos.ap-guangzhou.myqcloud.com 根目录。
4. 单击上传文件,上传一个同名文件,例如:v2_src.apk,单击上传

5. 文件上传成功后,在 云函数 SCF 控制台 中,单击 步骤1 创建的函数名称
6. 在函数管理页面,选择日志查询 > 调用日志,通过调用日志获取到函数执行的日志信息,当显示调用成功,且日志内 key 信息与刚才上传的文件名称一致,则表示文件上传到 COS 已触发云函数 SCF 调用 EdgeOne 清除缓存 API 成功。

7. 前往 边缘安全加速平台 EO 控制台,在一级导航的工具集中单击清除缓存。
8. 在清除缓存页面,单击历史记录,查清除任务是否成功,如显示清除成功,表明当前已完成清除。

9. 在浏览器打开开发者工具后,输入该文件的访问路径访问,例如:www.example.com/v2_src.apk。查看响应头内的 EO-Cache-Status 值。如未清除缓存,访问资源时会命中之前旧的缓存,下图显示为 MISS,则表示资源已从 EdgeOne 节点清除,用户请求时会回源拉取最新资源。


监控告警(建议)

EdgeOne 对于清除缓存任务会设置配额限制,具体配额请参见 套餐选型对比
对于超过配额上限的清除缓存任务,在调用清除缓存 API 接口时会触发报错,最终云函数的执行状态为“调用失败”,为了及时关注到该问题,建议您通过云监控配置云函数的监控告警。配置方法请参见:云函数配置告警云函数监控指标说明


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈