Guida alla migrazione per Az 2.0.0
Questo documento descrive le modifiche tra le versioni 1.0.0 e 2.0.0 di Az
Sommario
Modifiche che causano un'interruzione del modulo
Az.Compute
Rimozione del parametro
Managed
da cmdletNew-AzAvailabilitySet
eUpdate-AzAvailabilitySet
a favore dell'uso diSku = Aligned
Prima
Update-AzAvailabilitySet -Managed
Dopo
Update-AzAvailabilitySet -Sku Aligned
Per coerenza, rimosso
Image
parametro dai set di parametri 'ByName' e 'ByResourceId' inUpdate-AzImage
Prima
Si noti che il codice seguente è funzionale, ma non viene usato ImageName passato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
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, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inRestart-AzVM
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
Dopo
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
Per coerenza, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inStart-AzVM
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
Dopo
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
Per coerenza, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inStop-AzVM
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
Dopo
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
Per coerenza, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inRemove-AzVM
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
Dopo
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
Per coerenza, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inSet-AzVM
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
Dopo
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
Per coerenza, rimosso
Name
parametro dai set di parametri 'ByObject' e 'ByResourceId' inSave-AzVMImage
Prima
Si noti che il codice seguente è funzionale, ma il nome passato non viene usato, quindi la rimozione di questo parametro non ha alcun impatto funzionale.
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
Dopo
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
Aggiunta della 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
Aggiunta la proprietà
EncryptionSettingsCollection
per racchiudere la proprietàEncryptionSettings
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
Aggiunta la proprietà
EncryptionSettingsCollection
per racchiudere la proprietàEncryptionSettings
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
Rimozione della proprietà
VirtualMachineProfile
daPSVirtualMachineScaleSet
Prima
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
Dopo
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
Cmdlet
Set-AzVMBootDiagnostic
ha rimosso l'alias perSet-AzVMBootDiagnostics
Prima
Uso dell'alias deprecato
Set-AzVMBootDiagnostics
Dopo
Set-AzVMBootDIagnostic
Cmdlet
Export-AzLogAnalyticThrottledRequest
ha rimosso l'alias aExport-AzLogAnalyticThrottledRequests
Prima
Uso dell'alias deprecato
Export-AzLogAnalyticThrottledRequests
Dopo
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Sono stati rimossi i cmdlet
Grant-AzHDInsightHttpServicesAccess
eRevoke-AzHDInsightHttpServicesAccess
. 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 il nome utente e la password HTTP del gateway (sostituisceGrant-AzHDInsightHttpServicesAccess
). - Aggiornamento del cmdlet
Get-AzHDInsightJobOutput
per supportare l'accesso granulare in base al ruolo alla chiave di archiviazione.- Gli utenti con ruoli Operatore cluster HDInsight, Collaboratore o Proprietario non saranno interessati.
- Gli utenti con un ruolo solo di Lettore dovranno specificare il parametro
DefaultStorageAccountKey
esplicitamente.
Per altre informazioni su queste modifiche all'accesso in base al ruolo, vedere aka.ms/hdi-config-update
Prima
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
Dopo
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Utenti con solo ruolo lettore per il cmdlet Get-AzHDInsightJobOutput
Prima
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
Dopo
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Gli spazi dei nomi per i tipi restituiti dai cmdlet Blob, Queue e File hanno cambiato il loro spazio dei nomi da
Microsoft.WindowsAzure.Storage
aMicrosoft.Azure.Storage
. Anche se questa non è tecnicamente una modifica di rilievo in base ai criteri di modifica di rilievo, potrebbe richiedere alcune modifiche al codice che utilizza i metodi di Storage .NET SDK per interagire con gli oggetti restituiti da questi 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 tecnicamente non si tratta di una modifica di rilievo, noterete delle differenze nell'output della proprietà Sku.Name degli account di archiviazione provenienti dalle modifiche di
New/Get/Set-AzStorageAccount
, che sono le seguenti. Dopo la modifica, l'output e l'input SkuName sono allineati.- "StandardLRS" -> "Standard_LRS";
- "StandardGRS" -> "Standard_GRS";
- "StandardRAGRS" -> "Standard_RAGRS";
- "StandardZRS" -> "Standard_ZRS";
- "PremiumLRS" -> "Premium_LRS";
Il comportamento predefinito del servizio durante la creazione di un account di archiviazione senza specificare un tipo è cambiato. Nelle versioni precedenti, quando è stato creato un account di archiviazione senza
Kind
specificato, è stato usato il tipo di account di archiviazione Tipo diStorage
, nella nuova versioneStorageV2
è il valoreKind
predefinito. Se hai bisogno di creare un account di archiviazione V1 con Tipo 'Storage', aggiungi 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