Управление Azure сеть доставки содержимого с помощью PowerShell

PowerShell предоставляет один из самых гибких методов управления профилями и конечными точками Azure сеть доставки содержимого. PowerShell можно использовать интерактивно или подготовить скрипты для автоматизации задач управления. В этом руководстве показано несколько наиболее распространенных задач, которые можно выполнить с помощью PowerShell для управления профилями и конечными точками Azure сеть доставки содержимого.

Предварительные требования

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Чтобы использовать PowerShell для управления профилями и конечными точками Azure сеть доставки содержимого, необходимо установить модуль Azure PowerShell. Сведения об установке Azure PowerShell и подключении к Azure с помощью командлета Connect-AzAccount см. в статье How to install and configure Azure PowerShell (Установка и настройка Azure PowerShell).

Внимание

Чтобы выполнять командлеты Azure PowerShell, необходимо сначала войти в систему с помощью Connect-AzAccount.

Перечисление командлетов Azure сеть доставки содержимого

Вы можете перечислить все командлеты Azure сеть доставки содержимого с помощью командлетаGet-Command.

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

Получение справки

Справку по любому из этих командлетов можно получить с помощью Get-Help . Get-Help описывает назначение и синтаксис командлетов, а для некоторых из них приводит примеры.

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"

Перечисление существующих профилей azure сеть доставки содержимого

Командлет Get-AzCdnProfile без каких-либо параметров извлекает все существующие профили сети доставки содержимого.

Get-AzCdnProfile

Этот результат можно передавать в командлеты для перечисления.

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

Также можно получить отдельный профиль, указав имя профиля и группу ресурсов.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Совет

Можно иметь несколько профилей сети доставки содержимого с одинаковым именем, если они находятся в разных группах ресурсов. Исключив параметр ResourceGroupName , вы получите все профили с указанным именем.

Перечисление существующих конечных точек сети доставки содержимого

Get-AzCdnEndpoint позволяет получить отдельную конечную точку или все конечные точки в профиле.

# 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

Создание профилей сети доставки содержимого и конечных точек

New-AzCdnProfile и New-AzCdnEndpoint используются для создания профилей сети доставки содержимого и конечных точек. Поддерживаются такие типы номера 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

Добавление личного домена

New-AzCdnCustomDomain добавляет пользовательское имя домена для существующей конечной точки.

Внимание

Необходимо настроить CNAME с поставщиком DNS, как описано в руководстве по сопоставлению личного домена с конечной точкой сеть доставки содержимого. Это сопоставление можно проверить с помощью Test-AzCdnCustomDomainдо изменения конечной точки.

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

Изменение конечной точки

Update-AzCdnEndpoint изменяет существующую конечную точку.

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

Очистка

Clear-AzCdnEndpointContent очищает кэшированные ресурсы.

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

Предварительная загрузка некоторых ресурсов

Примечание.

Предварительная загрузка доступна только в Azure сеть доставки содержимого из профилей Edgio.

Import-AzCdnEndpointContent предварительно загружает ресурсы в кэш сети доставки содержимого.

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

Запуск и остановка конечных точек сети доставки содержимого

Start-AzCdnEndpoint и Stop-AzCdnEndpoint позволяют запускать и останавливать отдельные конечные точки или группы конечных точек.

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

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

Создание политики обработчика стандартных правил и применение к существующей конечной точке сети доставки содержимого

Следующий список командлетов можно использовать для создания политики обработчика стандартных правил и применения его к существующей конечной точке сети доставки содержимого.

Условия:

Действия:

# 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

Удаление сетевых ресурсов доставки содержимого

Remove-AzCdnProfile и Remove-AzCdnEndpoint позволяют удалять профили и конечные точки.

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

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

Next Steps

  • Узнайте, как автоматизировать сеть доставки содержимого Azure с помощью .NET или Node.js.

  • Дополнительные сведения о возможностях сети доставки содержимого см. в разделе "Обзор сети доставки содержимого".