Share via


Azure Content Delivery Network beheren met PowerShell

PowerShell biedt een van de meest flexibele methoden voor het beheren van uw Azure Content Delivery Network-profielen en -eindpunten. U kunt PowerShell interactief gebruiken of door scripts te schrijven om beheertaken te automatiseren. In deze zelfstudie ziet u een aantal van de meest voorkomende taken die u met PowerShell kunt uitvoeren om uw Azure Content Delivery Network-profielen en -eindpunten te beheren.

Vereisten

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Als u PowerShell wilt gebruiken om uw Azure Content Delivery Network-profielen en -eindpunten te beheren, moet de Azure PowerShell-module zijn geïnstalleerd. Zie Azure PowerShell installeren en verbinding maken met Azure met behulp van de Connect-AzAccount cmdlet voor informatie over het installeren en configureren van Azure PowerShell.

Belangrijk

U moet zich aanmelden voordat Connect-AzAccount u Azure PowerShell-cmdlets kunt uitvoeren.

De Azure Content Delivery Network-cmdlets weergeven

U kunt alle Azure Content Delivery Network-cmdlets weergeven met behulp van de Get-Command cmdlet.

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

Hulp krijgen

U kunt hulp krijgen bij elk van deze cmdlets met behulp van de Get-Help cmdlet. Get-Help biedt gebruik en syntaxis, en geeft eventueel voorbeelden weer.

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"

Bestaande Azure Content Delivery Network-profielen weergeven

De Get-AzCdnProfile cmdlet zonder parameters haalt al uw bestaande netwerkprofielen voor contentlevering op.

Get-AzCdnProfile

Deze uitvoer kan worden doorgesluisd naar cmdlets voor opsomming.

# Output the name of all profiles on this subscription.
Get-AzCdnProfile | ForEach-Object { Write-Host $_.Name }

U kunt ook één profiel retourneren door de profielnaam en resourcegroep op te geven.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Tip

Het is mogelijk om meerdere netwerkprofielen voor contentlevering met dezelfde naam te hebben, zolang ze zich in verschillende resourcegroepen bevinden. Als u de ResourceGroupName parameter weglaat, worden alle profielen met een overeenkomende naam geretourneerd.

Bestaande netwerkeindpunten voor contentlevering weergeven

Get-AzCdnEndpoint kan een afzonderlijk eindpunt of alle eindpunten in een profiel ophalen.

# 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

Netwerkprofielen en eindpunten voor contentlevering maken

New-AzCdnProfile en New-AzCdnEndpoint worden gebruikt om netwerkprofielen en eindpunten voor contentlevering te maken. De volgende SKU's worden ondersteund:

  • 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

Een aangepast domein toevoegen

New-AzCdnCustomDomain voegt een aangepaste domeinnaam toe aan een bestaand eindpunt.

Belangrijk

U moet de CNAME instellen met uw DNS-provider, zoals beschreven in Het toewijzen van aangepast domein aan het eindpunt van contentleveringsnetwerk. U kunt de toewijzing testen voordat u het eindpunt wijzigt met behulp van Test-AzCdnCustomDomain.

# Create the custom domain on the endpoint
New-AzCdnCustomDomain -ResourceGroupName CdnDemoRG -ProfileName CdnPoshDemo -Name contoso -HostName "cdn.contoso.com" -EndpointName cdnposhdoc

Een eindpunt wijzigen

Update-AzCdnEndpoint hiermee wijzigt u een bestaand eindpunt.

# Update endpoint with compression settings
Update-AzCdnEndpoint -Name cdnposhdoc -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -IsCompressionEnabled -ContentTypesToCompress "text/javascript","text/css","application/json"

Reinigend

Clear-AzCdnEndpointContent Opschonen van assets in cache.

# Purge some assets.
Clear-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")

Sommige assets vooraf laden

Notitie

Vooraf laden is alleen beschikbaar in Azure Content Delivery Network vanuit Edgio-profielen.

Import-AzCdnEndpointContent laadt assets vooraf in de cache van het netwerk voor contentlevering.

Import-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")`

Netwerkeindpunten voor het leveren van inhoud starten/stoppen

Start-AzCdnEndpoint en Stop-AzCdnEndpoint kan worden gebruikt om afzonderlijke eindpunten of groepen eindpunten te starten en te stoppen.

# Stop the CdnPoshDemo endpoint
Stop-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc

# Start the CdnPoshDemo endpoint
Start-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc

Standaardregelenginebeleid maken en toepassen op een bestaand netwerkeindpunt voor contentlevering

De volgende lijst met cmdlets kan worden gebruikt om een standaardbeleidsregelsgine te maken en toe te passen op een bestaand netwerkeindpunt voor contentlevering.

Voorwaarden:

Acties:

# 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

Netwerkbronnen voor contentlevering verwijderen

Remove-AzCdnProfile en Remove-AzCdnEndpoint kan worden gebruikt om profielen en eindpunten te verwijderen.

# Remove a single endpoint
Remove-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc

# Remove a single profile
Remove-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG

Volgende stappen

  • Meer informatie over het automatiseren van Azure Content Delivery Network met .NET of Node.js.

  • Zie Overzicht van het netwerk voor contentlevering voor meer informatie over netwerkfuncties voor contentlevering.