Udostępnij za pośrednictwem


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ń cmdlet New-AzAvailabilitySet i Update-AzAvailabilitySet na rzecz parametru Sku = 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 poleceniu Update-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 poleceniu Restart-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 poleceniu Start-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 poleceniu Stop-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 poleceniu Remove-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 poleceniu Set-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 poleceniu Save-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 klasie PSVirtualMachineScaleSetVM

    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ści EncryptionSettings w klasie PSDisk

    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ści EncryptionSettings w klasie PSSnapshot

    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 klasy PSVirtualMachineScaleSet

    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 cmdlet Set-AzVMBootDiagnostics

    Przed

    Użycie przestarzałego aliasu

    Set-AzVMBootDiagnostics
    

    Po

    Set-AzVMBootDIagnostic
    
  • W przypadku polecenia cmdlet Export-AzLogAnalyticThrottledRequest usunięto alias polecenia cmdlet Export-AzLogAnalyticThrottledRequests

    Przed

    Użycie przestarzałego aliasu

    Export-AzLogAnalyticThrottledRequests
    

    Po

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Usunięto polecenia cmdlet Grant-AzHDInsightHttpServicesAccess i Revoke-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 cmdlet Grant-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 na Microsoft.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 magazynu Storage. W nowej wersji StorageV2 to wartość domyślna parametru Kind. 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