Guia de migração para o Az 2.0.0
Este documento descreve as alterações realizadas entre as versões 1.0.0 e 2.0.0 do Az
Índice
Alterações interruptivas do módulo
Az.Compute
Foi removido o parâmetro
Managed
dos cmdletsNew-AzAvailabilitySet
eUpdate-AzAvailabilitySet
em favor da utilização deSku = Aligned
Antes
Update-AzAvailabilitySet -Managed
Depois de
Update-AzAvailabilitySet -Sku Aligned
Para consistência, foi removido o parâmetro
Image
dos parâmetros "ByName" e "ByResourceId" definidos emUpdate-AzImage
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro ImageName transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
Depois de
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags Update-AzImage -ResourceId $Id -Tag $tags
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emRestart-AzVM
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
Depois de
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emStart-AzVM
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
Depois de
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emStop-AzVM
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
Depois de
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emRemove-AzVM
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
Depois de
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emSet-AzVM
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
Depois de
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
Para consistência, foi removido o parâmetro
Name
dos parâmetros "ByObject" e "ByResourceId" definidos emSave-AzVMImage
Antes
Tenha em atenção que o código abaixo funciona, mas o parâmetro Name transmitido não é utilizado, pelo que a remoção deste parâmetro não tem qualquer impacto funcional.
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
Depois de
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
Foi adicionada a propriedade ProtectionPolicy para encapsular a propriedade
ProtectFromScaleIn
emPSVirtualMachineScaleSetVM
Antes
$vmss = Get-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectFromScaleIn = $true
Depois de
$vmss = Get-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
Foi adicionada a propriedade
EncryptionSettingsCollection
para delimitar a propriedadeEncryptionSettings
emPSDisk
Antes
$disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ... $disk.EncryptionSettings $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ... $disk.EncryptionSettings $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ... $update.EncryptionSettings $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ... $update.EncryptionSettings
Depois de
$disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ... $disk.EncryptionSettingsCollection.EncryptionSettings $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ... $disk.EncryptionSettingsCollection.EncryptionSettings $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ... $update.EncryptionSettingsCollection.EncryptionSettings $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ... $update.EncryptionSettingsCollection.EncryptionSettings
Foi adicionada a propriedade
EncryptionSettingsCollection
para delimitar a propriedadeEncryptionSettings
emPSSnapshot
Antes
$snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ... $snap.EncryptionSettings $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ... $snap.EncryptionSettings $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ... $update.EncryptionSettings $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ... $update.EncryptionSettings
Depois de
$snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ... $snap.EncryptionSettingsCollection.EncryptionSettings $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ... $snap.EncryptionSettingsCollection.EncryptionSettings $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ... $update.EncryptionSettingsCollection.EncryptionSettings $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ... $update.EncryptionSettingsCollection.EncryptionSettings
Foi removida a propriedade
VirtualMachineProfile
dePSVirtualMachineScaleSet
Antes
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
Depois de
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
O cmdlet
Set-AzVMBootDiagnostic
removeu o alias paraSet-AzVMBootDiagnostics
Antes
Utilização de alias preterido
Set-AzVMBootDiagnostics
Depois de
Set-AzVMBootDIagnostic
O cmdlet
Export-AzLogAnalyticThrottledRequest
removeu o alias paraExport-AzLogAnalyticThrottledRequests
Antes
Utilização de alias preterido
Export-AzLogAnalyticThrottledRequests
Depois de
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Foram removidos os cmdlets
Grant-AzHDInsightHttpServicesAccess
eRevoke-AzHDInsightHttpServicesAccess
. Já não são necessários porque o acesso HTTP está sempre ativado em todos os clusters do HDInsight. - Foi adicionado um novo cmdlet
Set-AzHDInsightGatewayCredential
. Utilize este cmdlet para alterar o nome de utilizador e a palavra-passe HTTP do gateway (substituiGrant-AzHDInsightHttpServicesAccess
). - Foi atualizado o cmdlet
Get-AzHDInsightJobOutput
para suportar acesso granular baseado em funções à chave de armazenamento.- Os utilizadores com as funções Operador de Clusters, Contribuidor ou Proprietário do HDInsight não serão afetados.
- Os utilizadores apenas com a função Leitor terão de especificar o parâmetro
DefaultStorageAccountKey
explicitamente.
Para obter mais informações sobre estas alterações ao acesso baseado em funções, veja aka.ms/hdi-config-update
Antes
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
Depois de
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Utilizadores apenas com a função Leitor para o cmdlet Get-AzHDInsightJobOutput
Antes
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
Depois de
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Os espaços de nomes para os tipos devolvidos dos cmdlets Blob, Fila e Ficheiro foram alterados de
Microsoft.WindowsAzure.Storage
paraMicrosoft.Azure.Storage
. Embora não seja tecnicamente uma alteração interruptiva, de acordo com a respetiva política, podem ser necessárias algumas alterações ao código que utiliza os métodos do SDK .NET de Armazenamento para interagir com os objetos devolvidos por estes cmdlets.Exemplo 1: Adicionar uma mensagem a uma fila (alterar o namespace do objeto CloudQueueMessage)
Antes:
$queue = Get-AzStorageQueue –Name $queueName –Context $ctx $queueMessage = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1" $queue.CloudQueue.AddMessageAsync($QueueMessage)
Depois:
$queue = Get-AzStorageQueue –Name $queueName –Context $ctx $queueMessage = New-Object -TypeName "Microsoft.Azure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1" $queue.CloudQueue.AddMessageAsync($QueueMessage)
Exemplo 2: Buscar atributos Blob/File com AccessCondition (alterar namespace do objeto AccessCondition)
Antes:
$accessCondition= New-Object Microsoft.WindowsAzure.Storage.AccessCondition $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName $blob.ICloudBlob.FetchAttributes($accessCondition) $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath $file.FetchAttributes($accessCondition)
Depois:
$accessCondition= New-Object Microsoft.Azure.Storage.AccessCondition $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName $blob.ICloudBlob.FetchAttributes($accessCondition) $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath $file.FetchAttributes($accessCondition)
Embora não seja tecnicamente uma alteração de quebra, você notará que as diferenças de saída na propriedade Sku.Name das Contas de Armazenamento retornadas das
New/Get/Set-AzStorageAccount
alterações são as seguintes. (Após a alteração, o SkuName de entrada e saída estão alinhados.)- "StandardLRS" -> "Standard_LRS";
- "StandardGRS" -> "Standard_GRS";
- "StandardRAGRS" -> "Standard_RAGRS";
- "StandardZRS" -> "Standard_ZRS";
- "PremiumLRS" -> "Premium_LRS";
Foi alterado o comportamento de serviço padrão ao criar uma conta de armazenamento sem especificar uma Variante. Nas versões anteriores, quando foi criada uma conta de armazenamento sem qualquer atributo
Kind
especificado, foi utilizada a Variante da conta de armazenamento deStorage
na nova versãoStorageV2
, sendo o valor predefinidoKind
. Se precisar de criar uma conta de armazenamento V1 com a Variante "Armazenamento", adicione o parâmetro "-Kind Storage"Exemplo : Criar uma conta de armazenamento (alteração de tipo padrão)
Antes:
PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus" StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly ------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ---------------------- accountname groupname westus StandardLRS Storage Hot 4/17/2018 10:34:32 AM Succeeded False
Depois:
PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus" StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly ------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ---------------------- accountname groupname westus Standard_LRS StorageV2 Hot 4/17/2018 10:34:32 AM Succeeded False
Azure PowerShell
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários