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

Внимание

Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений работы службы, важно перенести профили Azure CDN уровня "Стандартный" от Майкрософт (классический) на уровень Azure Front Door standard или Premium к 30 сентября 2027 года. Дополнительные сведения см. в статье Azure CDN Standard от майкрософт (классическая версия).

Azure CDN из Эдгио будет прекращено 4 ноября 2025 г. Перед этой датой необходимо перенести рабочую нагрузку в Azure Front Door. Дополнительные сведения см. в статье Azure CDN из Edgio для выхода на пенсию.

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.

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