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

버전 4(V4) AWS SDK for .NET 가 릴리스되었습니다.

새 버전의 SDK 사용을 시작하려면 AWS SDK for .NET (V4) 개발자 안내서, 특히 버전 4로 마이그레이션하기 주제를 참조하세요.

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

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

의 버전 3.5는 SDK의 모든 비프레임워크 변형에 대한 지원을 .NET Standard 2.0으로 전환하여 .NET 환경을 AWS SDK for .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 표준 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

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

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

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

Amazon Cognito Sync Manager 및 Amazon Mobile Analytics Manager

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

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

동기식 코드 마이그레이션

의 버전 3.5는 .NET Framework와 .NET Standard를 모두 AWS SDK for .NET 지원합니다(.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}");