Az Azure Content Delivery Network kezelése a PowerShell-lel
Fontos
A Microsofttól (klasszikus) származó Azure CDN Standard 2027. szeptember 30-án megszűnik. A szolgáltatáskimaradások elkerülése érdekében fontos, hogy az Azure CDN Standardot 2027. szeptember 30-ig migrálja a Microsoft (klasszikus) profiljaiból az Azure Front Door Standard vagy a Premium szintre. További információ: Azure CDN Standard a Microsoft (klasszikus) kivonásáról.
A PowerShell az egyik legrugalmasabb módszert kínálja az Azure Content Delivery Network-profilok és -végpontok kezeléséhez. A PowerShell interaktív módon vagy szkriptek írásával automatizálhatja a felügyeleti feladatokat. Ez az oktatóanyag az Azure Content Delivery Network-profilok és -végpontok kezeléséhez a PowerShell-lel elvégezhető leggyakoribb feladatokat mutatja be.
Előfeltételek
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Az Azure Content Delivery Network-profilok és -végpontok kezeléséhez a PowerShell-lel rendelkeznie kell az Azure PowerShell-modullal. Az Azure PowerShell telepítésével és az Azure-hoz való csatlakozással kapcsolatos tudnivalókért tekintse meg az Connect-AzAccount
Azure PowerShell telepítését és konfigurálását ismertető témakört.
Fontos
Az Azure PowerShell-parancsmagok végrehajtása előtt be kell jelentkeznie Connect-AzAccount
.
Az Azure Content Delivery Network parancsmagjainak listázása
A parancsmaggal Get-Command
listázhatja az Összes Azure Content Delivery Network-parancsmagot.
PS C:\> Get-Command -Module Az.Cdn
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Confirm-AzCdnEndpointProbeURL 2.1.0 Az.Cdn
Cmdlet Disable-AzCdnCustomDomain 2.1.0 Az.Cdn
Cmdlet Disable-AzCdnCustomDomainHttps 2.1.0 Az.Cdn
Cmdlet Enable-AzCdnCustomDomain 2.1.0 Az.Cdn
Cmdlet Enable-AzCdnCustomDomainHttps 2.1.0 Az.Cdn
Cmdlet Get-AzCdnCustomDomain 2.1.0 Az.Cdn
Cmdlet Get-AzCdnEdgeNode 2.1.0 Az.Cdn
Cmdlet Get-AzCdnEndpoint 2.1.0 Az.Cdn
Cmdlet Get-AzCdnEndpointResourceUsage 2.1.0 Az.Cdn
Cmdlet Get-AzCdnOrigin 2.1.0 Az.Cdn
Cmdlet Get-AzCdnProfile 2.1.0 Az.Cdn
Cmdlet Get-AzCdnProfileResourceUsage 2.1.0 Az.Cdn
Cmdlet Get-AzCdnProfileSupportedOptimizationType 2.1.0 Az.Cdn
Cmdlet Get-AzCdnSubscriptionResourceUsage 2.1.0 Az.Cdn
Cmdlet New-AzCdnCustomDomain 2.1.0 Az.Cdn
Cmdlet New-AzCdnDeliveryPolicy 2.1.0 Az.Cdn
Cmdlet New-AzCdnDeliveryRule 2.1.0 Az.Cdn
Cmdlet New-AzCdnDeliveryRuleAction 2.1.0 Az.Cdn
Cmdlet New-AzCdnDeliveryRuleCondition 2.1.0 Az.Cdn
Cmdlet New-AzCdnEndpoint 2.1.0 Az.Cdn
Cmdlet New-AzCdnProfile 2.1.0 Az.Cdn
Cmdlet Remove-AzCdnCustomDomain 2.1.0 Az.Cdn
Cmdlet Remove-AzCdnEndpoint 2.1.0 Az.Cdn
Cmdlet Remove-AzCdnProfile 2.1.0 Az.Cdn
Cmdlet Set-AzCdnProfile 2.1.0 Az.Cdn
Cmdlet Start-AzCdnEndpoint 2.1.0 Az.Cdn
Cmdlet Stop-AzCdnEndpoint 2.1.0 Az.Cdn
Segítség kérése
Ezen parancsmagok bármelyikével kapcsolatban segítséget kaphat a Get-Help
parancsmag használatával. Get-Help
használatot és szintaxist biztosít, és opcionálisan példákat jelenít meg.
PS C:\> Get-Help Get-AzCdnProfile
NAME
Get-AzCdnProfile
SYNOPSIS
Gets an Azure CDN profile.
SYNTAX
Get-AzCdnProfile [-ProfileName <String>] [-ResourceGroupName <String>] [-InformationAction
<ActionPreference>] [-InformationVariable <String>] [<CommonParameters>]
DESCRIPTION
Gets an Azure CDN profile and all related information.
RELATED LINKS
https://docs.microsoft.com/powershell/module/az.cdn/get-azcdnprofile
REMARKS
To see the examples, type: "get-help Get-AzCdnProfile -examples".
For more information, type: "get-help Get-AzCdnProfile -detailed".
For technical information, type: "get-help Get-AzCdnProfile -full".
For online help, type: "get-help Get-AzCdnProfile -online"
Meglévő Azure Content Delivery Network-profilok listázása
A Get-AzCdnProfile
paraméterek nélküli parancsmag lekéri az összes meglévő tartalomkézbesítési hálózati profilt.
Get-AzCdnProfile
Ez a kimenet az enumerálás parancsmagjaihoz is csövezhető.
# Output the name of all profiles on this subscription.
Get-AzCdnProfile | ForEach-Object { Write-Host $_.Name }
Egyetlen profilt is visszaadhat a profilnév és az erőforráscsoport megadásával.
Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG
Tipp.
Több tartalomkézbesítési hálózati profil is lehet ugyanazzal a névvel, feltéve, hogy különböző erőforráscsoportokban találhatók. Ha kihagyja a paramétert, az ResourceGroupName
összes profilt egyező névvel adja vissza.
Meglévő tartalomkézbesítési hálózati végpontok listázása
Get-AzCdnEndpoint
egy adott végpontot vagy a profil összes végpontjának lekérését.
# Get a single endpoint.
Get-AzCdnEndpoint -ProfileName CdnDemo -ResourceGroupName CdnDemoRG -EndpointName cdndocdemo
# Get all of the endpoints on a given profile.
Get-AzCdnEndpoint -ProfileName CdnDemo -ResourceGroupName CdnDemoRG
Tartalomkézbesítési hálózati profilok és végpontok létrehozása
New-AzCdnProfile
és New-AzCdnEndpoint
a tartalomkézbesítési hálózati profilok és végpontok létrehozására szolgálnak. A következő termékváltozatok támogatottak:
- Standard_Verizon
- Premium_Verizon
- Custom_Verizon
- Standard_Microsoft
- Standard_ChinaCdn
# Create a new profile
New-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Sku Standard_Microsoft -Location "Central US"
# Create a new endpoint
$origin = @{
Name = "Contoso"
HostName = "www.contoso.com"
};
New-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Location "Central US" -EndpointName cdnposhdoc -Origin $origin
Egyéni tartomány hozzáadása
New-AzCdnCustomDomain
egyéni tartománynevet ad hozzá egy meglévő végponthoz.
Fontos
A CNAME-t a DNS-szolgáltatóhoz kell beállítania az egyéni tartomány tartalomkézbesítési hálózati végpontra való leképezése című cikkben leírtak szerint. A végpont Test-AzCdnCustomDomain
módosítása előtt tesztelheti a leképezést.
# Create the custom domain on the endpoint
New-AzCdnCustomDomain -ResourceGroupName CdnDemoRG -ProfileName CdnPoshDemo -Name contoso -HostName "cdn.contoso.com" -EndpointName cdnposhdoc
Végpont módosítása
Update-AzCdnEndpoint
módosítja a meglévő végpontot.
# Update endpoint with compression settings
Update-AzCdnEndpoint -Name cdnposhdoc -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -IsCompressionEnabled -ContentTypesToCompress "text/javascript","text/css","application/json"
Öblítés
Clear-AzCdnEndpointContent
kiüríti a gyorsítótárazott eszközöket.
# Purge some assets.
Clear-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")
Egyes objektumok előzetes betöltése
Feljegyzés
Az előzetes betöltés csak az Azure Content Delivery Networken érhető el az Edgio-profilokból.
Import-AzCdnEndpointContent
előre betölti az objektumokat a tartalomkézbesítési hálózati gyorsítótárba.
Import-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")`
Tartalomkézbesítési hálózati végpontok indítása/leállítása
Start-AzCdnEndpoint
és Stop-AzCdnEndpoint
használható az egyes végpontok vagy végpontcsoportok elindításához és leállításához.
# Stop the CdnPoshDemo endpoint
Stop-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc
# Start the CdnPoshDemo endpoint
Start-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc
Standard szabályok motorszabályzatának létrehozása és egy meglévő tartalomkézbesítési hálózati végpontra való alkalmazás
A következő parancsmagok listája használható standard szabályok motorszabályzatának létrehozásához és egy meglévő tartalomkézbesítési hálózati végpontra való alkalmazásához.
Feltételek:
- New-AzFrontDoorCdnRuleCookiesConditionObject
- New-AzCdnDeliveryRuleHttpVersionConditionObject
- New-AzCdnDeliveryRuleIsDeviceConditionObject
- New-AzCdnDeliveryRulePostArgsConditionObject
- New-AzCdnDeliveryRuleQueryStringConditionObject
- New-AzCdnDeliveryRuleRemoteAddressConditionObject
- New-AzCdnDeliveryRuleRequestBodyConditionObject
- New-AzCdnDeliveryRuleRequestHeaderConditionObject
- New-AzCdnDeliveryRuleRequestMethodConditionObject
- New-AzCdnDeliveryRuleRequestSchemeConditionObject
- New-AzCdnDeliveryRuleRequestUriConditionObject
- New-AzCdnDeliveryRuleResponseHeaderActionObject
- New-AzCdnDeliveryRuleUrlFileExtensionConditionObject
- New-AzCdnDeliveryRuleUrlFileNameConditionObject
- New-AzCdnDeliveryRuleUrlPathConditionObject
Műveletek:
- New-AzCdnDeliveryRuleRequestHeaderActionObject
- New-AzCdnDeliveryRuleRequestHeaderActionObject
- New-AzCdnUrlRedirectActionObject
- New-AzCdnUrlRewriteActionObject
- New-AzCdnUrlSigningActionObject
# Create a path based Response header modification rule.
$cond1 = New-AzCdnDeliveryRuleUrlPathConditionObject -Name UrlPath -ParameterOperator BeginsWith -ParameterMatchValue "/images/"
$action1 = New-AzCdnDeliveryRuleResponseHeaderActionObject -Name ModifyResponseHeader -ParameterHeaderAction Overwrite -ParameterHeaderName "Access-Control-Allow-Origin" -ParameterValue "*"
$rule1 = New-AzCdnDeliveryRuleObject -Name "PathBasedCacheOverride" -Order 1 -Condition $cond1 -Action $action1
# Create a new http to https redirect rule
$cond1 = New-AzCdnDeliveryRuleRequestSchemeConditionObject -Name RequestScheme -ParameterMatchValue HTTPS
$action1 = New-AzCdnUrlRedirectActionObject -Name UrlRedirect -ParameterRedirectType Found -ParameterDestinationProtocol Https
$rule2 = New-AzCdnDeliveryRuleObject -Name "UrlRewriteRule" -Order 2 -Condition $cond1 -Action $action1
# Update existing endpoint with new rules
Update-AzCdnEndpoint -Name cdnposhdoc -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -DeliveryPolicyRule $rule1,$rule2
Tartalomkézbesítési hálózati erőforrások törlése
Remove-AzCdnProfile
profilok Remove-AzCdnEndpoint
és végpontok eltávolítására használható.
# Remove a single endpoint
Remove-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc
# Remove a single profile
Remove-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG