Gestire rete per la distribuzione di contenuti di Azure con PowerShell

PowerShell offre uno dei metodi più flessibili per gestire i profili e gli endpoint di Azure rete per la distribuzione di contenuti. È possibile usare PowerShell in modo interattivo o scrivendo script per automatizzare le attività di gestione. Questa esercitazione illustra diverse delle attività più comuni che è possibile eseguire con PowerShell per gestire i profili e gli endpoint di Azure rete per la distribuzione di contenuti.

Prerequisiti

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Per usare PowerShell per gestire i profili e gli endpoint di Azure rete per la distribuzione di contenuti, è necessario che sia installato il modulo Azure PowerShell. Per informazioni su come installare Azure PowerShell e connettersi ad Azure usando il cmdlet Connect-AzAccountCome installare e configurare Azure PowerShell.

Importante

È necessario accedere con Connect-AzAccount per poter eseguire i cmdlet di Azure PowerShell.

Elenco dei cmdlet di Azure rete per la distribuzione di contenuti

È possibile elencare tutti i cmdlet di Azure rete per la distribuzione di contenuti usando il 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

Visualizzazione delle informazioni della Guida

È possibile visualizzare la Guida con uno di questi cmdlet usando il cmdlet Get-Help . Get-Help fornisce la sintassi e facoltativamente illustra gli esempi.

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"

Elenco dei profili di azure rete per la distribuzione di contenuti esistenti

Il Get-AzCdnProfile cmdlet senza parametri recupera tutti i profili di rete per la distribuzione di contenuti esistenti.

Get-AzCdnProfile

È possibile inviare pipe di questo output ai cmdlet per l'enumerazione.

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

È anche possibile restituire un solo profilo specificando il gruppo di risorse e il nome del profilo.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Suggerimento

È possibile avere più profili di rete per la distribuzione di contenuti con lo stesso nome, purché si trovino in gruppi di risorse diversi. Se si omette il parametro ResourceGroupName , vengono restituiti tutti i profili con un nome corrispondente.

Elenco degli endpoint di rete per la distribuzione di contenuti esistenti

Get-AzCdnEndpoint può recuperare un singolo endpoint o tutti gli endpoint in un profilo.

# 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

Creazione di profili e endpoint di rete per la distribuzione di contenuti

New-AzCdnProfile e New-AzCdnEndpoint vengono usati per creare profili e endpoint di rete per la distribuzione di contenuti. Sono supportati i seguenti tipi SKU:

  • 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

Aggiunta di un dominio personalizzato

New-AzCdnCustomDomain aggiunge un nome di dominio personalizzato a un endpoint esistente.

Importante

È necessario configurare CNAME con il provider DNS, come descritto in Come eseguire il mapping del dominio personalizzato all'endpoint rete per la distribuzione di contenuti. È possibile testare il mapping prima di modificare l'endpoint usando Test-AzCdnCustomDomain.

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

Modifica di un endpoint

Update-AzCdnEndpoint modifica un endpoint esistente.

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

Eliminazione

Clear-AzCdnEndpointContent elimina gli asset memorizzati nella cache.

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

Pre-caricare alcuni asset

Nota

Il pre-caricamento è disponibile solo in Azure rete per la distribuzione di contenuti dai profili Edgio.

Import-AzCdnEndpointContent pre-carica gli asset nella cache della rete per la distribuzione di contenuti.

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

Avvio/arresto degli endpoint di rete per la distribuzione di contenuti

Start-AzCdnEndpoint e Stop-AzCdnEndpoint possono essere usati per avviare e arrestare singoli endpoint o gruppi di endpoint.

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

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

Creazione di criteri del motore regole standard e applicazione a un endpoint di rete per la distribuzione di contenuti esistente

L'elenco seguente di cmdlet può essere usato per creare un criterio del motore regole standard e applicarlo a un endpoint di rete per la distribuzione di contenuti esistente.

Condizioni:

Azioni:

# 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

Eliminazione delle risorse di rete per la distribuzione di contenuti

Remove-AzCdnProfile e Remove-AzCdnEndpoint possono essere usati per rimuovere profili ed endpoint.

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

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

Passaggi successivi

  • Informazioni su come automatizzare rete per la distribuzione di contenuti di Azure con .NET o Node.js.

  • Per informazioni sulle funzionalità di rete per la distribuzione di contenuti, vedere Panoramica della rete per la distribuzione di contenuti.