Az 2.0.0 마이그레이션 가이드
이 문서에서는 Az의 1.0.0 버전과 2.0.0 버전 간의 변경 내용을 설명합니다.
목차
모듈의 호환성이 손상되는 변경
Az.Compute
매개 변수 및 cmdlet에서
New-AzAvailabilitySet
Update-AzAvailabilitySet
제거된Managed
매개 변수 사용Sku = Aligned
이전
Update-AzAvailabilitySet -Managed
이후
Update-AzAvailabilitySet -Sku Aligned
일관성을 위해
Image
에서 'ByName' 및 'ByResourceId' 매개 변수 집합에서 매개 변수를 제거합니다.Update-AzImage
이전
아래 코드는 작동하지만 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
매개 변수를 제거했습니다.이전
아래 코드는 작동하지만, 전달된 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
속성을 묶
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
속성을 묶
EncryptionSettings
을 속성이 에 추가EncryptionSettingsCollection
됨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
에서 속성이 제거됨
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
변경했습니다. 이는 기술적으로 호환성이 손상되는 변경 정책에 따른 호환성이 손상되는 변경이 아니지만, 이러한 cmdlet에서 반환되는 개체와 상호 작용하기 위해 Storage .Net SDK의 메서드를 사용하는 코드를 일부 변경해야 할 수 있습니다.예제 1: Queue에 메시지 추가(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/File 특성 가져오기(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