本篇文章将讲述如何使用Python调用华为云API刷新CDN缓存,免去登录后台步骤的同时也能更方便的与其他业务进行结合。该API也支持使用Java、Go、C#、JavaScript、PHP、C++、C、Android、curl调用。(毕竟本质上就是HTTP请求)
为了能够正常运行,需要准备以下内容:
- Python环境(官网下载)
- requests(
pip install requests
)
我们首先要为API网关创建一个访问密钥,登录华为云控制台,鼠标放在右上角用户名的地方,在弹出的窗口中点击“我的凭证”,如图:

在弹出页面中点击访问密钥,新增一个访问密钥,具体操作流程如图所示:

创建成功后点击“立即下载”

会自动下载一个csv
文件,里面有用户名(User Name)、访问密钥ID(Access Key Id)和访问密钥(Secret Access Key),我们需要将访问密钥ID和访问密钥加入到环境变量中。下面记录两种系统(Windows、Linux)的具体操作步骤。
Windows:
- 按
Win + I
组合键打开系统设置,点击系统 – 系统信息 – 高级设置 – 环境变量,在系统变量处点击新建,一共需要新建两组,内容如下:
- 然后依次点击确定保存。
Linux:
- 在终端输入
nano ~/.bashrc
,加入以下内容:
- 保存退出,执行
source ~/.bashrc
使修改生效。
然后我们需要准备一份SDK,到华为云文档中的API网关 APIG章节下载一份Python的SDK

下载完成后解压,使用代码编辑器打开,如图,我们主要修改main.py
中的13 – 16行,并导入一个json
模块

在第5行添加:
将14行的地址修改为:
注:地址可在华为云文档创建刷新缓存任务章节的在线调试中找到

删除16行的"body"
和15行末尾的,
;并添加以下内容:
参数解读:
type
: 刷新的类型,其值可以为file
:文件,或directory
:目录,默认为file
。mode
: 目录刷新方式,all
:刷新目录下全部资源;detect_modify_refresh
:刷新目录下已变更的资源,默认值为all
。zh_url_encode
: 是否对url中的中文字符进行编码后刷新,false
代表不开启,true
代表开启,开启后仅刷新转码后的URL。urls
: 需要刷新的URL必须带有“http://”
或“https://”
,多个URL用逗号
分隔("url1", "url2")
,单个url的长度限制为4096字符,单次最多输入1000个url,如果输入的是目录,支持100个目录刷新。
如果您需要刷新的URL中有中文,请同时刷新中文URL(输入中文URL且不开启zh_url_encode)和转码后的URL(输入中文URL且开启zh_url_encode)。
如果您的URL中带有空格,请自行转码后输入,且不要开启URL Encode。
修改后的代码如下:
我们可以执行以下看看效果:

声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
Eric · 梦曦
本文地址: 华为云 | 优雅地刷新CDN缓存
本文地址: 华为云 | 优雅地刷新CDN缓存