Udostępnij za pośrednictwem


Przewodnik migracji dla modułu Az 2.0.0

W tym dokumencie opisano zmiany między wersjami az 1.0.0 i 2.0.0

Spis treści

Zmiany naruszające zgodność modułów

Az.Compute

  • Usunięto parametr Managed z poleceń cmdlet New-AzAvailabilitySet i Update-AzAvailabilitySet na rzecz używania Sku = Aligned

    Przed

    Update-AzAvailabilitySet -Managed
    

    Po

    Update-AzAvailabilitySet -Sku Aligned
    
  • W celu zapewnienia spójności usunięto parametr Image z zestawów parametrów "ByName" i "ByResourceId" w Update-AzImage

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazany parametr ImageName nie jest używany, więc usunięcie tego parametru nie ma 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 Restart-AzVM

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 Start-AzVM

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 Stop-AzVM

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 Remove-AzVM

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 Set-AzVM

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 Save-AzVMImage

    Przed

    Zwróć uwagę, że poniższy kod działa, ale przekazana nazwa nie jest używana, więc usunięcie tego parametru nie ma 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 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 ujęć właściwości EncryptionSettings w 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 ujęć właściwości EncryptionSettings w 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 PSVirtualMachineScaleSet

    Przed

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

    Po

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Cmdlet Set-AzVMBootDiagnostic usunął alias do Set-AzVMBootDiagnostics

    Przed

    Używanie przestarzałego aliasu

    Set-AzVMBootDiagnostics
    

    Po

    Set-AzVMBootDIagnostic
    
  • Polecenie cmdlet Export-AzLogAnalyticThrottledRequest usunęło alias dla Export-AzLogAnalyticThrottledRequests

    Przed

    Używanie przestarzałego aliasu

    Export-AzLogAnalyticThrottledRequests
    

    Po

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Usunięto polecenia cmdlet Grant-AzHDInsightHttpServicesAccess i Revoke-AzHDInsightHttpServicesAccess. Nie są one już konieczne, ponieważ dostęp HTTP jest zawsze włączony we wszystkich klastrach usługi HDInsight.
  • Dodano nowe polecenie cmdlet Set-AzHDInsightGatewayCredential. Użyj tego polecenia cmdlet, aby zmienić nazwę użytkownika i hasło dostępu HTTP dla bramy (zastępuje Grant-AzHDInsightHttpServicesAccess).
  • Zaktualizowano polecenie cmdlet Get-AzHDInsightJobOutput w celu obsługi szczegółowego dostępu opartego na rolach do klucza magazynu.
    • Użytkownicy z rolami operatora klastra usługi HDInsight, współautora lub właściciela nie będą mieć wpływu.
    • Użytkownicy z rolą Czytelnika muszą jawnie określić parametr DefaultStorageAccountKey.

Aby uzyskać więcej informacji na temat tych zmian dostępu opartych na rolach, zobacz aka.ms/hdi-config-update

Przed

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

Po

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Użytkownicy tylko z rolą czytelnika dla polecenia cmdlet Get-AzHDInsightJobOutput

Przed

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

Po

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

Az.Storage

  • Przestrzenie nazw dla typów zwracanych z poleceń cmdlet obiektów blob, kolejek i plików zostały zmienione z Microsoft.WindowsAzure.Storage na Microsoft.Azure.Storage. Chociaż nie jest to technicznie zmiana powodująca niezgodność zgodnie z zasadami zmiany powodującej niezgodność, może to wymagać pewnych zmian w kodzie, który używa metod z zestawu SDK .Net dla usługi Storage do interakcji z obiektami zwracanymi z tych cmdletów.

    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ż technicznie nie jest to zmiana krytyczna, zauważysz różnice w danych wyjściowych dla właściwości Sku.Name kont magazynu zwróconych z New/Get/Set-AzStorageAccount. Oto jak wyglądają zmiany. (Po zmianie dane wyjściowe i dane wejściowe SkuName są wyrównane).

    • "StandardLRS" —> "Standard_LRS";
    • "StandardGRS" —> "Standard_GRS";
    • "StandardRAGRS" —> "Standard_RAGRS";
    • StandardZRS —> "Standard_ZRS";
    • "PremiumLRS" —> "Premium_LRS";
  • Domyślne zachowanie usługi podczas tworzenia konta magazynu bez określenia rodzaju uległo zmianie. W poprzednich wersjach, gdy konto magazynu zostało utworzone bez określenia Kind, używano Rodzaju konta magazynu Storage. W nowej wersji StorageV2 jest domyślną wartością Kind. Jeśli musisz utworzyć konto magazynu w wersji 1 z typem "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