Guide de migration pour Az 2.0.0
Ce document décrit les modifications apportées entre les versions 1.0.0 et 2.0.0 d’Az.
Sommaire
Changements cassants de module
Az.Compute
Paramètre
Managed
supprimé des applets de commandeNew-AzAvailabilitySet
etUpdate-AzAvailabilitySet
, au profit deSku = Aligned
Avant
Update-AzAvailabilitySet -Managed
Après
Update-AzAvailabilitySet -Sku Aligned
Pour des raisons de cohérence, le paramètre
Image
a été supprimé des jeux de paramètres « ByName » et « ByResourceId » dansUpdate-AzImage
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre ImageName passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
Après
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags Update-AzImage -ResourceId $Id -Tag $tags
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansRestart-AzVM
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
Après
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansStart-AzVM
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
Après
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansStop-AzVM
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
Après
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansRemove-AzVM
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
Après
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansSet-AzVM
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
Après
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
Pour des raisons de cohérence, le paramètre
Name
a été supprimé des jeux de paramètres « ByObject » et « ByResourceId » dansSave-AzVMImage
Avant
Notez que le code ci-dessous est fonctionnel, mais que le paramètre Name passé n’est pas utilisé : la suppression de ce paramètre n’a donc pas d’impact fonctionnel.
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
Après
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
La propriété ProtectionPolicy a été ajoutée pour encapsuler la propriété
ProtectFromScaleIn
dansPSVirtualMachineScaleSetVM
Avant
$vmss = Get-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectFromScaleIn = $true
Après
$vmss = Get-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
La propriété
EncryptionSettingsCollection
a été ajoutée pour inclure la propriétéEncryptionSettings
dansPSDisk
Avant
$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
Après
$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
La propriété
EncryptionSettingsCollection
a été ajoutée pour inclure la propriétéEncryptionSettings
dansPSSnapshot
Avant
$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
Après
$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
La propriété
VirtualMachineProfile
a été supprimée dePSVirtualMachineScaleSet
Avant
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
Après
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
L’alias de l’applet de commande
Set-AzVMBootDiagnostic
versSet-AzVMBootDiagnostics
a été suppriméAvant
Utilisation de l’alias déprécié
Set-AzVMBootDiagnostics
Après
Set-AzVMBootDIagnostic
L’alias de l’applet de commande
Export-AzLogAnalyticThrottledRequest
versExport-AzLogAnalyticThrottledRequests
a été suppriméAvant
Utilisation de l’alias déprécié
Export-AzLogAnalyticThrottledRequests
Après
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
- Les applets de commande
Grant-AzHDInsightHttpServicesAccess
etRevoke-AzHDInsightHttpServicesAccess
ont été supprimées. Elles ne sont plus nécessaires, car l’accès HTTP est toujours activé sur tous les clusters HDInsight. - Une nouvelle applet de commande
Set-AzHDInsightGatewayCredential
a été ajoutée. Utilisez cette applet de commande pour changer le nom d’utilisateur et le mot de passe HTTP de la passerelle (elle remplaceGrant-AzHDInsightHttpServicesAccess
). - L’applet de commande
Get-AzHDInsightJobOutput
a été mise à jour de façon à prendre en charge la précision de l’accès en fonction du rôle à la clé de stockage.- Les utilisateurs avec les rôles Opérateur, Contributeur et Propriétaire de cluster HDInsight ne seront pas affectés.
- Les utilisateurs qui ont seulement le rôle Lecteur doivent spécifier explicitement le paramètre
DefaultStorageAccountKey
.
Pour plus d’informations sur ces modifications de l’accès en fonction du rôle, consultez aka.ms/hdi-config-update
Avant
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
Après
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
Utilisateurs avec seulement le rôle Lecteur pour l’applet de commande Get-AzHDInsightJobOutput
Avant
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
Après
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Les espaces de noms pour les types retournés depuis les applets de commande pour les objets Blob, File d’attente et Fichier ont été changés de
Microsoft.WindowsAzure.Storage
enMicrosoft.Azure.Storage
. Bien que ceci ne représente pas un changement cassant sur le plan technique du point de vue de la stratégie des changements cassants, il peut nécessiter certaines modifications dans le code qui utilise les méthodes du SDK Stockage .NET pour interagir avec les objets retournés par ces applets de commande.Exemple 1 : Ajouter un message à une file d’attente (changement de l’espace de noms de l’objet CloudQueueMessage)
Avant :
$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)
Après :
$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)
Exemple 2 : Extraire les attributs d’un objet blob/fichier avec AccessCondition (changement de l’espace de noms de l’objet AccessCondition)
Avant :
$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)
Après :
$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)
Il ne s’agit techniquement pas d’un changement cassant, mais vous constaterez des différences de sortie dans la propriété Sku.Name des comptes de stockage retournés depuis
New/Get/Set-AzStorageAccount
. Les changements sont les suivants. (Après la modification, le SkuName en entrée et en sortie sont alignés.)- « StandardLRS » -> « Standard_LRS » ;
- « StandardGRS » -> « Standard_GRS » ;
- « StandardRAGRS » -> « Standard_RAGRS » ;
- « StandardZRS » -> « Standard_ZRS » ;
- « PremiumLRS » -> « Premium_LRS » ;
Le comportement par défaut du service quand vous créez un compte de stockage sans spécifier un type (Kind) a changé. Dans les versions précédentes, quand un compte de stockage était créé sans spécification de
Kind
, le type de compte de stockageStorage
était utilisé ; dans la nouvelle version,StorageV2
est la valeur par défaut deKind
. Si vous devez créer un compte de stockage V1 avec le type « Stockage », ajoutez le paramètre « -Kind Storage »Exemple : Créer un stockage de compte (changement du type par défaut)
Avant :
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
Après :
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