Azure CDN från Verizon Premium rules engine reference
Den här artikeln innehåller detaljerade beskrivningar av tillgängliga matchningsvillkor och funktioner för regelmotorn för Azure Content Delivery Network (CDN).
Regelmotorn är utformad för att vara den slutliga auktoriteten för hur specifika typer av begäranden bearbetas av CDN.
Vanliga användningsområden:
- Åsidosätta eller definiera en anpassad cacheprincip.
- Skydda eller neka begäranden om känsligt innehåll.
- Omdirigeringsbegäranden.
- Lagra anpassade loggdata.
Viktiga begrepp
Viktiga begrepp för att konfigurera regelmotorn beskrivs nedan.
Draft
Ett utkast av en princip består av en eller flera regler som är avsedda att identifiera begäranden och den uppsättning åtgärder som ska tillämpas på dem. Ett utkast är ett pågående arbete som tillåter frekventa konfigurationsuppdateringar utan att påverka platstrafiken. När ett utkast är klart att slutföras bör det konverteras till en skrivskyddad princip.
Regel
En regel identifierar en eller flera typer av begäranden och den uppsättning åtgärder som ska tillämpas på dem.
Den består av:
- En uppsättning villkorsuttryck som definierar logiken genom vilken begäranden identifieras.
- En uppsättning matchningsvillkor som definierar de kriterier som används för att identifiera begäranden.
- En uppsättning funktioner som definierar hur CDN hanterar ovanstående begäranden. Dessa element identifieras i följande bild.

Policy
En princip, som består av en uppsättning skrivskyddade regler, ger möjlighet att:
- Skapa, lagra och hantera flera varianter av dina regler.
- Återställ till en tidigare distribuerad version.
- Förbered händelsespecifika regler i förväg (t.ex. en regel som omdirigerar trafik som ett resultat av ett kundunderhåll av ursprunget).)
Anteckning
Även om endast en princip per miljö tillåts kan principer distribueras efter behov.
Distribuera begäran
En deploy-begäran ger en enkel och effektiviserad procedur genom vilken en princip snabbt kan tillämpas på mellanlagrings- eller produktionsmiljön. En historik över distribuerade begäranden tillhandahålls för att underlätta spårning av ändringar som tillämpas på dessa miljöer.
Anteckning
Endast begäranden som inte godkänns i vårt automatiserade system för validering och felidentifiering kräver manuell granskning och godkännande.
Regel prioritet
Reglerna i en princip bearbetas vanligtvis i den ordning som de visas (dvs. uppifrån och ned). Om begäran matchar motstridiga regler har den sista regeln som ska bearbetas företräde.
Arbetsflöde för principdistribution
Arbetsflödet som en princip kan tillämpas på i produktions- eller mellanlagringsmiljön visas nedan.

| Steg | Beskrivning |
|---|---|
| Skapa utkast | Ett utkast består av en uppsättning regler som definierar hur begäranden för ditt innehåll ska hanteras av CDN. |
| Lås utkast | När ett utkast har genomförts bör det låsas och konverteras till en skrivskyddad princip. |
| Skicka begäran om distribution | Med en distribuerad begäran kan en princip tillämpas på antingen test- eller produktionstrafik. Skicka en distributionsbegäran till mellanlagrings- eller produktionsmiljön. |
| Distribuera granskning av begäran | En distribuerad begäran genomgår automatisk verifiering och felidentifiering. Även om de flesta distribuerade begäranden godkänns automatiskt krävs manuell granskning för mer komplexa principer. |
| Principdistribution(mellanlagring) | Vid godkännande av en distribuerad begäran till mellanlagringsmiljön tillämpas en princip på mellanlagringsmiljön. Med den här miljön kan en princip testas mot test av webbplatstrafik. När principen är redo att tillämpas på live-webbplatstrafik ska en ny distribuerad begäran för produktionsmiljön skickas. |
| Principdistribution(produktion) | Vid godkännande av en distributionsbegäran till produktionsmiljön tillämpas en princip på produktionsmiljön. Med den här miljön kan en princip fungera som den slutliga auktoriteten för att bestämma hur CDN ska hantera livetrafik. |
Syntax
Hur specialtecken behandlas varierar beroende på hur ett matchningsvillkor eller en funktion hanterar textvärden. Ett matchningsvillkor eller en funktion kan tolka text på något av följande sätt:
Literalvärden
Text som tolkas som ett literalvärde behandlar alla specialtecken, med undantag för symbolen % som en del av det värde som måste matchas. Med andra ord uppfylls bara ett villkor för literalmatchning som är inställt på när det \'*'\ exakta värdet (det vill \'*'\ säga ) hittas.
En procentsymbol används för att ange URL-kodning (till exempel %20 ).
Jokerteckenvärden
Text som tolkas som ett jokerteckenvärde tilldelar specialtecken ytterligare betydelse. I följande tabell beskrivs hur följande uppsättning tecken tolkas:
| Tecken | Beskrivning |
|---|---|
| \ | Ett omsnedstreck används för att undvika alla tecken som anges i den här tabellen. Ett omsnedstreck måste anges direkt före specialtecknet som ska hoppas över. Följande syntax undviker till exempel en asterisk: \* |
| % | En procentsymbol används för att ange URL-kodning (till exempel %20 ). |
| * | En asterisk är ett jokertecken som representerar ett eller flera tecken. |
| Space | Ett blanksteg anger att ett matchningsvillkor kan uppfyllas av antingen de angivna värdena eller mönstren. |
| "value" | Ett enkelt citattecken har ingen särskild betydelse. En uppsättning enkla citattecken används dock för att ange att ett värde ska behandlas som ett literalvärde. Det kan användas på följande sätt: – Det gör att ett matchningsvillkor kan uppfyllas när det angivna värdet matchar någon del av jämförelsevärdet. Till exempel 'ma' skulle matcha någon av följande strängar: /business/ma ma master/asset.htm ma p.gif /business/template. ma p – Det gör att ett specialtecken kan anges som ett literaltecken. Du kan till exempel ange ett tecken i literalutrymmet genom att omsluta ett blanksteg inom en uppsättning enkla citattecken (det vill ' ' säga eller 'sample value' ).– Det gör att ett tomt värde kan anges. Ange ett tomt värde genom att ange en uppsättning enkla citattecken (d.v.s. ''). Viktigt! – Om det angivna värdet inte innehåller ett jokertecken betraktas det automatiskt som ett literalvärde, vilket innebär att det inte är nödvändigt att ange en uppsättning enkla citattecken. – Om ett om bakstreck inte utesluter ett annat tecken i den här tabellen ignoreras det när det anges inom en uppsättning enkla citattecken. – Ett annat sätt att ange ett specialtecken som ett literaltecken är att undvika det med ett omsnedstreck (det vill säga \ ). |
Reguljära uttryck
Reguljära uttryck definierar ett mönster som söks efter i ett textvärde. Notation för reguljära uttryck definierar specifika betydelser för en mängd olika symboler. I följande tabell visas hur specialtecken behandlas med matchningsvillkor och funktioner som stöder reguljära uttryck.
| Specialtecken | Beskrivning |
|---|---|
| \ | Ett om bakstreck escapear tecknet som följer, vilket gör att tecknet behandlas som ett literalvärde i stället för att det används som ett reguljärt uttryck. Följande syntax undviker till exempel en asterisk: \* |
| % | Innebörden av en procentsymbol beror på dess användning.%{HTTPVariable}: Den här syntaxen identifierar en HTTP-variabel.%{HTTPVariable%Pattern}: Den här syntaxen använder en procentsymbol för att identifiera en HTTP-variabel och som avgränsare.\%: Om du inte använder en procentsymbol kan den användas som ett literalvärde eller för att ange URL-kodning (till exempel \%20 ). |
| * | Med en asterisk kan föregående tecken matchas noll eller flera gånger. |
| Space | Ett blanksteg behandlas vanligtvis som ett literaltecken. |
| "value" | Enkla citattecken behandlas som literaltecken. En uppsättning enkla citattecken har ingen särskild betydelse. |
Matcha villkor och funktioner som stöder reguljära uttryck accepterar mönster som definieras av Perl Compatible Regular Expressions (PCRE).