Skillquality 0.45

tencentcloud-edgeone

Manage Tencent Cloud EdgeOne (CDN + edge security). Use when the user asks to: list zones, purge CDN cache (URL / prefix / hostname / all), prefetch URLs to warm edges, check purge / prefetch task status, manage acceleration domains, list / create / delete EdgeOne DNS records, in

Price
free
Protocol
skill
Verified
no

What it does

Tencent Cloud EdgeOne (CDN + Security)

Manage EdgeOne zones — purge cache, prefetch URLs, manage DNS records on the zone, check WAF settings.

Setup: See tencentcloud authentication. The SDK reads TENCENTCLOUD_SECRET_ID / TENCENTCLOUD_SECRET_KEY from env. EdgeOne is global — Region="" is fine.

CLI (preferred)

The skill ships scripts/edgeone.py — wraps zone discovery, purge / prefetch, task tracking, EdgeOne DNS records, and WAF inspection.

EO=$SKILL_DIR/scripts/edgeone.py

python3 $EO zones                                                  # list zones
python3 $EO zone zone-xxxxxxxx                                     # one zone's details
python3 $EO domains zone-xxxxxxxx                                  # acceleration domains
python3 $EO purge zone-xxxxxxxx --urls https://hub.example.com/index.html
python3 $EO purge zone-xxxxxxxx --prefixes https://hub.example.com/assets/
python3 $EO purge zone-xxxxxxxx --hosts hub.example.com
python3 $EO purge zone-xxxxxxxx --all                              # nuclear
python3 $EO prefetch zone-xxxxxxxx --urls https://hub.example.com/ https://hub.example.com/chat
python3 $EO purge-tasks zone-xxxxxxxx --status processing
python3 $EO prefetch-tasks zone-xxxxxxxx
python3 $EO dns zone-xxxxxxxx                                      # EdgeOne DNS records
python3 $EO dns-create zone-xxxxxxxx --name sub --type CNAME --content origin.example.com
python3 $EO dns-delete zone-xxxxxxxx <record-id>
python3 $EO security zone-xxxxxxxx                                 # WAF / security cfg
python3 $EO waf zone-xxxxxxxx

Purge / prefetch propagation is global but typically takes 30s–2min. Use purge-tasks --status processing to wait.

When to Use

  • List EdgeOne zones / acceleration domains
  • Purge cache after a deploy (by URL, prefix, hostname, or whole zone)
  • Prefetch URLs to warm edge nodes
  • Track purge / prefetch task status
  • Manage EdgeOne DNS records (zones managed by EdgeOne use the TEO API, not DNSPod)
  • Inspect WAF / security config

Dependencies

pip install tencentcloud-sdk-python

Quick start

import os
from tencentcloud.common import credential
from tencentcloud.teo.v20220901 import teo_client, models

cred = credential.EnvironmentVariableCredential().get_credential()
client = teo_client.TeoClient(cred, "")

Workflows

List zones

req = models.DescribeZonesRequest()
req.Limit = 100
resp = client.DescribeZones(req)
for z in resp.Zones:
    print(z.ZoneId, z.ZoneName, z.Status, z.Type)

Zone IDs look like zone-xxxxxxxx. The ZoneName is the apex domain (e.g. acedata.cloud).

List acceleration domains in a zone

req = models.DescribeAccelerationDomainsRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Limit = 100
resp = client.DescribeAccelerationDomains(req)
for d in resp.AccelerationDomains:
    print(d.DomainName, d.DomainStatus, d.OriginDetail.OriginType)

Purge cache — by URL

req = models.CreatePurgeTaskRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Type = "purge_url"
req.Targets = [
    "https://hub.example.com/index.html",
    "https://hub.example.com/assets/main.css",
]
resp = client.CreatePurgeTask(req)
print("Task:", resp.JobId)

Purge by hostname (entire host)

req = models.CreatePurgeTaskRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Type = "purge_host"
req.Targets = ["hub.example.com"]
client.CreatePurgeTask(req)

Purge by prefix (all URLs under a path)

req = models.CreatePurgeTaskRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Type = "purge_prefix"
req.Targets = ["https://hub.example.com/assets/"]
client.CreatePurgeTask(req)

Purge ALL cache for a zone (nuclear option)

# Confirm with the user — this re-fetches every cached object on next request,
# spiking origin load.
req = models.CreatePurgeTaskRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Type = "purge_all"
client.CreatePurgeTask(req)

Prefetch (pre-warm edges)

req = models.CreatePrefetchTaskRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Targets = [
    "https://hub.example.com/",
    "https://hub.example.com/chat",
]
resp = client.CreatePrefetchTask(req)
print("Task:", resp.JobId)

Track task status

req = models.DescribePurgeTasksRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Limit = 50
# Optional: req.Filters = [{"Name": "job-id", "Values": ["<job-id>"]}]
resp = client.DescribePurgeTasks(req)
for t in resp.Tasks:
    print(t.JobId, t.Type, t.Status, t.CreateTime)

# Same shape for DescribePrefetchTasks

List EdgeOne DNS records on a zone

req = models.DescribeDnsRecordsRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Limit = 100
resp = client.DescribeDnsRecords(req)
for r in resp.DnsRecords:
    print(r.RecordId, r.Name, r.Type, r.Content)

Create an EdgeOne DNS record

req = models.CreateDnsRecordRequest()
req.ZoneId = "zone-xxxxxxxx"
req.Name = "sub.example.com"
req.Type = "CNAME"
req.Content = "origin.example.com"
req.TTL = 600
client.CreateDnsRecord(req)

Delete an EdgeOne DNS record

req = models.DeleteDnsRecordsRequest()
req.ZoneId = "zone-xxxxxxxx"
req.RecordIds = ["<record-id>"]
client.DeleteDnsRecords(req)

Purge type cheatsheet

TypeWhen to useCaveat
purge_urlSpecific page / asset changedMost surgical; up to 1000 URLs per call
purge_prefixA directory of assets changed (/assets/...)Treats target as a prefix match
purge_hostFull site deploymentAffects everything on the hostname
purge_allEmergency / major migrationAll cache for the zone — origin spike inevitable

Typical post-deploy sequence

# 1. Purge the hostname so users get the new bundle
client.CreatePurgeTask(models.CreatePurgeTaskRequest(
    ZoneId="zone-xxxxxxxx",
    Type="purge_host",
    Targets=["hub.example.com"],
))

# 2. Prefetch the most-trafficked routes so edge cache is warm
client.CreatePrefetchTask(models.CreatePrefetchTaskRequest(
    ZoneId="zone-xxxxxxxx",
    Targets=[
        "https://hub.example.com/",
        "https://hub.example.com/chat",
        "https://hub.example.com/login",
    ],
))

# 3. Watch for completion (typically 30s – 2min)
import time
while True:
    resp = client.DescribePurgeTasks(models.DescribePurgeTasksRequest(
        ZoneId="zone-xxxxxxxx",
        Filters=[{"Name": "status", "Values": ["processing"]}],
    ))
    if not resp.Tasks:
        print("All purge tasks done.")
        break
    print(f"{len(resp.Tasks)} tasks still processing...")
    time.sleep(15)

Important reminders

  • purge_all causes origin load spike. Use only when surgical purges aren't enough.
  • Prefetch isn't free — it counts against your CDN traffic quota at edge-warm time. Only prefetch URLs you're confident users will hit.
  • Purge / prefetch propagation is global but takes 30s–2min. Plan deploy windows accordingly.
  • EdgeOne DNS and DNSPod DNS are separate. Domains onboarded to EdgeOne with NS-mode resolve through the TEO API; CNAME-mode domains still resolve through whatever DNS you've configured (DNSPod or third-party). Use the right skill for the right zone type.

Console links

Capabilities

skillsource-acedatacloudskill-tencentcloud-edgeonetopic-acedata-cloudtopic-agent-skillstopic-agentskillstopic-ai-imagetopic-ai-musictopic-ai-toolstopic-ai-videotopic-claude-codetopic-cursortopic-gemini-clitopic-github-copilottopic-mcp

Install

Quality

0.45/ 1.00

deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (7,441 chars)

Provenance

Indexed fromgithub
Enriched2026-05-18 19:14:04Z · deterministic:skill-github:v1 · v1
First seen2026-05-18
Last seen2026-05-18

Agent access