简版步骤

1,安装腾讯云SDK

2、修改且运行脚本既可(填入你的密钥和要刷新的url)

【api账户开通 两个权限:QcloudCDNFullAccess QcloudCDNReadOnlyAccess】

1、安装腾讯云SDK

1
pip install tencentcloud-sdk-python

1.1、或者手动安装腾讯云SDK

通过以下链接访问清华镜像源上的 tencentcloud-sdk-python 页面并下载最新版本的tar.gz文件:

https://pypi.tuna.tsinghua.edu.cn/simple/tencentcloud-sdk-python/

选择最新版本的 tencentcloud-sdk-python-*.tar.gz 文件进行下载。

  1. 解压下载的tar.gz文件

假设你已经解压了文件,并且解压后的文件夹在你的当前目录下,比如D:\hexo\tencentcloud-sdk-python-X.X.X

  1. 导航到解压后的文件夹

打开命令行窗口,导航到解压后的文件夹。例如:

1
cd D:\hexo\tencentcloud-sdk-python-X.X.X
  1. 手动安装包

在解压后的文件夹中运行以下命令来安装包:

1
python setup.py install

2、修改且运行脚本(api密钥如何获取在后面)

到你的脚本所在目录,修改以下脚本中的密钥和要刷新的url

然后CMD运行你的脚本python cdn_refresh_urls.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import json
import logging
from tencentcloud.common import credential
from tencentcloud.cdn.v20180606 import cdn_client, models
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile

# 配置日志

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# 为你的腾讯云API密钥

secret_id = 'your-secret-id'
secret_key = 'your-secret-key'

# 设置认证信息

cred = credential.Credential(secret_id, secret_key)
httpProfile = HttpProfile()
httpProfile.endpoint = "cdn.tencentcloudapi.com"
#httpProfile.verify = False # 禁用SSL验证,可选
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile

# 初始化CDN客户端

client = cdn_client.CdnClient(cred, "", clientProfile)

def refresh_urls(urls):
try:
req = models.PurgeUrlsCacheRequest()
params = {
"Urls": urls
}
req.from_json_string(json.dumps(params))
resp = client.PurgeUrlsCache(req)
logging.info("Response: %s", resp.to_json_string())
except Exception as e:
logging.error("Error: %s", str(e))

# 刷新缓存(替换你的url)

urls_to_refresh = [
"https://abc.cn/",
"https://www.abc.cn/"
]

logging.info("Starting URL refresh...")
refresh_urls(urls_to_refresh)
logging.info("URL refresh completed.")

获取腾讯云API密钥

  1. 登录腾讯云控制台

  2. 进入API密钥管理页面

    • 在控制台首页,点击右上角的账户头像,然后选择“访问管理”。
    • 在左侧菜单中选择“用户”,找到你的账号,点击进入详细信息页面。
    • 在详细信息页面中,找到“API密钥管理”选项。
  3. 生成API密钥

    • 在API密钥管理页面,点击“新建密钥”按钮。
    • 系统会生成一对密钥,包括SecretIdSecretKey
  4. 记录密钥

    • 请妥善记录你的SecretIdSecretKey,并保存在安全的地方。这两个值将用于脚本中进行身份验证。

权限管理概述(开什么权限看第四点:分配权限策略

腾讯云的权限管理通过访问管理(CAM, Cloud Access Management)实现。你需要为账户分配合适的权限策略,以便能够使用CDN相关的API。

为主账号分配权限

如果你使用的是主账号,通常默认已经具有所有权限。如果你使用子账号或需要为特定的API密钥设置权限,请按照以下步骤操作:

为子账号或API密钥分配权限

  1. 登录腾讯云控制台

  2. 进入访问管理(CAM)控制台

    • 在控制台首页,点击右上角的账户头像,然后选择“访问管理”。
  3. 创建或选择子账号

    • 在左侧菜单中选择“用户”,如果你已经有子账号,选择需要分配权限的子账号。如果没有,点击“新建用户”创建一个子账号。
  4. 分配权限策略

    • 进入子账号的详细信息页面,选择“权限管理”。

    • 点击“关联策略”,在弹出的对话框中选择需要的权限策略。对于CDN操作,可以选择以下策略:

      • QcloudCDNFullAccess:内容分发网络(CDN)完全访问权限。
      • QcloudCDNReadOnlyAccess:内容分发网络(CDN)只读访问权限。
    • 选择好权限策略后,点击“确定”以关联策略到子账号。

创建API密钥并分配权限

如果你使用的是专门创建的API密钥:

  1. 进入API密钥管理页面

    • 在访问管理控制台,左侧菜单中选择“密钥管理”。
    • 如果没有密钥,点击“新建密钥”创建一个新的API密钥。
  2. 分配权限

    • 在密钥管理页面,为新创建的密钥分配权限策略,步骤同上。
    • 确保API密钥被关联了QcloudCDNFullAccess或其他合适的策略。

示例:关联权限策略

以下是如何在控制台中操作的示意:

  1. 关联策略

    • 在子账号或密钥的权限管理页面,点击“关联策略”。
    • 搜索QcloudCDNFullAccess,选择并确认。

确保你的API密钥或子账号已经被分配了正确的权限策略后,你就可以使用这些密钥进行CDN的刷新和预热操作了。

可选:创建bat快捷方式:

1
2
3
4
5
@echo off
cd /d D:\Note\hexo
python cdn_refresh_urls.py
pause