최신 버전에서 제공하는 기능을 활용하기 위해 새 버전의 코드 생성 도구인 AutoRest.PowerShell v4를 사용할 수 있습니다. 이 버전에서 새 사용자 요구 사항을 지원하기 위해 생성된 코드를 다시 디자인하면 일부 호환성이 손상되는 변경이 불가피하게 발생합니다.
아래에서는 Azure PowerShell 모듈에 대한 코드 생성 도구를 업그레이드할 때 발생할 수 있는 사용자 관점에서 잠재적인 호환성이 손상되는 변경 내용을 나열합니다.
비고
아래에 나열된 주요 변경 내용은 생성된 모든 모듈에 보편적으로 적용되지 않을 수 있습니다. 이러한 호환성이 손상되는 변경의 발생은 AutoRest.PowerShell v4를 사용하여 Azure PowerShell 모듈을 생성할 때 사용되는 특정 구성에 따라 달라집니다. 호환성이 손상되는 변경이 발생할 수 있는 자세한 내용은 특정 모듈의 호환성이 손상되는 변경 목록을 참조하세요.
ID 매개 변수 업데이트
-IdentityType 매개 변수를 제거하고 더 명확한 스위치 및 매개 변수를 도입했습니다.
-EnableSystemAssignedIdentity
기본값: false SystemAssigned ID가 필요한 경우 명시적으로 추가해야 합니다.
-사용자 할당 ID (UserAssignedIdentity)
형식: ID 문자열 배열은 하나 이상의 사용자 할당 관리 ID를 허용합니다.
호환성이 손상되는 변경의 영향을 완화하는 방법
이전 -IdentityType 값을 명시적 매개 변수로 대체합니다.
- SystemAssigned → 시스템 할당된 ID 활성화 -EnableSystemAssignedIdentity
- UserAssigned → -UserAssignedIdentity, 원하는 ID ID 지정
- SystemAssigned, UserAssigned → -EnableSystemAssignedIdentity 및 -UserAssignedIdentity를 모두 사용하십시오.
이전에 사용자 할당 ID에 대해 사용된 매개 변수(예: 형식에 관계없이 -IdentityUserAssigned 또는 기타 변형)를 문자열 배열을 허용하는 -UserAssignedIdentity로 바꿉니다.
모든 원래 기능은 그대로 유지되지만 새 명시적 매개 변수를 사용하려면 스크립트를 업데이트해야 합니다. 정확한 구문 및 사용법은 cmdlet 설명서를 참조하세요.
매개 변수 집합 제거
특정 복잡하거나 번거로운 매개 변수 집합이 cmdlet에서 제거되었습니다. 모든 기존 기능은 계속 사용할 수 있지만 사용자는 이제 설명된 대로 지원되는 매개 변수 조합을 사용해야 합니다.
호환성이 손상되는 변경의 영향을 완화하는 방법
사용자는 지원되는 매개 변수 집합 조합을 사용하고 있는지 확인하려면 최신 cmdlet 설명서를 참조해야 합니다.
목록이 생성된 C# 클래스의 배열을 대체합니다.
이제 모델 대신 컬렉션과 같은 속성을 생성합니다. 이는 동적이므로 요소를 추가/삭제할 수 있지만 고정 크기이므로 편집하기가 어렵기 때문입니다.
호환성이 손상되는 변경의 영향을 완화하는 방법
- List의 메서드를 사용하여 배열의 메서드를 대체합니다. 예를 들어 Length 대신 개수를 사용하여 요소 수를 검색합니다.
- 고정 크기 배열로 변환해야 하는 경우 ToArray 함수를 사용합니다.
구조체 대신 열거형에 기본 형식 사용
매개 변수에 대한 탭 완성기를 지원하기 위해 enum 구조체를 생성했습니다. 이 디자인은 문자열 형식의 열거형만 지원하기 때문에 중단되었습니다.
호환성에 문제를 일으킬 수 있는 변경의 영향을 줄이는 방법
일반적으로 이 변경으로 인해 사용자가 겪는 큰 변화는 없습니다. 이전 버전에서 생성된 모듈에서 사용자는 일반적으로 기본 형식을 사용하며 생성된 구조체에는 이러한 기본 형식을 구조체로 변환하는 변환기가 포함됩니다. 사용자에게 유일한 요구 사항은 Microsoft.Azure.PowerShell.Cmdlets.{module}.Support 직접 사용하지 않는 것입니다.
버그 수정으로 인한 주요 변경 내용
특정 cmdlet에 대한 PassThru 제거
PassThru 는 파이프라인 기능을 사용하도록 설정하는 출력이 없는 cmdlet에 추가하는 스위치 매개 변수입니다. AutoRest.PowerShell v3에서 PassThru 가 출력이 있는 일부 cmdlet에 잘못 추가되었습니다. 이 문제는 v4에서 수정되며 이러한 추가 PassThru 매개 변수는 제거됩니다.
호환성이 손상되는 변경의 영향을 완화하는 방법
이러한 cmdlet에 대해 PassThru 매개 변수 사용을 중단합니다. 이렇게 하면 출력이 변경될 수 있습니다.
읽기 전용 매개 변수 제거
속성이 OpenAPI 사양에 표시된 경우 출력에만 표시되어야 하지만 입력 매개 변수로는 표시되지 않습니다. 그러나 AutoRest.PowerShell v3에서는 이러한 종류의 읽기 전용 매개 변수가 cmdlet에 대해 잘못 생성되었습니다.
호환성을 깨뜨리는 변경의 영향을 완화하는 방법
서비스에서 무시되므로 이러한 Readonly 매개 변수를 단순히 제거하는 것이 안전합니다.
Azure PowerShell