기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK for .NET의 버전 3.5로 마이그레이션
AWS SDK for .NET 버전 3.5는 SDK의 모든 Framework 이외 변형에 대한 지원을 .NET Standard 2.0
이 주제에서는 버전 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 지원
Unity
Unity 앱은 Unity 2018.1 이상을 사용하여 .NET Standard 2.0 또는 .NET 4.x 프로파일을 대상으로 해야 합니다. 자세한 내용은 .NET 프로파일 지원
Unity는 .NET Standard 2.0을 지원하므로 SDK 버전 3.5의 AWSSDK.Core 패키지에는 일부 상위 수준 기능을 포함한 Unity 관련 코드가 더 이상 없습니다. 원활한 전환을 위해 aws/aws-sdk-unity-net
Unity 지원에 대한 특별 고려 사항 단원도 참조하세요.
유니버설 Windows 플랫폼(UWP)
UWP 애플리케이션은 버전 16299 이상
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/20
동기식 코드 마이그레이션
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}");