Guia de migração para Az 2.0.0
Este documento descreve as alterações entre as versões 1.0.0 e 2.0.0 do Az
Índice
Alterações de quebra de módulo
Az.Compute
Removido o parâmetro
Managed
dos cmdletsNew-AzAvailabilitySet
eUpdate-AzAvailabilitySet
em favor do uso deSku = Aligned
Antes
Update-AzAvailabilitySet -Managed
Após
Update-AzAvailabilitySet -Sku Aligned
Para consistência, removido o parâmetro
Image
dos conjuntos de parâmetros 'ByName' e 'ByResourceId' noUpdate-AzImage
Antes
Observe que o código abaixo é funcional, mas o ImageName passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
Após
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags Update-AzImage -ResourceId $Id -Tag $tags
Por questões de consistência, removeu o parâmetro
Name
dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' emRestart-AzVM
Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
Após
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
Para manter a consistência, foi removido o parâmetro
Name
dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' emStart-AzVM
.Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
Após
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
Para consistência, removeu o parâmetro
Name
dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' emStop-AzVM
Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
Após
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
Para consistência, removeu o parâmetro
Name
dos conjuntos de 'ByObject' e 'ByResourceId' emRemove-AzVM
Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
Após
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
Removi o parâmetro
Name
dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' emSet-AzVM
para consistência.Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
Após
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
Para consistência, o parâmetro
Name
foi removido dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' emSave-AzVMImage
.Antes
Observe que o código abaixo é funcional, mas o nome passado não é usado, portanto, remover esse parâmetro não tem impacto funcional.
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
Após
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
Adicionou-se 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
Após
$vmss = Get-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
Adicionada a propriedade
EncryptionSettingsCollection
para abranger 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
Após
$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
Adicionada a propriedade
EncryptionSettingsCollection
para abranger 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
Após
$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
Propriedade
VirtualMachineProfile
removida doPSVirtualMachineScaleSet
Antes
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
Após
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
O cmdlet
Set-AzVMBootDiagnostic
removeu o alias deSet-AzVMBootDiagnostics
Antes
Usando alias obsoleto
Set-AzVMBootDiagnostics
Após
Set-AzVMBootDIagnostic
O cmdlet
Export-AzLogAnalyticThrottledRequest
removeu o alias deExport-AzLogAnalyticThrottledRequests
Antes
Usando nomes alternativos obsoletos
Export-AzLogAnalyticThrottledRequests
Após
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Removidos os cmdlets
Grant-AzHDInsightHttpServicesAccess
eRevoke-AzHDInsightHttpServicesAccess
. Eles não são mais necessários porque o acesso HTTP está sempre habilitado em todos os clusters HDInsight. - Adicionado um novo cmdlet
Set-AzHDInsightGatewayCredential
. Use este cmdlet para alterar o nome de usuário e a senha HTTP do gateway (substituiGrant-AzHDInsightHttpServicesAccess
). - Atualizado o cmdlet
Get-AzHDInsightJobOutput
para oferecer suporte ao acesso granular baseado em função à chave de armazenamento.- Os usuários com funções de Operador, Colaborador ou Proprietário de Cluster HDInsight não serão afetados.
- Os usuários com apenas a função Reader precisarão especificar
DefaultStorageAccountKey
parâmetro explicitamente.
Para obter mais informações sobre essas alterações de acesso baseadas em funções, consulte aka.ms/hdi-config-update
Antes
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
Após
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Utilizadores com apenas a função Reader para cmdlet Get-AzHDInsightJobOutput
Antes
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
Após
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Os namespaces para tipos retornados dos cmdlets Blob, Queue e File alteraram seus namespaces de
Microsoft.WindowsAzure.Storage
paraMicrosoft.Azure.Storage
. Embora isso não seja tecnicamente uma alteração disruptiva segundo a política de alterações disruptivas, pode exigir algumas mudanças no código que utiliza os métodos do SDK de Armazenamento .Net 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, irá notar diferenças de saída na propriedade Sku.Name de Contas de Armazenamento resultantes da alteração de
New/Get/Set-AzStorageAccount
, que são as seguintes. (Após a alteração, o SkuName de saída e entrada são alinhados.)- "StandardLRS" -> "Standard_LRS";
- "StandardGRS" -> "Standard_GRS";
- "StandardRAGRS" -> "Standard_RAGRS";
- "StandardZRS" -> "Standard_ZRS";
- "PremiumLRS" -> "Premium_LRS";
O comportamento de serviço padrão ao criar uma conta de armazenamento sem especificar um tipo foi alterado. Em versões anteriores, quando uma conta de armazenamento era criada sem
Kind
especificado, o Tipo deStorage
da conta de armazenamento era usado, na nova versãoStorageV2
é o valor deKind
padrão. Se você precisar criar uma conta de armazenamento V1 com Kind 'Storage', 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