Alterações da falha para Az 1.0.0
Este documento fornece informações detalhadas sobre as alterações entre o AzureRM 6.x e o novo módulo Az, versão 1.x e posterior. O sumário ajudará a orientá-lo por um caminho de migração completa, incluindo alterações específicas do módulo que possam afetar seus scripts.
Para obter orientações gerais sobre como iniciar uma migração do AzureRM para o Az, confira Iniciar uma migração do AzureRM para o Az.
Importante
Houve alterações da falha entre o Az 1.0.0 e o Az 2.0.0. Depois de seguir este guia para a atualização do AzureRM para o Az, confira as alterações da falha do Az 2.0.0 para descobrir se você precisa fazer alterações adicionais.
Sumário
- Alterações da falha gerais
- Alterações de falhas para módulos
- Az.ApiManagement (anteriormente AzureRM.ApiManagement)
- Az.Billing (anteriormente AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- Az.CognitiveServices (anteriormente AzureRM.CognitiveServices)
- Az.Compute (anteriormente AzureRM.Compute)
- Az.DataFactory (anteriormente AzureRM.DataFactories e AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (anteriormente AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (anteriormente AzureRM.DataLakeStore)
- Az.KeyVault (anteriormente AzureRM.KeyVault)
- Az.Media (anteriormente AzureRM.Media)
- Az.Monitor (anteriormente AzureRM.Insights)
- Az.Network (anteriormente AzureRM.Network)
- Az.OperationalInsights (anteriormente AzureRM.OperationalInsights)
- Az.RecoveryServices (anteriormente AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (anteriormente AzureRM.Resources)
- Az.ServiceFabric (anteriormente AzureRM.ServiceFabric)
- Az.Sql (anteriormente AzureRM.Sql)
- Az.Storage (anteriormente Azure.Storage e AzureRM.Storage)
- Az.Websites (anteriormente AzureRM.Websites)
Alterações da falha gerais
Esta seção fornece detalhes sobre as alterações gerais da falha que fazem parte do novo design do módulo Az.
Alterações de prefixo de substantivo do cmdlet
No módulo AzureRM, os cmdlets usavam AzureRM
ou Azure
como prefixo de substantivo. O Az simplifica e normaliza os nomes dos cmdlets, de modo que todos os cmdlets usem 'Az' como seu prefixo de substantivo do cmdlet. Por exemplo:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Foi alterado para:
Get-AzVM
Get-AzKeyVaultSecret
Para simplificar a transição para esses novos nomes de cmdlets, o Az introduz dois novos cmdlets, Enable-AzureRmAlias e Disable-AzureRmAlias. Enable-AzureRmAlias
cria aliases para os nomes de cmdlets mais antigos no AzureRM que são mapeados para os nomes de cmdlets mais recentes do Az. O uso do argumento -Scope
com Enable-AzureRmAlias
permite que você escolha em que local os aliases serão habilitados.
Por exemplo, o script a seguir no AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Pode ser executado com alterações mínimas usando Enable-AzureRmAlias
:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
A execução de Enable-AzureRmAlias -Scope CurrentUser
habilitará os aliases para todas as sessões do PowerShell, para que, após a execução desse cmdlet, um script como este não precise ser alterado:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Para obter detalhes completos sobre o uso dos cmdlets de alias, confira a referência de Enable-AzureRmAlias.
Quando você estiver pronto para desabilitar os aliases, Disable-AzureRmAlias
removerá os aliases criados. Para obter detalhes completos, confira a referência de Disable-AzureRmAlias.
Importante
Ao desabilitar os aliases, verifique se eles estão desabilitados para todos os escopos que tinham aliases habilitados.
Alterações de nome de módulo
Os nomes do módulo foram alterados de AzureRM.*
para Az.*
, exceto para os seguintes módulos:
Módulo AzureRM | Módulo Az |
---|---|
Azure.Storage | Az.Storage |
Azure.AnalysisServices | Az.AnalysisServices |
AzureRM.profile | Az.Accounts |
AzureRM.Insights | Az.Monitor |
AzureRM.DataFactories | Az.DataFactory |
AzureRM.DataFactoryV2 | Az.DataFactory |
AzureRM.RecoveryServices.Backup | Az.RecoveryServices |
AzureRM.RecoveryServices.SiteRecovery | Az.RecoveryServices |
AzureRM.Tags | Az.Resources |
AzureRM.MachineLearningCompute | Az.MachineLearning |
AzureRM.UsageAggregates | Az.Billing |
AzureRM.Consumption | Az.Billing |
As alterações nos nomes dos módulos significam que qualquer script que usa #Requires
ou Import-Module
para carregar módulos específicos precisarão ser alterados para usar o novo módulo. Para os módulos em que o sufixo do cmdlet não foi alterado, isso significa que, embora o nome do módulo tenha sido alterado, isso não ocorreu com o sufixo que indica o espaço da operação.
Como migrar as instruções #Requires e Import-Module
Os scripts que usam #Requires
ou Import-Module
para declarar uma dependência de módulos AzureRM precisam ser atualizados para usar os novos nomes de módulos. Por exemplo:
#Requires -Module AzureRM.Compute
Deve ser alterado para:
#Requires -Module Az.Compute
Para Import-Module
:
Import-Module -Name AzureRM.Compute
Deve ser alterado para:
Import-Module -Name Az.Compute
Migração de invocações de cmdlet totalmente qualificadas
Os scripts que usam as invocações de cmdlet qualificadas por módulo, como:
AzureRM.Compute\Get-AzureRmVM
Precisam ser alterados para usar os novos nomes de módulos e cmdlets:
Az.Compute\Get-AzVM
Como migrar dependências de manifesto de módulo
Os módulos que expressam dependências de módulos AzureRM por meio de um arquivo de manifesto (.psd1) de módulo precisarão atualizar os nomes de módulos em sua seção RequiredModules
:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Precisa ser alterado para:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Módulos removidos
Os seguintes módulos foram removidos:
AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler
Não há mais suporte ativo para as ferramentas desses serviços. Os clientes são incentivados a mudar para serviços alternativos, assim que for conveniente.
Windows PowerShell 5.1 e .NET 4.7.2
O uso do Az com o PowerShell 5.1 para Windows exige a instalação do .NET Framework 4.7.2. O uso do PowerShell Core 6.x ou posterior não exige o .NET Framework.
Remoção temporária de logon de usuário usando PSCredential
Devido a alterações no fluxo de autenticação para o .NET Standard, estamos temporariamente removendo o logon de usuário por meio do PSCredential. Essa funcionalidade será introduzida novamente na versão de 15/1/2019 do PowerShell 5.1 para Windows. Isso é abordado detalhadamente neste problema do GitHub.
Logon de código de dispositivo padrão em vez de prompt do navegador da Web
Devido a alterações no fluxo de autenticação para o .NET Standard, estamos usando o logon do dispositivo como o fluxo de logon padrão durante o logon interativo. O logon baseado em navegador da Web será reintroduzido no PowerShell 5.1 para Windows como o padrão na versão de 15/1/2019. Nesse momento, os usuários poderão escolher logon de dispositivo usando um parâmetro Switch.
Alterações de falhas para módulos
Esta seção fornece detalhes sobre alterações específicas da falha para cmdlets e módulos individuais.
Az.ApiManagement (anteriormente AzureRM.ApiManagement)
- Remoção dos seguintes cmdlets:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Use o cmdlet Set-AzApiManagement para definir essas propriedades
- Remoção das seguintes propriedades:
- Removidas as propriedades
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
eScmHostnameConfiguration
do tipoPsApiManagementHostnameConfiguration
dePsApiManagementContext
. Em vez disso, usePortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
eScmCustomHostnameConfiguration
do tipoPsApiManagementCustomHostNameConfiguration
. - Removida a propriedade
StaticIPs
de PsApiManagementContext. A propriedade foi dividida emPublicIPAddresses
ePrivateIPAddresses
. - Removida a propriedade necessária
Location
do cmdlet New-AzureApiManagementVirtualNetwork.
- Removidas as propriedades
Az.Billing (anteriormente AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- O parâmetro
InvoiceName
foi removido em favor do cmdletGet-AzConsumptionUsageDetail
. Os scripts precisarão usar outros parâmetros de identidade para a fatura.
Az.CognitiveServices (anteriormente AzureRM.CognitiveServices)
- Removido o conjunto de parâmetros
GetSkusWithAccountParamSetName
do cmdletGet-AzCognitiveServicesAccountSkus
. Você deve obter Skus por Account Type e Location, em vez de usar ResourceGroupName e Account Name.
Az.Compute (anteriormente AzureRM.Compute)
IdentityIds
foram removidos da propriedadeIdentity
nos Scripts dos objetosPSVirtualMachine
ePSVirtualMachineScaleSet
, que não devem mais usar o valor desse campo para tomar decisões de processamento.- O tipo de propriedade
InstanceView
do objetoPSVirtualMachineScaleSetVM
foi alterado deVirtualMachineInstanceView
paraVirtualMachineScaleSetVMInstanceView
- As propriedades
AutoOSUpgradePolicy
eAutomaticOSUpgrade
foram removidas da propriedadeUpgradePolicy
- O tipo de propriedade
Sku
do objetoPSSnapshotUpdate
foi alterado deDiskSku
paraSnapshotSku
VmScaleSetVMParameterSet
foi removido do cmdletAdd-AzVMDataDisk
. Não é mais possível adicionar um disco de dados individualmente em uma VM ScaleSet.
Az.DataFactory (anteriormente AzureRM.DataFactories e AzureRM.DataFactoryV2)
- O parâmetro
GatewayName
agora é obrigatório no cmdletNew-AzDataFactoryEncryptValue
- Removido o cmdlet
New-AzDataFactoryGatewayKey
- Removido o parâmetro
LinkedServiceName
dos Scripts cmdletGet-AzDataFactoryV2ActivityRun
, que não devem mais usar o valor desse campo para tomar decisões de processamento.
Az.DataLakeAnalytics (anteriormente AzureRM.DataLakeAnalytics)
- Removidos os cmdlets preteridos:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
, eSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (anteriormente AzureRM.DataLakeStore)
Os cmdlets a seguir tiveram o parâmetro
Encoding
alterado do tipoFileSystemCmdletProviderEncoding
paraSystem.Text.Encoding
. Essa alteração remove os valores de codificaçãoString
eOem
. Todos os outros valores de codificação anteriores permanecem.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Removido o alias da propriedade preterida
Tags
dos cmdletsNew-AzDataLakeStoreAccount
eSet-AzDataLakeStoreAccount
Uso de scripts
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Deve ser alterado para
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Removidas as propriedades preteridas
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
eFirewallAllowAzureIps
do objetoPSDataLakeStoreAccountBasic
. Qualquer script que use oPSDatalakeStoreAccount
retornado deGet-AzDataLakeStoreAccount
não deve fazer referência a essas propriedades.
Az.KeyVault (anteriormente AzureRM.KeyVault)
- A propriedade
PurgeDisabled
foi removida dos objetosPSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
ePSKeyVaultSecretAttributes
e os Scripts não devem fazer referência à propriedadePurgeDisabled
para tomar decisões de processamento.
Az.Media (anteriormente AzureRM.Media)
Removido o alias da propriedade preterida
Tags
dos Scripts cmdletNew-AzMediaService
sendo usadosNew-AzureRMMediaService -Tags @{TagName="TagValue"}
Deve ser alterado para
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (anteriormente AzureRM.Insights)
Removidos os nomes no plural dos parâmetros
Categories
eTimegrains
em favor de nomes de parâmetro no singular dos Scripts cmdletSet-AzDiagnosticSetting
sendo usadosSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Deve ser alterado para
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (anteriormente AzureRM.Network)
- Removido o parâmetro preterido
ResourceId
do cmdletGet-AzServiceEndpointPolicyDefinition
- Removida a propriedade preterida
EnableVmProtection
do objetoPSVirtualNetwork
- Removido o cmdlet preteridos
Set-AzVirtualNetworkGatewayVpnClientConfig
Os scripts não devem mais tomar decisões de processamento com base nos valores desses campos.
Az.OperationalInsights (anteriormente AzureRM.OperationalInsights)
O conjunto de parâmetros padrão para
Get-AzOperationalInsightsDataSource
foi removido, eByWorkspaceNameByKind
tornou-se o conjunto de parâmetros padrãoOs scripts que listavam as fontes de dados sendo usadas
Get-AzureRmOperationalInsightsDataSource
Devem ser alterados para especificar um Kind
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (anteriormente AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Removido o parâmetro
Encryption
do cmdletNew/Set-AzRecoveryServicesAsrPolicy
- O parâmetro
TargetStorageAccountName
agora é obrigatório para restaurações de disco gerenciado no cmdletRestore-AzRecoveryServicesBackupItem
- Removidos os parâmetros
StorageAccountName
eStorageAccountResourceGroupName
no cmdletRestore-AzRecoveryServicesBackupItem
- Removido o parâmetro
Name
no cmdletGet-AzRecoveryServicesBackupContainer
Az.Resources (anteriormente AzureRM.Resources)
Removido o parâmetro
Sku
do cmdletNew/Set-AzPolicyAssignment
Removido o parâmetro de
Password
das Senhas cmdletsNew-AzADServicePrincipal
eNew-AzADSpCredential
automaticamente geradas, nos scripts que forneciam a senha:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
Devem ser alterados para recuperar a senha da saída:
$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 $secPassword = $credential.Secret
Az.ServiceFabric (anteriormente AzureRM.ServiceFabric)
- Os seguintes tipos de retorno de cmdlet foram alterados:
- A propriedade
ServiceTypeHealthPolicies
do tipoApplicationHealthPolicy
foi removida. - A propriedade
ApplicationHealthPolicies
do tipoClusterUpgradeDeltaHealthPolicy
foi removida. - A propriedade
OverrideUserUpgradePolicy
do tipoClusterUpgradePolicy
foi removida. - Essas alterações afetam os seguintes cmdlets:
- Add-AzServiceFabricClientCertificate
- Add-AzServiceFabricClusterCertificate
- Add-AzServiceFabricNode
- Add-AzServiceFabricNodeType
- Get-AzServiceFabricCluster
- Remove-AzServiceFabricClientCertificate
- Remove-AzServiceFabricClusterCertificate
- Remove-AzServiceFabricNode
- Remove-AzServiceFabricNodeType
- Remove-AzServiceFabricSetting
- Set-AzServiceFabricSetting
- Set-AzServiceFabricUpgradeType
- Update-AzServiceFabricDurability
- Update-AzServiceFabricReliability
- A propriedade
Az.Sql (anteriormente AzureRM.Sql)
- Removidos os parâmetros
State
eResourceId
do cmdletSet-AzSqlDatabaseBackupLongTermRetentionPolicy
- Removidos os cmdlets preteridos:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
- Removido o parâmetro preterido
Current
do cmdletGet-AzSqlDatabaseBackupLongTermRetentionPolicy
- Removido o parâmetro preterido
DatabaseName
do cmdletGet-AzSqlServerServiceObjective
- Removido o parâmetro preterido
PrivilegedLogin
do cmdletSet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (anteriormente Azure.Storage e AzureRM.Storage)
- Para dar suporte à criação de um contexto de armazenamento Oauth com apenas o nome da conta de armazenamento, o conjunto de parâmetros padrão foi alterado para
OAuthParameterSet
- Exemplo:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Exemplo:
- O parâmetro
Location
agora é obrigatório no cmdletGet-AzStorageUsage
- Os métodos da API de armazenamento agora usam o padrão assíncrono baseado em tarefas (TAP), em vez de chamadas à API síncronas. Os seguintes exemplos demonstram os novos comandos assíncronos:
Instantâneo de Blob
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$task = $b.ICloudBlob.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Compartilhar instantâneo
AzureRM:
$Share = Get-AzureStorageShare -Name $containerName -Context $ctx
$snapshot = $Share.Snapshot()
Az:
$Share = Get-AzStorageShare -Name $containerName -Context $ctx
$task = $Share.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Cancelar a exclusão de blob com exclusão reversível
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$b.ICloudBlob.Undelete()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
Definir camada do Blob
AzureRM:
$blockBlob = Get-AzureStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$blockBlob.ICloudBlob.SetStandardBlobTier("hot")
$pageBlob = Get-AzureStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$pageBlob.ICloudBlob.SetPremiumBlobTier("P4")
Az:
$blockBlob = Get-AzStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$task = $blockBlob.ICloudBlob.SetStandardBlobTierAsync("hot")
$task.Wait()
$pageBlob = Get-AzStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$task = $pageBlob.ICloudBlob.SetPremiumBlobTierAsync("P4")
$task.Wait()
Az.Websites (anteriormente AzureRM.Websites)
- Removidas as propriedades preteridas
PSAppServicePlan
,PSCertificate
,PSCloningInfo
ePSSite
dos objetos
Azure PowerShell
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de