Guia de migração para o Az 2.0.0

Este documento descreve as alterações entre as versões 1.0.0 e 2.0.0 do Az

Sumário

Alterações de falhas para módulos

Az.Compute

  • Remoção do parâmetro Managed dos cmdlets New-AzAvailabilitySet e Update-AzAvailabilitySet a favor do uso de Sku = Aligned

    Antes

    Update-AzAvailabilitySet -Managed
    

    After (após)

    Update-AzAvailabilitySet -Sku Aligned
    
  • Para fins de consistência, remoção do parâmetro Image dos conjuntos de parâmetros 'ByName' e 'ByResourceId' em Update-AzImage

    Antes

    Observe que o código abaixo é funcional, mas o ImageName passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags
    
    Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
    

    After (após)

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags
    
    Update-AzImage -ResourceId $Id -Tag $tags
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Restart-AzVM

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Restart-AzVM -InputObject $VM -Name $Name
    
    Restart-AzVM -ResourceId $Id -Name $Name
    

    After (após)

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Start-AzVM

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Start-AzVM -InputObject $VM -Name $Name
    
    Start-AzVM -ResourceId $Id -Name $Name
    

    After (após)

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Stop-AzVM

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Stop-AzVM -InputObject $VM -Name $Name
    
    Stop-AzVM -ResourceId $Id -Name $Name
    

    After (após)

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Remove-AzVM

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Remove-AzVM -InputObject $VM -Name $Name
    
    Remove-AzVM -ResourceId $Id -Name $Name
    

    After (após)

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Set-AzVM

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Set-AzVM -InputObject $VM -Name $Name ...
    
    Set-AzVM -ResourceId $Id -Name $Name ...
    

    After (após)

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • Para fins de consistência, remoção do parâmetro Name dos conjuntos de parâmetros 'ByObject' e 'ByResourceId' em Save-AzVMImage

    Antes

    Observe que o código abaixo é funcional, mas o Name passado não é usado; portanto, a remoção desse parâmetro não tem nenhum impacto funcional.

    Save-AzVMImage -InputObject $VM -Name $Name ...
    
    Save-AzVMImage -ResourceId $Id -Name $Name ...
    

    After (após)

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • Adição da propriedade ProtectionPolicy para encapsular a propriedade ProtectFromScaleIn em PSVirtualMachineScaleSetVM

    Antes

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectFromScaleIn = $true
    

    After (após)

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    
  • Adição da propriedade EncryptionSettingsCollection para delimitar a propriedade EncryptionSettings em PSDisk

    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
    

    After (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
    
  • Adição da propriedade EncryptionSettingsCollection para delimitar a propriedade EncryptionSettings em PSSnapshot

    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
    

    After (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
    
  • Remoção da propriedade VirtualMachineProfile de PSVirtualMachineScaleSet

    Antes

    $vmss = New-AzVMSSConfig ...
    $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
    

    After (após)

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • O cmdlet Set-AzVMBootDiagnostic removeu o alias para Set-AzVMBootDiagnostics

    Antes

    Uso do alias preterido

    Set-AzVMBootDiagnostics
    

    After (após)

    Set-AzVMBootDIagnostic
    
  • O cmdlet Export-AzLogAnalyticThrottledRequest removeu o alias para Export-AzLogAnalyticThrottledRequests

    Antes

    Uso do alias preterido

    Export-AzLogAnalyticThrottledRequests
    

    After (após)

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Remoção dos cmdlets Grant-AzHDInsightHttpServicesAccess e Revoke-AzHDInsightHttpServicesAccess. Eles não são mais necessários porque o acesso HTTP está sempre habilitado em todos os clusters do HDInsight.
  • Adição de um novo cmdlet Set-AzHDInsightGatewayCredential. Use esse cmdlet para alterar o nome de usuário e a senha HTTP do gateway (substitui Grant-AzHDInsightHttpServicesAccess).
  • Atualização do cmdlet Get-AzHDInsightJobOutput para dar suporte ao acesso granular baseado em função à chave de armazenamento.
    • Os usuários com as funções Operador do Cluster HDInsight, Colaborador ou Proprietário não serão afetados.
    • Os usuários com apenas a função Leitor precisarão especificar o parâmetro DefaultStorageAccountKey explicitamente.

Para obter mais informações sobre essas alterações de acesso baseado em função, confira aka.ms/hdi-config-update

Antes

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

After (após)

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Os usuários com apenas a função Leitor para o cmdlet Get-AzHDInsightJobOutput

Antes

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

After (após)

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey

Az.Storage

  • Os namespaces para os tipos retornados de cmdlets de Blob, Fila e Arquivo foram alterados de Microsoft.WindowsAzure.Storage para Microsoft.Azure.Storage. Embora essa não seja tecnicamente uma alteração da falha de acordo com a política de alteração da falha, ela pode exigir algumas alterações no código que usa os métodos do SDK do .NET de Armazenamento para interagir com os objetos retornados desses 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)
    

    Após:

    $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: efetuar fetch de atributos de blob/arquivo com AccessCondition (alterar o 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)
    

    Após:

    $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 essa não seja tecnicamente uma alteração interruptiva, você observará diferenças de saída na propriedade Sku.Name das contas de armazenamento retornadas das alterações em New/Get/Set-AzStorageAccount são descritas a seguir. (Após a alteração, o SkuName de saída e de entrada são alinhados.)

    • "StandardLRS" -> "Standard_LRS";
    • "StandardGRS" -> "Standard_GRS";
    • "StandardRAGRS" -> "Standard_RAGRS";
    • "StandardZRS" -> "Standard_ZRS";
    • "PremiumLRS" -> "Premium_LRS";
  • O comportamento do serviço padrão ao criar uma conta de armazenamento sem especificar um tipo foi alterado. Nas versões anteriores, quando uma conta de armazenamento era criada sem nenhum Kind especificado, o tipo de conta de armazenamento de Storage era usado na nova versão StorageV2 é o valor Kind padrão. Caso você precise criar uma conta de armazenamento V1 com o tipo '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
    

    Após:

    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