Az 2.0.0 마이그레이션 가이드

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

목차

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

Az.Compute

  • 매개 변수 및 cmdlet에서 New-AzAvailabilitySetUpdate-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 을 속성이 에 추가 EncryptionSettingsCollectionPSDisk

    이전

    $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 을 속성이 에 추가 EncryptionSettingsCollectionPSSnapshot

    이전

    $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
    
  • 에서 속성이 제거됨 VirtualMachineProfilePSVirtualMachineScaleSet

    이전

    $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-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.StorageMicrosoft.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