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 daNew-AzAvailabilitySet
eUpdate-AzAvailabilitySet
ed è stato sostituito daSku = Aligned
Prima
Update-AzAvailabilitySet -Managed
Dopo
Update-AzAvailabilitySet -Sku Aligned
Per coerenza, il parametro
Image
è stato rimosso dai set di parametri 'ByName' e 'ByResourceId' inUpdate-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' inRestart-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' inStart-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' inStop-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' inRemove-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' inSet-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' inSave-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
inPSVirtualMachineScaleSetVM
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 racchiudereEncryptionSettings
inPSDisk
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 racchiudereEncryptionSettings
inPSSnapshot
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
daPSVirtualMachineScaleSet
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 diSet-AzVMBootDiagnostics
Prima di
Uso di funzionalità deprecate
Set-AzVMBootDiagnostics
Dopo
Set-AzVMBootDIagnostic
Il cmdlet
Export-AzLogAnalyticThrottledRequest
ha rimosso l'alias diExport-AzLogAnalyticThrottledRequests
Prima di
Uso di funzionalità deprecate
Export-AzLogAnalyticThrottledRequests
Dopo
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Sono stati rimossi i cmdlet
Grant-AzHDInsightHttpServicesAccess
eRevoke-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 (sostituisceGrant-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
aMicrosoft.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 gli attributi di 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 si tratta tecnicamente di una modifica che causa un'interruzione, è possibile notare che le differenze nell'output della proprietà Sku.Name degli account di archiviazione restituite dopo le modifiche apportate a
New/Get/Set-AzStorageAccount
sono le 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 usavaStorage
. Nella nuova versione il valore predefinito diKind
è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 dell'impostazione predefinita di Kind)
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