Az 2.0.0 마이그레이션 가이드
이 문서에서는 Az의 1.0.0 버전과 2.0.0 버전 간의 변경 내용을 설명합니다.
목차
-
모듈 호환성이 손상되는 변경
- Az.Compute
- Az.HDInsight
- Az.Storage
모듈 호환성이 손상되는 변경
Az.Compute
Sku = Aligned
사용하기 위해New-AzAvailabilitySet
및Update-AzAvailabilitySet
cmdlet에서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
속성을 캡슐화하기 위해 ProtectionPolicy 속성이PSVirtualMachineScaleSetVM
에 추가되었습니다.전에
$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
PSDisk
EncryptionSettings
속성을 묶는EncryptionSettingsCollection
속성이 추가되었습니다.전에
$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
EncryptionSettings
속성을PSSnapshot
에 묶는EncryptionSettingsCollection
속성이 추가되었습니다.전에
$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
VirtualMachineProfile
속성이PSVirtualMachineScaleSet
에서 제거됨전에
$vmss = New-AzVMSSConfig ... $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
후
$vmss = New-AzVMSSConfig ... $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
Cmdlet
Set-AzVMBootDiagnostic
이Set-AzVMBootDiagnostics
에 대한 별칭을 제거했습니다.전에
사용되지 않는 별칭 사용
Set-AzVMBootDiagnostics
후
Set-AzVMBootDIagnostic
cmdlet
Export-AzLogAnalyticThrottledRequest
에서Export-AzLogAnalyticThrottledRequests
에 대한 별칭을 제거했습니다.전에
사용되지 않는 별칭 사용
Export-AzLogAnalyticThrottledRequests
후
Export-AzLogAnalyticThrottledRequest
Az.HDInsight
-
Grant-AzHDInsightHttpServicesAccess
및Revoke-AzHDInsightHttpServicesAccess
cmdlet을 제거했습니다. HTTP 액세스는 모든 HDInsight 클러스터에서 항상 사용하도록 설정되므로 더 이상 필요하지 않습니다. - 새
Set-AzHDInsightGatewayCredential
cmdlet이 추가되었습니다. 이 cmdlet을 사용하여 게이트웨이 HTTP 사용자 이름 및 암호를 변경합니다(Grant-AzHDInsightHttpServicesAccess
대체). - 스토리지 키에 대한 세분화된 역할 기반 액세스를 지원하도록
Get-AzHDInsightJobOutput
cmdlet을 업데이트했습니다.- HDInsight 클러스터 운영자, 기여자 또는 소유자 역할이 있는 사용자는 영향을 받지 않습니다.
- 읽기 권한자 역할만 있는 사용자는
DefaultStorageAccountKey
매개 변수를 명시적으로 지정해야 합니다.
이러한 역할 기반 액세스 변경에 대한 자세한 내용은 aka.ms/hdi-config-update 참조하세요.
전에
Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
후
Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
cmdlet Get-AzHDInsightJobOutput 대한 읽기 권한자 역할만 있는 사용자
전에
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId
후
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
Az.Storage
Blob, Queue 및 File cmdlet에서 반환된 형식의 네임스페이스가
Microsoft.WindowsAzure.Storage
에서Microsoft.Azure.Storage
로 변경되었습니다. 이는 기술적으로는 호환성이 손상되는 변경이라는 정책에 해당하지 않지만, Storage .Net SDK 메서드를 사용하여 이 cmdlet들이 반환하는 객체와 상호 작용하는 코드를 일부 변경해야 할 수도 있습니다.예제 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를 지정하는 스토리지 계정을 만들 때의 기본 서비스 동작이 변경되었습니다. 이전 버전에서는
Kind
지정하지 않고 스토리지 계정을 만들 때 스토리지 계정 종류Storage
사용되었으며 새 버전StorageV2
기본Kind
값입니다. Kind 'Storage'를 사용하여 V1 Storage 계정을 만들어야 하는 경우 '-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