Partilhar via


Gerenciar a Rede de Entrega de Conteúdo do Azure com o PowerShell

Important

O PowerShell fornece um dos métodos mais flexíveis para gerenciar seus perfis e pontos de extremidade da Rede de Entrega de Conteúdo do Azure. Você pode usar o PowerShell interativamente ou escrevendo scripts para automatizar tarefas de gerenciamento. Este tutorial demonstra várias das tarefas mais comuns que você pode realizar com o PowerShell para gerenciar seus perfis e pontos de extremidade da Rede de Entrega de Conteúdo do Azure.

Prerequisites

Note

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Para usar o PowerShell para gerenciar seus perfis e pontos de extremidade da Rede de Entrega de Conteúdo do Azure, você deve ter o módulo do Azure PowerShell instalado. Para saber como instalar o Azure PowerShell e conectar-se ao Azure usando o cmdlet, consulte Como instalar e configurar o Connect-AzAccount Azure PowerShell.

Important

Você deve fazer logon com Connect-AzAccount antes de executar cmdlets do Azure PowerShell.

Listando os cmdlets da Rede de Entrega de Conteúdo do Azure

Você pode listar todos os cmdlets da Rede de Entrega de Conteúdo do Azure usando o Get-Command cmdlet.

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

Obter ajuda

Você pode obter ajuda com qualquer um desses cmdlets usando o Get-Help cmdlet. Get-Help fornece uso e sintaxe e, opcionalmente, mostra exemplos.

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"

Listando perfis existentes da Rede de Entrega de Conteúdo do Azure

O Get-AzCdnProfile cmdlet sem parâmetros recupera todos os perfis de rede de entrega de conteúdo existentes.

Get-AzCdnProfile

Esta saída pode ser canalizada para cmdlets a fim de efetuar uma enumeração.

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

Você também pode retornar um único perfil especificando o nome do perfil e o grupo de recursos.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Tip

É possível ter vários perfis de rede de distribuição de conteúdo com o mesmo nome, desde que estejam em grupos de recursos diferentes. Omitir o ResourceGroupName parâmetro retorna todos os perfis com um nome correspondente.

Listando endpoints de CDN existentes

Get-AzCdnEndpoint pode recuperar um ponto de extremidade individual ou todos os pontos de extremidade em um perfil.

# 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

Criação de perfis e endpoints de rede de distribuição de conteúdo

New-AzCdnProfile e New-AzCdnEndpoint são usados para criar perfis de redes de distribuição de conteúdo e endpoints. Os seguintes SKUs são suportados:

  • 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

Adicionar um domínio personalizado

New-AzCdnCustomDomain adiciona um nome de domínio personalizado a um ponto de extremidade existente.

Important

Você deve configurar o CNAME com seu provedor de DNS, conforme descrito em Como mapear o domínio personalizado para o ponto de extremidade da Rede de Distribuição de Conteúdo. Você pode testar o mapeamento antes de modificar o seu endpoint usando Test-AzCdnCustomDomain.

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

Modificando um endpoint

Update-AzCdnEndpoint modifica um endpoint existente.

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

Purging

Clear-AzCdnEndpointContent limpa ativos armazenados em cache.

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

Ativar/Desativar pontos de extremidade da rede de entrega de conteúdo

Start-AzCdnEndpoint e Stop-AzCdnEndpoint podem ser usados para iniciar e parar pontos de extremidade individuais ou grupos de pontos de extremidade.

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

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

Criar uma política do mecanismo de Regras Padrão e aplicá-la a um ponto final de rede de entrega de conteúdo existente

A lista de cmdlets a seguir pode ser usada para criar uma política do motor de Regras Padrão e aplicá-la a um endpoint de rede de distribuição de conteúdo existente.

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

Excluindo recursos da rede de distribuição de conteúdo

Remove-AzCdnProfile e Remove-AzCdnEndpoint podem ser usados para remover perfis e pontos de extremidade.

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

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

Próximas Etapas

  • Saiba como automatizar a Rede de Entrega de Conteúdo do Azure com .NET ou Node.js.

  • Para saber mais sobre os recursos da rede de distribuição de conteúdo, consulte Visão geral da rede de distribuição de conteúdo.