AWS .NET용 비동기 APIs - AWS SDK for .NET (V3)

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

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

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

AWS .NET용 비동기 APIs

는 비동기 구현에 작업 기반 비동기 패턴(TAP)을 AWS SDK for .NET 사용합니다. TAP에 대한 자세한 내용은 docs.microsoft.com의 작업 기반 비동기식 패턴(TAP)을 참조하세요.

이 주제에서는 AWS 서비스 클라이언트 호출에서 TAP을 사용하는 방법에 대한 개요를 제공합니다.

AWS SDK for .NET API의 비동기식 메서드는 Task 클래스 또는 Task<TResult> 클래스를 기반으로 하는 작업입니다. Task 클래스, Task<TResult> 클래스와 같은 클래스에 대한 자세한 내용은 docs.microsoft.com을 참조하세요.

코드에서 이러한 API 메서드를 호출할 때는 다음 예제와 같이 async 키워드로 선언된 함수 내에서 호출해야 합니다.

static async Task Main(string[] args) { ... // Call the function that contains the asynchronous API method. // Could also call the asynchronous API method directly from Main // because Main is declared async var response = await ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

위 코드 조각에서 볼 수 있듯이 async 선언 시 선호되는 범위는 Main 함수입니다. 이 async 범위를 설정하면 AWS 서비스 클라이언트에 대한 모든 호출이 비동기식이어야 합니다. 어떤 이유로 Main을 비동기식으로 선언할 수 없는 경우 다음 예제와 같이 async 키워드를 Main 이외의 함수에서 사용한 다음 해당 함수에서 API 메서드를 호출할 수 있습니다.

static void Main(string[] args) { ... Task<ListBucketsResponse> response = ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

이 패턴을 사용할 때 Main에서 필요한 특수 Task<> 구문에 유의해야 합니다. 또한 데이터를 가져오려면 응답의 Result 멤버를 사용해야 합니다.

빠른 둘러보기 섹션(간단한 교차 플랫폼 앱간단한 Windows 기반 앱) 및에서 AWS 서비스 클라이언트에 대한 비동기 호출의 전체 예를 볼 수 있습니다지침이 포함된 코드 예제.