Przewodnik migracji modułu Az 2.0.0
Ten dokument zawiera opis różnic między wersjami 1.0.0 i 2.0.0 modułu Az
Spis treści
Zmiany powodujące niezgodność modułów
Az.Compute
Usunięto parametr
Managed
z poleceń cmdletNew-AzAvailabilitySet
iUpdate-AzAvailabilitySet
na rzecz parametruSku = Aligned
Przed
Update-AzAvailabilitySet -Managed
Po
Update-AzAvailabilitySet -Sku Aligned
W celu zapewnienia spójności usunięto parametr
Image
z zestawu parametrów „ByName” i „ByResourceId” w poleceniuUpdate-AzImage
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr ImageName nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
Po
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags Update-AzImage -ResourceId $Id -Tag $tags
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuRestart-AzVM
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
Po
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuStart-AzVM
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
Po
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuStop-AzVM
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
Po
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuRemove-AzVM
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
Po
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuSet-AzVM
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
Po
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
W celu zapewnienia spójności usunięto parametr
Name
z zestawów parametrów „ByObject” i „ByResourceId” w poleceniuSave-AzVMImage
Przed
Pamiętaj, że poniższy kod będzie działać, ale przekazany parametr Name nie jest używany, więc jego usunięcie nie ma żadnego wpływu na funkcjonalność.
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
Po
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
Dodano właściwość ProtectionPolicy w celu hermetyzacji właściwości
ProtectFromScaleIn
w klasiePSVirtualMachineScaleSetVM
Przed
$vmss = Get-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectFromScaleIn = $true
Po
$vmss = Get-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
Dodano właściwość
EncryptionSettingsCollection
w celu objęcia właściwościEncryptionSettings
w klasiePSDisk
Przed
$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
Po
$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
Dodano właściwość
EncryptionSettingsCollection
w celu objęcia właściwościEncryptionSettings
w klasiePSSnapshot
Przed
$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
Po
$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
Usunięto właściwość
VirtualMachineProfile
z klasyPSVirtualMachineScaleSet
Przed
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
Po
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
W przypadku polecenia cmdlet
Set-AzVMBootDiagnostic
usunięto alias polecenia cmdletSet-AzVMBootDiagnostics
Przed
Użycie przestarzałego aliasu
Set-AzVMBootDiagnostics
Po
Set-AzVMBootDIagnostic
W przypadku polecenia cmdlet
Export-AzLogAnalyticThrottledRequest
usunięto alias polecenia cmdletExport-AzLogAnalyticThrottledRequests
Przed
Użycie przestarzałego aliasu
Export-AzLogAnalyticThrottledRequests
Po
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Usunięto polecenia cmdlet
Grant-AzHDInsightHttpServicesAccess
iRevoke-AzHDInsightHttpServicesAccess
. Nie są one już potrzebne, ponieważ dostęp HTTP jest zawsze włączony na wszystkich klastrach HDInsight. - Dodano nowe polecenie cmdlet
Set-AzHDInsightGatewayCredential
. Za pomocą tego polecenia cmdlet można zmienić nazwę i hasło użytkownika HTTP bramy (zastępuje polecenie cmdletGrant-AzHDInsightHttpServicesAccess
). - Zaktualizowano polecenie cmdlet
Get-AzHDInsightJobOutput
tak, aby obsługiwało szczegółowy dostęp na podstawie ról do klucza magazynu.- Nie ma to wpływu na użytkowników mających rolę Operator, Współautor lub Właściciel w klastrze usługi HDInsight.
- Użytkownicy mający tylko rolę Czytelnik będą musieli jawnie określać parametr
DefaultStorageAccountKey
.
Aby uzyskać więcej informacji o tych zmianach dostępu na podstawie ról, zobacz aka.ms/hdi-config-update
Przed
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
Po
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Polecenie cmdlet Get-AzHDInsightJobOutput w przypadku użytkowników mających tylko rolę Czytelnik
Przed
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
Po
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Przestrzenie nazw dla typów zwracanych przez polecenia cmdlet Blob, Queue i File zostały zmienione z
Microsoft.WindowsAzure.Storage
naMicrosoft.Azure.Storage
. Chociaż w zasadzie nie jest to zmiana powodująca niezgodność zgodnie z zasadami zmian powodujących niezgodność, może spowodować konieczność wprowadzenia pewnych zmian w kodzie, który używa metod z zestawu .Net SDK magazynu do interakcji z obiektami zwracanymi przez te polecenia cmdlet.Przykład 1: Dodawanie komunikatu do kolejki (zmiana przestrzeni nazw obiektu CloudQueueMessage)
Przed:
$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)
Po:
$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)
Przykład 2: Pobieranie atrybutów obiektu blob/pliku za pomocą właściwości AccessCondition (zmiana przestrzeni nazw obiektu AccessCondition)
Przed:
$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)
Po:
$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)
Chociaż nie jest to technicznie zmiana powodująca niezgodność, zauważysz różnice danych wyjściowych we właściwości Sku.Name kont magazynu zwróconych ze
New/Get/Set-AzStorageAccount
zmian w następujący sposób. (Po zmianie wyjściowa i wejściowa wartość SkuName będą zgodne).- "StandardLRS" —> "Standard_LRS";
- "StandardGRS" —> "Standard_GRS";
- "StandardRAGRS" —> "Standard_RAGRS";
- "StandardZRS" —> "Standard_ZRS";
- "PremiumLRS" —> "Premium_LRS";
Zmieniono domyślne zachowanie usługi podczas tworzenia konta magazynu bez określania rodzaju. W poprzednich wersjach, gdy konto magazynu zostało utworzone bez określenia parametru
Kind
, używany był rodzaj konta magazynuStorage
. W nowej wersjiStorageV2
to wartość domyślna parametruKind
. Jeśli chcesz utworzyć konto magazynu w wersji 1 o rodzaju „Storage”, dodaj parametr „-Kind Storage”Przykład: tworzenie konta magazynu (zmiana typu domyślnego)
Przed:
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
Po:
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