תיעוד 108
יצירת כלל דרך API
עודכן לאחרונה: 14 בספטמבר 2026.
השתמשו ב-Rulesets API כדי ליצור כלל מטמון דרך API. להגדרת ה-API של Cloudflare עיינו ב-תיעוד ה-API.
#הגדרות בסיסיות של כלל
ביצירת כלל מטמון דרך API, ודאו שאתם:
- מגדירים את פעולת הכלל ל-
set_cache_settings. - מגדירים את הפרמטרים בשדה
action_parametersלפי ה-הגדרות שברצונכם לעקוף עבור בקשות תואמות. - פורסים את הכלל ל-ruleset של נקודת הכניסה של השלב
http_request_cache_settings.
#הליך
- השתמשו במתודה List zone rulesets כדי לקבל את רשימת הכללים שכבר קיימים ב-ruleset של נקודת הכניסה של השלב
http_request_cache_settings. - אם ה-ruleset של השלב אינו קיים, צרו אותו באמצעות הפעולה Create a zone ruleset. במאפייני ה-ruleset החדש, הגדירו את הערכים הבאים:
- kind:
zone - phase:
http_request_cache_settings
- kind:
- השתמשו בפעולה Update a zone ruleset כדי להוסיף כלל מטמון לרשימת כללי ה-ruleset. לחלופין, כללו את הכלל בבקשת Create a zone ruleset שהוזכרה בשלב הקודם.
- (אופציונלי) כדי לעדכן כלל מטמון קיים, השתמשו בפעולה Update a zone ruleset rule. לדוגמה, עיינו בסעיף שלהלן.
#דוגמאות לבקשות
הדוגמאות האלה מגדירות את כל ה-Cache Rules של אזור לכלל יחיד, מכיוון ששימוש ישיר בדוגמאות האלה יגרום למחיקה של כל הכללים הקיימים.
#דוגמה: שמירת הכל במטמון עבור example.com
Update a zone ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(http.host eq \"example.com\")",
"description": "cache everything for example.com",
"action": "set_cache_settings",
"action_parameters": {
"cache": true
}
}
]
}'#דוגמה: הארכת זמן הקריאה עבור לקוחות Android
Update a zone ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(http.user_agent contains \"Android\")",
"description": "extend read timeout for android clients",
"action": "set_cache_settings",
"action_parameters": {
"cache": true,
"read_timeout": 300
}
}
]
}'#דוגמה: כיבוי Cache Reserve עבור נכסים שמתעדכנים בתדירות גבוהה
Update a zone ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(starts_with(http.request.uri, \"/feed/\"))",
"description": "disable cache reserve for frequently updated assets",
"action": "set_cache_settings",
"action_parameters": {
"cache": true,
"cache_reserve": {
"enabled": false
}
}
}
]
}'#דוגמה: הפעלת Origin Range Requests עבור קבצי מדיה גדולים
Update a zone entry point ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_cache_settings/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(http.request.uri.path.extension in {\"mp4\" \"mov\" \"m4v\"})",
"description": "turn on origin range requests for large media files",
"action": "set_cache_settings",
"action_parameters": {
"cache": true,
"origin_range_requests": {
"mode": "on"
}
}
}
]
}'#דוגמה: כיבוי ברירת המחדל של Origin Range Requests
Update a zone entry point ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_cache_settings/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "true",
"description": "turn off default Origin Range Requests",
"action": "set_cache_settings",
"action_parameters": {
"origin_range_requests": {
"mode": "off"
}
}
}
]
}'#דוגמה: כיבוי ברירות המחדל של TTL במטמון
Update a zone ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(http.host eq \"example.com\")",
"description": "turn off default cache ttls",
"action": "set_cache_settings",
"action_parameters": {
"cache": true,
"edge_ttl": {
"mode": "bypass_by_default"
}
}
}
]
}'#דוגמה: שמירה במטמון של תגובות Vary צפויות
Update a zone entry point ruleset (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_cache_settings/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"expression": "(http.host eq \"example.com\")",
"description": "cache expected vary responses",
"action": "set_cache_settings",
"action_parameters": {
"cache": true,
"vary": {
"default": {
"action": "bypass"
},
"headers": {
"accept": {
"action": "normalize",
"media_types": [
"text/html",
"application/json"
]
},
"accept-language": {
"action": "normalize",
"languages": [
"en",
"fr",
"de"
]
}
}
}
}
}
]
}'#דוגמה: עדכון המיקום של כלל קיים
Update a zone ruleset rule (bash)
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"expression": "(http.host eq \"example.com\")",
"description": "cache everything for example.com",
"action": "set_cache_settings",
"action_parameters": {
"cache": true
},
"enabled": true,
"position": {
"before": "da5e8e506c8e7877fe06cdf4c41add54"
}
}'#הרשאות נדרשות לאסימון API
לאסימון ה-API שמשמש בבקשות API לניהול Cache Rules חייבות להיות ההרשאות הבאות:
- Zone > Cache Rules > Edit
- Account Rulesets > Edit
- Account Filter Lists > Edit