다음을 통해 공유


Az 2.0.0 마이그레이션 가이드

이 문서에서는 Az의 1.0.0 버전과 2.0.0 버전 간의 변경 내용을 설명합니다.

목차

모듈 호환성이 손상되는 변경

Az.Compute

  • Sku = Aligned 사용하기 위해 New-AzAvailabilitySetUpdate-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-AzVMBootDiagnosticSet-AzVMBootDiagnostics에 대한 별칭을 제거했습니다.

    전에

    사용되지 않는 별칭 사용

    Set-AzVMBootDiagnostics
    

    Set-AzVMBootDIagnostic
    
  • cmdlet Export-AzLogAnalyticThrottledRequest에서 Export-AzLogAnalyticThrottledRequests에 대한 별칭을 제거했습니다.

    전에

    사용되지 않는 별칭 사용

    Export-AzLogAnalyticThrottledRequests
    

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Grant-AzHDInsightHttpServicesAccessRevoke-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