Управление Azure CDN с помощью PowerShellManage Azure CDN with PowerShell

PowerShell — это одно из самых гибких средств управления профилями и конечными точками Azure CDN.PowerShell provides one of the most flexible methods to manage your Azure CDN profiles and endpoints. PowerShell можно использовать интерактивно или подготовить скрипты для автоматизации задач управления.You can use PowerShell interactively or by writing scripts to automate management tasks. В этом руководстве описано несколько распространенных задач по управлению профилями и конечными точками Azure CDN, которые можно выполнять с помощью PowerShell.This tutorial demonstrates several of the most common tasks you can accomplish with PowerShell to manage your Azure CDN profiles and endpoints.

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

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Чтобы использовать PowerShell для управления профилями и конечными точками Azure CDN, прежде всего нужно установить модуль Azure PowerShell.To use PowerShell to manage your Azure CDN profiles and endpoints, you must have the Azure PowerShell module installed. Сведения об установке Azure PowerShell и подключении к Azure с помощью командлета Connect-AzAccount см. в статье How to install and configure Azure PowerShell (Установка и настройка Azure PowerShell).To learn how to install Azure PowerShell and connect to Azure using the Connect-AzAccount cmdlet, see How to install and configure Azure PowerShell.

Важно!

Чтобы выполнять командлеты Azure PowerShell, необходимо сначала войти в систему с помощью Connect-AzAccount.You must log in with Connect-AzAccount before you can execute Azure PowerShell cmdlets.

Получение списка командлетов Azure CDNListing the Azure CDN cmdlets

Полный список командлетов Azure CDN можно получить с помощью Get-Command .You can list all the Azure CDN cmdlets using the Get-Command cmdlet.

PS C:\> Get-Command -Module Az.Cdn

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-AzCdnCustomDomain                         2.0.0      Az.Cdn
Cmdlet          Get-AzCdnEndpoint                             2.0.0      Az.Cdn
Cmdlet          Get-AzCdnEndpointNameAvailability             2.0.0      Az.Cdn
Cmdlet          Get-AzCdnOrigin                               2.0.0      Az.Cdn
Cmdlet          Get-AzCdnProfile                              2.0.0      Az.Cdn
Cmdlet          Get-AzCdnProfileSsoUrl                        2.0.0      Az.Cdn
Cmdlet          New-AzCdnCustomDomain                         2.0.0      Az.Cdn
Cmdlet          New-AzCdnEndpoint                             2.0.0      Az.Cdn
Cmdlet          New-AzCdnProfile                              2.0.0      Az.Cdn
Cmdlet          Publish-AzCdnEndpointContent                  2.0.0      Az.Cdn
Cmdlet          Remove-AzCdnCustomDomain                      2.0.0      Az.Cdn
Cmdlet          Remove-AzCdnEndpoint                          2.0.0      Az.Cdn
Cmdlet          Remove-AzCdnProfile                           2.0.0      Az.Cdn
Cmdlet          Set-AzCdnEndpoint                             2.0.0      Az.Cdn
Cmdlet          Set-AzCdnOrigin                               2.0.0      Az.Cdn
Cmdlet          Set-AzCdnProfile                              2.0.0      Az.Cdn
Cmdlet          Start-AzCdnEndpoint                           2.0.0      Az.Cdn
Cmdlet          Stop-AzCdnEndpoint                            2.0.0      Az.Cdn
Cmdlet          Test-AzCdnCustomDomain                        2.0.0      Az.Cdn
Cmdlet          Unpublish-AzCdnEndpointContent                2.0.0      Az.Cdn

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

Справку по любому из этих командлетов можно получить с помощью Get-Help .You can get help with any of these cmdlets using the Get-Help cmdlet. Get-Help описывает назначение и синтаксис командлетов, а для некоторых из них приводит примеры.Get-Help provides usage and syntax, and optionally shows examples.

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

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".

Получение списка существующих профилей Azure CDNListing existing Azure CDN profiles

Командлет Get-AzCdnProfile , запущенный без параметров, возвращает все существующие CDN профили.The Get-AzCdnProfile cmdlet without any parameters retrieves all your existing CDN profiles.

Get-AzCdnProfile

Этот результат можно передавать в командлеты для перечисления.This output can be piped to cmdlets for enumeration.

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

# Return only **Azure CDN from Verizon** profiles.
Get-AzCdnProfile | Where-Object { $_.Sku.Name -eq "Standard_Verizon" }

Также можно получить отдельный профиль, указав имя профиля и группу ресурсов.You can also return a single profile by specifying the profile name and resource group.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Совет

Несколько профилей CDN могут иметь одинаковые имена, если они находятся в разных группах ресурсов.It is possible to have multiple CDN profiles with the same name, so long as they are in different resource groups. Исключив параметр ResourceGroupName , вы получите все профили с указанным именем.Omitting the ResourceGroupName parameter returns all profiles with a matching name.

Получение списка существующих конечных точек CDNListing existing CDN endpoints

Get-AzCdnEndpoint позволяет получить отдельную конечную точку или все конечные точки в профиле.Get-AzCdnEndpoint can retrieve an individual endpoint or all the endpoints on a profile.

# 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

# Return all of the endpoints on all of the profiles.
Get-AzCdnProfile | Get-AzCdnEndpoint

# Return all of the endpoints in this subscription that are currently running.
Get-AzCdnProfile | Get-AzCdnEndpoint | Where-Object { $_.ResourceState -eq "Running" }

Создание конечных точек и профилей CDNCreating CDN profiles and endpoints

Для создания конечных точек и профилей CDN используются командлеты New-AzCdnProfile и New-AzCdnEndpoint.New-AzCdnProfile and New-AzCdnEndpoint are used to create CDN profiles and endpoints. Поддерживаются такие типы номера SKU:The following SKUs are supported:

  • Standard_VerizonStandard_Verizon
  • Premium_VerizonPremium_Verizon
  • Custom_VerizonCustom_Verizon
  • Standard_AkamaiStandard_Akamai
  • Standard_MicrosoftStandard_Microsoft
  • Standard_ChinaCdnStandard_ChinaCdn
# Create a new profile
New-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Sku Standard_Akamai -Location "Central US"

# Create a new endpoint
New-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Location "Central US" -EndpointName cdnposhdoc -OriginName "Contoso" -OriginHostName "www.contoso.com"

# Create a new profile and endpoint (same as above) in one line
New-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Sku Standard_Akamai -Location "Central US" | New-AzCdnEndpoint -EndpointName cdnposhdoc -OriginName "Contoso" -OriginHostName "www.contoso.com"

Проверка доступности имени конечной точкиChecking endpoint name availability

Get-AzCdnEndpointNameAvailability возвращает объект с информацией о том, свободно ли указанное имя конечной точки.Get-AzCdnEndpointNameAvailability returns an object indicating if an endpoint name is available.

# Retrieve availability
$availability = Get-AzCdnEndpointNameAvailability -EndpointName "cdnposhdoc"

# If available, write a message to the console.
If($availability.NameAvailable) { Write-Host "Yes, that endpoint name is available." }
Else { Write-Host "No, that endpoint name is not available." }

Добавление пользовательского доменаAdding a custom domain

New-AzCdnCustomDomain добавляет пользовательское имя домена для существующей конечной точки.New-AzCdnCustomDomain adds a custom domain name to an existing endpoint.

Важно!

Необходимо настроить запись CNAME у вашего поставщика DNS, как описано в статье Как сопоставить личный домен с конечной точкой сети доставки содержимого (CDN).You must set up the CNAME with your DNS provider as described in How to map Custom Domain to Content Delivery Network (CDN) endpoint. Это сопоставление можно проверить с помощью Test-AzCdnCustomDomainдо изменения конечной точки.You can test the mapping before modifying your endpoint using Test-AzCdnCustomDomain.

# Get an existing endpoint
$endpoint = Get-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc

# Check the mapping
$result = Test-AzCdnCustomDomain -CdnEndpoint $endpoint -CustomDomainHostName "cdn.contoso.com"

# Create the custom domain on the endpoint
If($result.CustomDomainValidated){ New-AzCdnCustomDomain -CustomDomainName Contoso -HostName "cdn.contoso.com" -CdnEndpoint $endpoint }

Изменение конечной точкиModifying an endpoint

Set-AzCdnEndpoint изменяет существующую конечную точку.Set-AzCdnEndpoint modifies an existing endpoint.

# Get an existing endpoint
$endpoint = Get-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc

# Set up content compression
$endpoint.IsCompressionEnabled = $true
$endpoint.ContentTypesToCompress = "text/javascript","text/css","application/json"

# Save the changed endpoint and apply the changes
Set-AzCdnEndpoint -CdnEndpoint $endpoint

Очистка и предварительная загрузка ресурсов CDNPurging/Pre-loading CDN assets

Unpublish-AzCdnEndpointContent очищает все кэшированные ресурсы, а Publish-AzCdnEndpointContent предварительно загружает ресурсы на всех поддерживаемых конечных точках.Unpublish-AzCdnEndpointContent purges cached assets, while Publish-AzCdnEndpointContent pre-loads assets on supported endpoints.

# Purge some assets.
Unpublish-AzCdnEndpointContent -ProfileName CdnDemo -ResourceGroupName CdnDemoRG -EndpointName cdndocdemo -PurgeContent "/images/kitten.png","/video/rickroll.mp4"

# Pre-load some assets.
Publish-AzCdnEndpointContent -ProfileName CdnDemo -ResourceGroupName CdnDemoRG -EndpointName cdndocdemo -LoadContent "/images/kitten.png","/video/rickroll.mp4"

# Purge everything in /images/ on all endpoints.
Get-AzCdnProfile | Get-AzCdnEndpoint | Unpublish-AzCdnEndpointContent -PurgeContent "/images/*"

Запуск и остановка конечных точек CDNStarting/Stopping CDN endpoints

Start-AzCdnEndpoint и Stop-AzCdnEndpoint позволяют запускать и останавливать отдельные конечные точки или группы конечных точек.Start-AzCdnEndpoint and Stop-AzCdnEndpoint can be used to start and stop individual endpoints or groups of endpoints.

# Stop the cdndocdemo endpoint
Stop-AzCdnEndpoint -ProfileName CdnDemo -ResourceGroupName CdnDemoRG -EndpointName cdndocdemo

# Stop all endpoints
Get-AzCdnProfile | Get-AzCdnEndpoint | Stop-AzCdnEndpoint

# Start all endpoints
Get-AzCdnProfile | Get-AzCdnEndpoint | Start-AzCdnEndpoint

Удаление ресурсов CDNDeleting CDN resources

Remove-AzCdnProfile и Remove-AzCdnEndpoint позволяют удалять профили и конечные точки.Remove-AzCdnProfile and Remove-AzCdnEndpoint can be used to remove profiles and endpoints.

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

# Remove all the endpoints on a profile and skip confirmation (-Force)
Get-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG | Get-AzCdnEndpoint | Remove-AzCdnEndpoint -Force

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

Дальнейшие действияNext Steps

Узнайте об автоматизации Azure CDN с помощью .NET или Node.js.Learn how to automate Azure CDN with .NET or Node.js.

Сведения о функциях CDN см. в статье Общие сведения о сети доставки содержимого (CDN) Azure.To learn about CDN features, see CDN Overview.