当需要刷新缓存时候,就要登录腾讯云控制台去刷新,我觉的这就有点费事了。所以腾讯云也提供不同语言相应的SDK。经常远程服务器的话,在服务器上使用 [ 命令 + url ]方式直接刷新缓存多方便(使用这种方式,要保证你的id和key的安全,不要泄露了!)
首先登录腾讯云 -> 右上角头像 -> 访问管理 -> 访问秘钥 -> API秘钥管理 -> 生成下秘钥 -> ( ID和Key )
python2和python3 都可以支持,我这里使用python3版本
# 安装sdk包(python2和python3环境都存在的情况,python3使用pip3安装)
pip3 install --upgrade tencentcloud-sdk-python
pip3 install tencentcloud-sdk-python-cdn
python脚本,来自官方的代码,我添加了sys模块,可以使用传参的方式
#!/bin/env python3
import sys
import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdn.v20180606 import cdn_client, models
try:
cred = credential.Credential("你的id", "你的key")
httpProfile = HttpProfile()
httpProfile.endpoint = "cdn.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = cdn_client.CdnClient(cred, "", clientProfile)
req = models.PurgeUrlsCacheRequest()
params = {
"Urls": sys.argv[1:]
}
req.from_json_string(json.dumps(params))
resp = client.PurgeUrlsCache(req)
print(resp.to_json_string())
except TencentCloudSDKException as err:
print(err)
执行刷新缓存,效果和控制台一样,也会有域名判断的,在刷新记录中也可以看到执行命令刷新的记录
可以用alias去做一个命令别名,这样不用每次都输python3 cdn.py 这个了,多个url刷新的话直接for循环
# 写入系统环境变量(所有用户都可以执行cdn这个命令),也可以写入用户的环境配置文件中,只对单个用户生效
echo "alias cdn='python3 /script/cdn.py'" >>/etc/profile
# 生效
source /etc/profile
本文最后记录时间 2024-03-29
文章链接地址:https://wojc.cn/archives/1426.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://wojc.cn/archives/1426.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处