Průvodce migrací pro Az 2.0.0

Tento dokument popisuje změny mezi verzemi 1.0.0 a 2.0.0 modulu Az.

Obsah

Zásadní změny modulů

Az.Compute

  • Odebrání parametru Managed z rutin New-AzAvailabilitySet a Update-AzAvailabilitySet ve prospěch Sku = Aligned

    Před

    Update-AzAvailabilitySet -Managed
    

    Po

    Update-AzAvailabilitySet -Sku Aligned
    
  • Odebrání parametru Image ze sad parametrů ByName a ByResourceId v rutině Update-AzImage pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr ImageName se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    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
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Restart-AzVM pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Restart-AzVM -InputObject $VM -Name $Name
    
    Restart-AzVM -ResourceId $Id -Name $Name
    

    Po

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Start-AzVM pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Start-AzVM -InputObject $VM -Name $Name
    
    Start-AzVM -ResourceId $Id -Name $Name
    

    Po

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Stop-AzVM pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Stop-AzVM -InputObject $VM -Name $Name
    
    Stop-AzVM -ResourceId $Id -Name $Name
    

    Po

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Remove-AzVM pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Remove-AzVM -InputObject $VM -Name $Name
    
    Remove-AzVM -ResourceId $Id -Name $Name
    

    Po

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Set-AzVM pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Set-AzVM -InputObject $VM -Name $Name ...
    
    Set-AzVM -ResourceId $Id -Name $Name ...
    

    Po

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • Odebrání parametru Name ze sad parametrů ByObject a ByResourceId v rutině Save-AzVMImage pro zajištění konzistence

    Před

    Všimněte si, že následující kód je funkční, ale předaný parametr Name se nepoužívá, takže jeho odebrání na funkčnost kódu nebude mít vliv.

    Save-AzVMImage -InputObject $VM -Name $Name ...
    
    Save-AzVMImage -ResourceId $Id -Name $Name ...
    

    Po

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • Přidání vlastnosti ProtectionPolicy pro zapouzdření vlastnosti ProtectFromScaleIn ve třídě PSVirtualMachineScaleSetVM

    Před

    $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
    
    
  • Přidání vlastnosti EncryptionSettingsCollection pro uzavření vlastnosti EncryptionSettings ve třídě PSDisk

    Před

    $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
    
  • Přidání vlastnosti EncryptionSettingsCollection pro uzavření vlastnosti EncryptionSettings ve třídě PSSnapshot

    Před

    $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
    
  • Odebrání vlastnosti VirtualMachineProfile z třídy PSVirtualMachineScaleSet

    Před

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

    Po

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Odebrání aliasu Set-AzVMBootDiagnostics pro rutinu Set-AzVMBootDiagnostic

    Před

    Použití zastaralého aliasu

    Set-AzVMBootDiagnostics
    

    Po

    Set-AzVMBootDIagnostic
    
  • Odebrání aliasu Export-AzLogAnalyticThrottledRequests pro rutinu Export-AzLogAnalyticThrottledRequest

    Před

    Použití zastaralého aliasu

    Export-AzLogAnalyticThrottledRequests
    

    Po

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Odebrání rutin Grant-AzHDInsightHttpServicesAccess a Revoke-AzHDInsightHttpServicesAccess. Tyto rutiny už nejsou potřeba, protože na všech clusterech HDInsight je vždy povolený přístup HTTP.
  • Přidání nové rutiny Set-AzHDInsightGatewayCredential. Pomocí této rutiny můžete změnit uživatelské jméno a heslo HTTP pro bránu (tato rutina nahrazuje rutinu Grant-AzHDInsightHttpServicesAccess).
  • Aktualizace rutiny Get-AzHDInsightJobOutput tak, aby podporovala podrobné řízení přístupu na základě role ke klíči úložiště.
    • Uživatelů s rolemi Vlastník, Přispěvatel a Operátor clusteru HDInsight se tato změna nedotkne.
    • Pouze uživatelé s rolí Čtenář budou muset explicitně zadat parametr DefaultStorageAccountKey.

Další informace o těchto změnách řízení přístupu na základě role najdete na stránce aka.ms/hdi-config-update.

Před

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

Po

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Uživatelé pouze s rolí Čtenář pro rutinu Get-AzHDInsightJobOutput

Před

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

Po

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

Az.Storage

  • Došlo ke změně oborů názvů pro typy vrácené z rutin pro objekty blob, fronty a soubory z Microsoft.WindowsAzure.Storage na Microsoft.Azure.Storage. I když se technicky vzato z hlediska zásad pro zásadní změny nejedná o zásadní změnu, může to vyžadovat určité změny kódu, který pomocí metod ze sady .NET SDK služby Storage pracuje s objekty vrácenými z těchto rutin.

    Příklad 1: Přidání zprávy do fronty (změna oboru názvů objektu CloudQueueMessage)

    Před:

    $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)
    

    Příklad 2: Načtení atributů objektu blob nebo souboru pomocí AccessCondition (změna oboru názvů objektu AccessCondition)

    Před:

    $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)
    
  • I když není technicky zásadní změna, všimněte si výstupních rozdílů v Sku.Name vlastnosti účtů úložiště vrácených ze New/Get/Set-AzStorageAccount změn, jak je znázorněno níže. (Po provedení změny jsou vstupní a výstupní hodnoty SkuName stejné.)

    • "StandardLRS" –> "Standard_LRS";
    • "StandardGRS" -> "Standard_GRS";
    • "StandardRAGRS" -> "Standard_RAGRS";
    • "StandardZRS" –> "Standard_ZRS";
    • "PremiumLRS" –> "Premium_LRS";
  • Došlo ke změně výchozího chování služby při vytváření účtu úložiště bez zadání hodnoty Kind. V předchozích verzích se při vytváření účtu úložiště bez zadané hodnoty Kind použil typ účtu Storage. Výchozí hodnota Kind v nové verzi je StorageV2. Pokud potřebujete vytvořit účet úložiště V1 typu Storage, přidejte parametr -Kind Storage.

    Příklad: Vytvoření účtu úložiště (výchozí změna druhu)

    Před:

    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