Guida alla migrazione per Az 2.0.0

Questo documento descrive le modifiche apportate tra le versioni 1.0.0 e 2.0.0 di Az.

Sommario

Modifiche che causano un'interruzione dei moduli

Az.Compute

  • Il parametro Managed è stato rimosso da New-AzAvailabilitySet e Update-AzAvailabilitySet ed è stato sostituito da Sku = Aligned

    Prima

    Update-AzAvailabilitySet -Managed
    

    Dopo

    Update-AzAvailabilitySet -Sku Aligned
    
  • Per coerenza, il parametro Image è stato rimosso dai set di parametri 'ByName' e 'ByResourceId' in Update-AzImage

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro ImageName passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags
    
    Update-AzImage -ResourceId $Id -Tag $tags
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Restart-AzVM

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Start-AzVM

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Stop-AzVM

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Remove-AzVM

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Set-AzVM

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • Per coerenza, il parametro Name è stato rimosso dai set di parametri 'ByObject' e 'ByResourceId' in Save-AzVMImage

    Prima di

    Si noti che il codice seguente è funzionante, ma il parametro Name passato non viene usato, di conseguenza la rimozione di questo parametro non influisce sul funzionamento.

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

    Dopo

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • È stata aggiunta la proprietà ProtectionPolicy per incapsulare la proprietà ProtectFromScaleIn in PSVirtualMachineScaleSetVM

    Prima

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

    Dopo

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    
  • È stata aggiunta la proprietà EncryptionSettingsCollection per racchiudere EncryptionSettings in PSDisk

    Prima

    $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
    

    Dopo

    $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
    
  • È stata aggiunta la proprietà EncryptionSettingsCollection per racchiudere EncryptionSettings in PSSnapshot

    Prima

    $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
    

    Dopo

    $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
    
  • È stata rimossa la proprietà VirtualMachineProfile da PSVirtualMachineScaleSet

    Prima

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

    Dopo

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Il cmdlet Set-AzVMBootDiagnostic ha rimosso l'alias di Set-AzVMBootDiagnostics

    Prima di

    Uso di funzionalità deprecate

    Set-AzVMBootDiagnostics
    

    Dopo

    Set-AzVMBootDIagnostic
    
  • Il cmdlet Export-AzLogAnalyticThrottledRequest ha rimosso l'alias di Export-AzLogAnalyticThrottledRequests

    Prima di

    Uso di funzionalità deprecate

    Export-AzLogAnalyticThrottledRequests
    

    Dopo

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Sono stati rimossi i cmdlet Grant-AzHDInsightHttpServicesAccess e Revoke-AzHDInsightHttpServicesAccess. Tali cmdlet non sono più necessari perché l'accesso HTTP è sempre abilitato in tutti i cluster HDInsight.
  • È stato aggiunto un nuovo cmdlet Set-AzHDInsightGatewayCredential. Usare questo cmdlet per modificare nome utente e password HTTP del gateway (sostituisce Grant-AzHDInsightHttpServicesAccess).
  • Il cmdlet Get-AzHDInsightJobOutput è stato aggiornato e ora supporta l'accesso granulare in base al ruolo alla chiave di archiviazione.
    • Gli utenti con ruolo di collaboratore, proprietario oppure operatore cluster HDInsight non sono interessati.
    • Solo gli utenti con ruolo di lettore devono specificare il parametro DefaultStorageAccountKey in modo esplicito.

Per altre informazioni sulle modifiche degli accessi in base al ruolo, vedere aka.ms/hdi-config-update.

Prima

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

Dopo

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Solo gli utenti con ruolo di lettore per il cmdlet Get-AzHDInsightJobOutput

Prima

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

Dopo

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

Az.Storage

  • Lo spazio dei nomi per i tipi restituiti dai cmdlet di BLOB, coda e file è stato modificato da Microsoft.WindowsAzure.Storage a Microsoft.Azure.Storage. Anche se non si tratta tecnicamente di una modifica di rilievo in base ai criteri per le modifiche di rilievo, può richiedere alcune modifiche nel codice che usa i metodi dell'SDK .NET di archiviazione per interagire con gli oggetti restituiti da tali cmdlet.

    Esempio 1: Aggiungere un messaggio a una coda (modificare lo spazio dei nomi dell'oggetto CloudQueueMessage)

    Prima:

    $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)
    

    Dopo:

    $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)
    

    Esempio 2: Recuperare attributi BLOB/file con AccessCondition (modificare lo spazio dei nomi dell'oggetto AccessCondition)

    Prima:

    $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)
    

    Dopo:

    $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)
    
  • Anche se non tecnicamente una modifica di rilievo, si noteranno differenze di output nella proprietà Sku.Name di Archiviazione Account restituiti dalle New/Get/Set-AzStorageAccount modifiche sono i seguenti. Dopo la modifica gli oggetti SkuName di input e di output sono allineati.

    • "StandardLRS" -> "Standard_LRS";
    • "StandardGRS" -> "Standard_GRS";
    • "StandardRAGRS" -> "Standard_RAGRS";
    • "StandardZRS" -> "Standard_ZRS";
    • "PremiumLRS" -> "Premium_LRS";
  • Il comportamento predefinito del servizio quando si crea un account di archiviazione senza specificare l'argomento Kind è cambiato. Nelle versioni precedenti, quando si creava un account di archiviazione senza specificare l'argomento Kind, come valore di Kind per l'account di archiviazione si usava Storage. Nella nuova versione il valore predefinito di Kind è StorageV2. Per creare un account di archiviazione V1 in cui Kind è impostato su 'Storage', aggiungere il parametro '-Kind Storage'.

    Esempio: Creare un account di archiviazione (modifica tipo predefinito)

    Prima:

    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
    

    Dopo:

    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