Поделиться через


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

Important

  • Начиная с 15 августа 2025 г. Azure CDN от Майкрософт (классическая модель) больше не будет поддерживать создание нового домена или создания профиля. Перейдите в AFD Standard и Premium , чтобы создать новые домены или профили и избежать нарушений работы служб.  Подробнее
  • Начиная с 15 августа 2025 г. Azure CDN от Майкрософт (классической) больше не будет поддерживать управляемые сертификаты. Чтобы избежать прерывания работы службы, переключитесь на использование собственного сертификата (BYOC) или перейдите на AFD Standard и Premium до этой даты. Существующие управляемые сертификаты будут автоматически обновляться до 15 августа 2025 г. и остаются действительными до 14 апреля 2026 г. Подробнее
  • Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать прерывания работы службы, перейдите в AFD Standard или Premium. Подробнее.
  • Azure CDN от компании Edgio будет выведен из эксплуатации 15 января 2025 года. Подробнее.

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

Prerequisites

Note

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

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

Important

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

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

Вы можете перечислить все командлеты Azure Content Delivery Network с помощью командлета 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://learn.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

Tip

Можно иметь несколько профилей сети доставки содержимого с одинаковым именем, если они находятся в разных группах ресурсов. Исключив параметр 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 добавляет пользовательское имя домена для существующей конечной точки.

Important

Необходимо настроить CNAME у поставщика DNS, как описано в руководстве по сопоставлению пользовательского домена с конечной точкой CDN. Сопоставление можно проверить с помощью 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"

Purging

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

# Purge some assets.
Clear-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

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

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

Conditions:

Actions:

# 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

Дальнейшие шаги

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

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