Správa služby Azure Content Delivery Network pomocí PowerShellu

PowerShell nabízí jednu z nejflexibilnějších metod správy profilů a koncových bodů služby Azure Content Delivery Network. PowerShell můžete používat interaktivně nebo psaním skriptů pro automatizaci úloh správy. Tento kurz ukazuje několik nejběžnějších úloh, které můžete pomocí PowerShellu provést ke správě profilů a koncových bodů služby Azure Content Delivery Network.

Požadavky

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Pokud chcete ke správě profilů a koncových bodů služby Azure Content Delivery Network použít PowerShell, musíte mít nainstalovaný modul Azure PowerShellu. Informace o instalaci Azure PowerShellu a připojení k Azure pomocí této Connect-AzAccount rutiny najdete v tématu Postup instalace a konfigurace Azure PowerShellu.

Důležité

Než budete moct spouštět rutiny Azure PowerShellu, musíte se přihlásit Connect-AzAccount pomocí.

Výpis rutin Azure Content Delivery Network

Pomocí této Get-Command rutiny můžete zobrazit seznam všech rutin služby Azure Content Delivery Network.

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

Získání nápovědy

Pomocí této rutiny můžete získat pomoc s některou Get-Help z těchto rutin. Get-Help poskytuje použití a syntaxi a volitelně zobrazuje příklady.

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"

Výpis existujících profilů služby Azure Content Delivery Network

Rutina Get-AzCdnProfile bez jakýchkoli parametrů načte všechny vaše stávající profily sítě pro doručování obsahu.

Get-AzCdnProfile

Tento výstup lze předvést do rutin pro výčet.

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

Můžete také vrátit jeden profil zadáním názvu profilu a skupiny prostředků.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Tip

Je možné mít více profilů sítě pro doručování obsahu se stejným názvem, pokud jsou v různých skupinách prostředků. Vynechání parametru ResourceGroupName vrátí všechny profily s odpovídajícím názvem.

Výpis existujících koncových bodů sítě pro doručování obsahu

Get-AzCdnEndpoint může načíst jednotlivé koncové body nebo všechny koncové body v profilu.

# 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

Vytváření profilů a koncových bodů sítě pro doručování obsahu

New-AzCdnProfile a New-AzCdnEndpoint slouží k vytváření profilů a koncových bodů sítě pro doručování obsahu. Podporují se následující skladové položky:

  • 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

Přidání vlastní domény

New-AzCdnCustomDomain přidá vlastní název domény do existujícího koncového bodu.

Důležité

Musíte nastavit CNAME u svého poskytovatele DNS, jak je popsáno v tématu Postup mapování vlastní domény na koncový bod služby Content Delivery Network. Mapování můžete otestovat před úpravou koncového bodu pomocí Test-AzCdnCustomDomain.

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

Úprava koncového bodu

Update-AzCdnEndpoint upraví existující koncový bod.

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

Vyprázdnění

Clear-AzCdnEndpointContent vyprázdní prostředky uložené v mezipaměti.

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

Předběžné načtení některých prostředků

Poznámka:

Předběžné načítání je k dispozici pouze v Azure Content Delivery Network z profilů Edgio.

Import-AzCdnEndpointContent předem načte prostředky do mezipaměti sítě pro doručování obsahu.

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

Spouštění a zastavování koncových bodů sítě pro doručování obsahu

Start-AzCdnEndpoint a Stop-AzCdnEndpoint dá se použít ke spuštění a zastavení jednotlivých koncových bodů nebo skupin koncových bodů.

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

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

Vytvoření zásad stroje standardních pravidel a použití na existující koncový bod sítě pro doručování obsahu

Následující seznam rutin lze použít k vytvoření zásady modulu standardních pravidel a jeho použití na existující koncový bod sítě pro doručování obsahu.

Podmínky:

Akce:

# 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

Odstranění prostředků sítě pro doručování obsahu

Remove-AzCdnProfile a Remove-AzCdnEndpoint lze ji použít k odebrání profilů a koncových bodů.

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

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

Další kroky

  • Zjistěte, jak automatizovat službu Azure Content Delivery Network pomocí .NET nebo Node.js.

  • Další informace o funkcích sítě pro doručování obsahu najdete v tématu Přehled sítě pro doručování obsahu.