AWS SDK for .NET의 버전 3.5로 마이그레이션 - AWS SDK for .NET

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for .NET의 버전 3.5로 마이그레이션

AWS SDK for .NET 버전 3.5는 SDK의 모든 Framework 이외 변형에 대한 지원을 .NET Standard 2.0으로 전환하여 .NET 경험을 표준화합니다. 환경 및 코드 베이스에 따라 버전 3.5 기능을 활용하려면 특정 마이그레이션 작업을 수행해야 할 수 있습니다.

이 주제에서는 버전 3.5의 변경 사항과 버전 3에서 환경이나 코드를 마이그레이션하기 위해 수행해야 할 수 있는 작업에 대해 설명합니다.

버전 3.5에서 변경된 사항

다음은 AWS SDK for .NET 버전 3.5에서 변경된 사항과 유지되는 사항에 대해 설명합니다.

.NET Framework 및 .NET Core

.NET Framework 및 .NET Core에 대한 지원은 변경되지 않았습니다.

Xamarin

Xamarin 프로젝트(신규 및 기존)는 .NET Standard 2.0을 대상으로 해야 합니다. Xamarin.Forms의 .NET Standard 2.0 지원.NET 구현 지원을 참조하세요.

Unity

Unity 앱은 Unity 2018.1 이상을 사용하여 .NET Standard 2.0 또는 .NET 4.x 프로파일을 대상으로 해야 합니다. 자세한 내용은 .NET 프로파일 지원을 참조하십시오. 또한 IL2CPP 파일을 사용하여 빌드하는 경우 Unity, Xamarin 또는 UWP의 AWS SDK for .NET Standard 2.0 참조에 설명된 대로 link.xml 파일을 추가하여 코드 스트리핑을 비활성화해야 합니다. 코드를 권장 코드 베이스 중 하나로 포팅하면 Unity 앱이 SDK에서 제공하는 모든 서비스에 액세스할 수 있습니다.

Unity는 .NET Standard 2.0을 지원하므로 SDK 버전 3.5의 AWSSDK.Core 패키지에는 일부 상위 수준 기능을 포함한 Unity 관련 코드가 더 이상 없습니다. 원활한 전환을 위해 aws/aws-sdk-unity-net GitHub 리포지토리에서 모든 레거시 Unity 코드를 참조할 수 있도록 제공하고 있습니다. Unity에서 AWS 사용에 영향을 미치는 기능 누락을 발견할 경우 https://github.com/aws/dotnet/issues에서 기능 요청을 제출할 수 있습니다.

Unity 지원에 대한 특별 고려 사항 단원도 참조하세요.

유니버설 Windows 플랫폼(UWP)

UWP 애플리케이션은 버전 16299 이상(2017년 10월 릴리스된 Fall Creators Update, 버전 1709)을 대상으로 하십시오.

Windows Phone 및 Silverlight

AWS SDK for .NET 버전 3.5는 Microsoft에서 더 이상 적극적으로 개발하지 않는 이러한 플랫폼을 지원하지 않습니다. 자세한 내용은 다음을 참조하세요.

레거시 PCL(Portable Class Library)(프로파일 기반 PCL)

라이브러리의 대상을 .NET Standard로 재지정하는 것이 좋습니다. 자세한 내용은 Microsoft의 이식 가능한 클래스 라이브러리와 비교를 참조하십시오.

Amazon Cognito Sync Manager 및 Amazon Mobile Analytics Manager

Amazon Cognito Sync 및 Amazon Mobile Analytics를 쉽게 사용할 수 있는 상위 수준 추상화는 AWS SDK for .NET의 버전 3.5에서 제거되었습니다. AWS AppSync는 Amazon Cognito Sync의 대체로 선호됩니다. Amazon Pinpoint는 Amazon Mobile Analytics를 대체하는 것으로 선호됩니다.

AWS AppSync 및 Amazon Pinpoint의 상위 수준 라이브러리 코드가 없어 개발 중인 코드가 영향을 받을 경우 GitHub 이슈 https://github.com/aws/dotnet/issues/20https://github.com/aws/dotnet/issues/19 중 하나 또는 둘 모두에 이슈를 기록할 수 있습니다. Amazon Cognito Sync Manager 및 Amazon Mobile Analytics Manager용 라이브러리는 aws/amazon-cognito-sync-manager-netaws/aws-mobile-analytics-manager-net과 같은 GitHub 리포지토리에서도 구할 수 있습니다.

동기식 코드 마이그레이션

AWS SDK for .NET의 버전 3.5에서는 .NET Framework와 .NET Standard을 모두 지원합니다(.NET Core 3.1, .NET 5 등과 같은.NET Core 버전을 통해). .NET Standard를 준수하는 SDK 변형은 비동기 메서드만 제공하므로 .NET Standard를 활용하려면 비동기적으로 실행되도록 동기 코드를 변경해야 합니다.

다음 코드 조각은 동기식 코드를 비동기식 코드로 변경하는 방법을 보여 줍니다. 이러한 조각의 코드는 Amazon S3 버킷 수를 표시하는 데 사용됩니다.

원래 코드는 ListBuckets를 호출합니다.

private static ListBucketsResponse MyListBuckets() { var s3Client = new AmazonS3Client(); var response = s3Client.ListBuckets(); return response; } // From the calling function ListBucketsResponse response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}");

SDK 버전 3.5를 사용하려면 ListBucketsAsync를 대신 호출합니다.

private static async Task<ListBucketsResponse> MyListBuckets() { var s3Client = new AmazonS3Client(); var response = await s3Client.ListBucketsAsync(); return response; } // From an **asynchronous** calling function ListBucketsResponse response = await MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); // OR From a **synchronous** calling function Task<ListBucketsResponse> response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}");