Az 2.0.0 の移行ガイド
このドキュメントでは、Az の 1.0.0 バージョンと 2.0.0 バージョンの間の変更について説明します
目次
モジュールの破壊的変更
Az.Compute
Sku = Aligned
の使用を優先して、New-AzAvailabilitySet
およびUpdate-AzAvailabilitySet
コマンドレットからManaged
パラメーターを削除しました以前は
Update-AzAvailabilitySet -Managed
クリック後
Update-AzAvailabilitySet -Sku Aligned
一貫性を保つため、
Update-AzImage
の 'ByName' パラメーター セットと 'ByResourceId' パラメーター セットからImage
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された ImageName は使用されないため、このパラメーターを削除しても機能に影響はありません。
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
クリック後
Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags Update-AzImage -ResourceId $Id -Tag $tags
一貫性を保つため、
Restart-AzVM
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Restart-AzVM -InputObject $VM -Name $Name Restart-AzVM -ResourceId $Id -Name $Name
クリック後
Restart-AzVM -InputObject $VM Restart-AzVM -ResourceId $Id
一貫性を保つため、
Start-AzVM
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Start-AzVM -InputObject $VM -Name $Name Start-AzVM -ResourceId $Id -Name $Name
クリック後
Start-AzVM -InputObject $VM Start-AzVM -ResourceId $Id
一貫性を保つため、
Stop-AzVM
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Stop-AzVM -InputObject $VM -Name $Name Stop-AzVM -ResourceId $Id -Name $Name
クリック後
Stop-AzVM -InputObject $VM Stop-AzVM -ResourceId $Id
一貫性を保つため、
Remove-AzVM
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Remove-AzVM -InputObject $VM -Name $Name Remove-AzVM -ResourceId $Id -Name $Name
クリック後
Remove-AzVM -InputObject $VM Remove-AzVM -ResourceId $Id
一貫性を保つため、
Set-AzVM
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Set-AzVM -InputObject $VM -Name $Name ... Set-AzVM -ResourceId $Id -Name $Name ...
クリック後
Set-AzVM -InputObject $VM ... Set-AzVM -ResourceId $Id ...
一貫性を保つため、
Save-AzVMImage
の 'ByObject' パラメーター セットと 'ByResourceId' パラメーター セットからName
パラメーターを削除しました以前は
以下のコードは機能していますが、渡された名前は使用されないため、このパラメーターを削除しても機能に影響はありません。
Save-AzVMImage -InputObject $VM -Name $Name ... Save-AzVMImage -ResourceId $Id -Name $Name ...
クリック後
Save-AzVMImage -InputObject $VM ... Save-AzVMImage -ResourceId $Id ...
ProtectFromScaleIn
プロパティをカプセル化するために、PSVirtualMachineScaleSetVM
に ProtectionPolicy プロパティを追加しました。以前は
$vmss = Get-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectFromScaleIn = $true
クリック後
$vmss = Get-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Update-AzVMssVM ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true $vmss = Remove-AzVMssVMDataDisk ... $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
プロパティ
EncryptionSettings
を囲むためにプロパティEncryptionSettingsCollection
をPSDisk
に追加しました。以前は
$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
クリック後
$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
プロパティ
EncryptionSettingsCollection
をEncryptionSettings
プロパティを囲むようにPSSnapshot
に追加しました。以前は
$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
クリック後
$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
PSVirtualMachineScaleSet
からVirtualMachineProfile
プロパティを削除しました以前は
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
クリック後
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
コマンドレット
Set-AzVMBootDiagnostic
Set-AzVMBootDiagnostics
のエイリアスを削除しました以前は
非推奨のエイリアスの使用
Set-AzVMBootDiagnostics
クリック後
Set-AzVMBootDIagnostic
コマンドレット
Export-AzLogAnalyticThrottledRequest
Export-AzLogAnalyticThrottledRequests
のエイリアスを削除しました以前は
非推奨エイリアスの使用
Export-AzLogAnalyticThrottledRequests
クリック後
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
Grant-AzHDInsightHttpServicesAccess
コマンドレットとRevoke-AzHDInsightHttpServicesAccess
コマンドレットを削除しました。 すべての HDInsight クラスターで HTTP アクセスが常に有効になっているため、これらは不要になりました。- 新しい
Set-AzHDInsightGatewayCredential
コマンドレットを追加しました。 ゲートウェイの HTTP ユーザー名とパスワードを変更するには、このコマンドレットを使用します (Grant-AzHDInsightHttpServicesAccess
を置き換えます)。 - ストレージ キーへのきめ細かなロールベースのアクセスをサポートするように、
Get-AzHDInsightJobOutput
コマンドレットを更新しました。- HDInsight クラスター オペレーター、共同作成者、または所有者ロールを持つユーザーは影響を受けません。
- 閲覧者ロールのみを持つユーザーは、パラメーター
DefaultStorageAccountKey
明示的に指定する必要があります。
これらのロールベースのアクセス変更の詳細については、aka.ms/hdi-config-update を参照してください。
以前は
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
クリック後
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
コマンドレット Get-AzHDInsightJobOutput の閲覧者ロールのみを持つユーザー
以前は
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
クリック後
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
BLOB、Queue、および File コマンドレットから返される型の名前空間が
Microsoft.WindowsAzure.Storage
からMicrosoft.Azure.Storage
に変更されました。 これは技術的には破壊的変更ポリシーに従った破壊的変更ではありませんが、Storage .Net SDK のメソッドを使用して、これらのコマンドレットから返されたオブジェクトを操作するコードにいくつかの変更が必要になる場合があります。例 1: キューにメッセージを追加する (CloudQueueMessage オブジェクトの名前空間を変更する)
以前は:
$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)
後:
$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)
例 2: AccessCondition を使用して BLOB/ファイル属性をフェッチする (AccessCondition オブジェクト名前空間を変更する)
以前は:
$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)
後:
$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)
技術的には破壊的変更ではありませんが、
New/Get/Set-AzStorageAccount
の変更から返されるストレージ アカウントの Sku.Name プロパティの出力の違いは次のようになります。 (変更後、出力と入力 SkuName がアラインされます)。- "StandardLRS" -> "Standard_LRS";
- "StandardGRS" -> "Standard_GRS";
- "StandardRAGRS" -> "Standard_RAGRS";
- "StandardZRS" -> "Standard_ZRS";
- "PremiumLRS" -> "Premium_LRS";
種類を指定してストレージ アカウントを作成するときの既定のサービス動作が変更されました。 以前のバージョンでは、
Kind
が指定されていないストレージ アカウントが作成されたとき、ストレージ アカウントの種類としてStorage
が使用されていましたが、新しいバージョンではStorageV2
が既定のKind
値です。 Kind 'Storage' で V1 ストレージ アカウントを作成する必要がある場合は、パラメーター '-Kind Storage' を追加します例: ストレージ アカウントを作成する (既定の種類の変更)
以前は:
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
後:
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
Azure PowerShell