Loading...
Loading...
通过 Python SDK(alibabacloud_cdn20180510)调用阿里云 CDN OpenAPI:查询加速域名列表与详情、域名配置、CNAME 解析检测、备案查询、域名归属校验(查询校验内容/校验数据、提交校验)、添加域名、批量更新、批量设置域名功能配置、缓存刷新、启用域名、HTTPS 证书设置等。 适用于「列出 CDN 加速域名」「查详情与配置」「检测 CNAME」「查备案」「域名归属验证」「加域名/批量改配/批量设功能项/刷缓存/启停/配证书」等场景。 API 契约见 reference/ 下 YML;可运行示例见 scripts/;初次使用请安装 scripts/requirements.txt 中的依赖。
npx skill4agent add shigzz/aliyun-skills aliyun-cdn-skillaliyun-cdn-skills/
├── SKILL.md
├── reference/ # API 定义(YML),含入参与返回值
│ ├── describe_user_domains.yml
│ ├── describe_cdndomain_detail.yml
│ ├── describe_cdndomain_configs.yml
│ ├── describe_domain_cname.yml
│ ├── check_cdndomain_icp.yml
│ ├── describe_verify_content.yml
│ ├── describe_domain_verify_data.yml
│ ├── verify_domain_owner.yml
│ ├── add_cdndomain.yml
│ ├── batch_update_cdndomain.yml
│ ├── batch_set_cdndomain_config.yml
│ ├── refresh_object_caches.yml
│ ├── start_cdndomain.yml
│ └── set_cdndomain_sslcertificate.yml
└── scripts/ # 可执行脚本与依赖清单
├── describe_user_domains.py
├── describe_cdndomain_detail.py
├── describe_cdndomain_configs.py
├── describe_domain_cname.py
├── check_cdndomain_icp.py
├── describe_verify_content.py
├── describe_domain_verify_data.py
├── verify_domain_owner.py
├── add_cdndomain.py
├── batch_update_cdndomain.py
├── batch_set_cdndomain_config.py
├── refresh_object_caches.py
├── start_cdndomain.py
├── set_cdndomain_sslcertificate.py
└── requirements.txtpython scripts/describe_user_domains.pyrequirements.txtscripts/pip install -r aliyun-cdn-skills/scripts/requirements.txt| 能力 | API | 类型 | 用途 | reference | scripts |
|---|---|---|---|---|---|
| 查询用户域名列表 | DescribeUserDomains | 读 | 分页查询账号下加速域名及状态,支持筛选 | describe_user_domains.yml | describe_user_domains.py |
| 查询域名详情 | DescribeCdnDomainDetail | 读 | 查询指定加速域名的基本配置(源站、CNAME、状态等) | describe_cdndomain_detail.yml | describe_cdndomain_detail.py |
| 查询域名功能配置 | DescribeCdnDomainConfigs | 读 | 按功能名或 ConfigId 查询域名上的功能配置 | describe_cdndomain_configs.yml | describe_cdndomain_configs.py |
| 检测 CNAME | DescribeDomainCname | 读 | 检测加速域名 CNAME 是否解析到预期 | describe_domain_cname.yml | describe_domain_cname.py |
| 查询备案 | CheckCdnDomainICP | 读 | 查询域名是否备案 | check_cdndomain_icp.yml | check_cdndomain_icp.py |
| 查询归属校验内容 | DescribeVerifyContent | 读 | 查询域名归属校验所需内容(单域名) | describe_verify_content.yml | describe_verify_content.py |
| 查询域名校验数据 | DescribeDomainVerifyData | 读 | 按全球资源计划等返回对应校验数据(单域名) | describe_domain_verify_data.yml | describe_domain_verify_data.py |
| 校验域名归属 | VerifyDomainOwner | 写 | 对域名归属权进行校验(单域名) | verify_domain_owner.yml | verify_domain_owner.py |
| 添加加速域名 | AddCdnDomain | 写 | 新增加速域名 | add_cdndomain.yml | add_cdndomain.py |
| 批量更新域名 | BatchUpdateCdnDomain | 写 | 批量更新加速域名基本信息 | batch_update_cdndomain.yml | batch_update_cdndomain.py |
| 批量设置域名配置 | BatchSetCdnDomainConfig | 写 | 批量为多个域名设置功能配置(域名数与功能项数乘积等限制见 YML) | batch_set_cdndomain_config.yml | batch_set_cdndomain_config.py |
| 刷新缓存 | RefreshObjectCaches | 写 | URL/目录批量刷新,使节点缓存立即失效并回源 | refresh_object_caches.yml | refresh_object_caches.py |
| 启用域名 | StartCdnDomain | 写 | 启用处于停用状态的加速域名 | start_cdndomain.yml | start_cdndomain.py |
| 设置 HTTPS 证书 | SetCdnDomainSSLCertificate | 写 | 设置证书开关与证书内容(上传/CAS 等) | set_cdndomain_sslcertificate.yml | set_cdndomain_sslcertificate.py |
echo "AK_ID: ${ALIBABA_CLOUD_ACCESS_KEY_ID:+已设置}"
echo "AK_SECRET: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:+已设置}".envfind . -maxdepth 1 -name ".env" -exec cat {} \;.envALIBABA_CLOUD_ACCESS_KEY_ID=your-access-key-id
ALIBABA_CLOUD_ACCESS_KEY_SECRET=your-access-key-secretfrom dotenv import load_dotenv
import os
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
load_dotenv()
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
raise RuntimeError("缺少阿里云凭证。请先设置 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET")pip install -r aliyun-cdn-skills/scripts/requirements.txtpip install alibabacloud_cdn20180510 alibabacloud_credentials alibabacloud_tea_openapi alibabacloud_tea_util python-dotenvCdn20180510Clientcdn.aliyuncs.comfrom alibabacloud_cdn20180510.client import Client as Cdn20180510Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
credential = CredentialClient()
config = open_api_models.Config(credential=credential)
config.endpoint = "cdn.aliyuncs.com"
client = Cdn20180510Client(config)alibabacloud_cdn20180510.modelsclient.<api>_with_options(request, runtime)scripts/*.pyPageSizePageNumberPageNumber401/403InvalidAccessKeyIdSignatureDoesNotMatchdataRecommendFunctionNamesFunctionsSSLProtocol