메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

.NET용 AWS SDK 사용

.NET용 AWS SDK에서는 Amazon S3 버킷 및 객체 작업용 API를 제공합니다. 객체 작업의 경우 단일 작업에서 객체를 업로드하기 위해 API를 제공하는 것에 추가로, SDK에서는 대용량 객체를 여러 부분으로 나누어 업로드하기 위해 이 API를 제공합니다(멀티파트 업로드 API를 사용한 객체 업로드 참조). API에서는 고위 수준 또는 하위 수준의 API를 사용하는 옵션을 제공합니다.

하위 수준 API

하위 수준 API는 버킷과 객체에 적용되는 작업의 생성, 업데이트, 삭제를 비롯한 기본 Amazon S3 REST 작업에 적합합니다. 하위 수준 멀티파트 업로드 API를 사용하여 대용량 객체를 업로드하는 경우(멀티파트 업로드 API를 사용한 객체 업로드 참조), 멀티파트 업로드를 일시 중지 및 재개하고, 조각 크기를 변경하고, 데이터 크기를 사전에 알 수 없을 때 업로드를 시작할 수 있도록 하는 등의 더 높은 제어 수준을 제공합니다. 이러한 요구 사항이 없는 경우 객체 업로드에 상위 수준 API를 사용합니다.

상위 수준 API

객체를 업로드할 경우, SDK에서는 TransferUtility 클래스를 제공함으로써 더 높은 수준의 추상화를 제공합니다. 고위 수준 API는 더 간단한 API로, 단 몇 줄의 코드로 파일을 업로드하고 Amazon S3에 스트리밍할 수 있습니다. 앞서 하위 수준 API 단원에 설명된 대로 업로드를 제어해야 하는 경우가 아니라면 이 API를 사용하여 데이터를 업로드해야 합니다.

데이터 크기가 더 작은 경우 TransferUtility API에서는 단일 작업으로 데이터를 업로드합니다. 그러나 데이터 크기가 특정 임계값에 도달하면 TransferUtility는 멀티파트 업로드 API 사용으로 전환합니다. 기본적으로는 여러 스레드를 사용하여 여러 부분을 동시에 업로드합니다. 한 부분의 업로드가 실패한 경우, API에서는 실패한 부분의 업로드를 최대 세 번까지 다시 시도합니다. 그러나 이는 구성 가능한 옵션입니다.

참고

데이터 소스로 스트림을 사용하는 경우, TransferUtility 클래스는 동시 업로드를 수행하지 않습니다.

.NET API 구성

.NET용 AWS SDK을 사용하여 Amazon S3 애플리케이션을 작성할 경우 AWSSDK.dll을 사용합니다. 이 조합에서의 다음 네임스페이스는 멀티파트 업로드 API를 제공합니다.

  • Amazon.S3.Transfer - 고위 수준 API를 제공하여 파트에 있는 데이터를 업로드합니다.

    데이터를 업로드하기 위한 파일, 디렉터리 또는 스트림을 지정할 수 있는 TransferUtility 클래스가 포함되어 있습니다. 또한 동시 스레드 수, 파트 크기, 객체 메타데이터, 스토리지 클래스(STANDARD, REDUCED_REDUNDANCY) 및 객체 ACL 등의 고급 설정을 구성하기 위한 TransferUtilityUploadRequestTransferUtilityUploadDirectoryRequest 클래스도 포함되어 있습니다.

  • Amazon.S3 - 하위 수준 API에 대한 구현을 제공합니다.

    Amazon S3 REST 멀티파트 업로드 API(멀티파트 업로드를 위해 REST API 사용 참조)에 적합한 방법을 제공합니다.

  • Amazon.S3.Model - 하위 수준 API 클래스를 제공하여 요청을 생성하고 응답을 처리합니다.

    예를 들어 멀티파트 업로드를 초기화할 때 사용 가능한 InitiateMultipartUploadRequestInitiateMultipartUploadResponse 클래스와 파트를 업로드할 때 사용 가능한 UploadPartRequestUploadPartResponse 클래스를 제공합니다.

.NET용 AWS SDK API에 대한 자세한 내용은 .NET용 AWS SDK 참조를 참조하십시오.

Amazon S3 .NET 코드 예시 실행

.NET 코드 예제를 시작하는 가장 쉬운 방법은 .NET용 AWS SDK를 설치하는 것입니다. 자세한 내용은 .NET용 AWS SDK를 참조하십시오.

참고

이 가이드의 예제는 .NET용 AWS SDK 2.0버전과 호환됩니다.

다음 작업은 이 단원에 나와 있는 C# 코드 샘플의 작성 및 테스트 과정을 안내합니다.

.NET 코드 예제의 일반적인 프로세스

1

.NET용 AWS SDK 주제 Configuring AWS Credentials에 설명된 대로 AWS 자격 증명의 자격 증명 프로필을 만듭니다.

2

AWS Empty Project 템플릿을 사용하여 새 Visual Studio 프로젝트를 만듭니다.

3

프로젝트 파일 Program.cs의 코드를 읽고 있는 섹션의 코드로 대체합니다.

4

코드를 실행합니다. AWS Management Console을 사용하여 객체가 생성되었는지 확인합니다. AWS Management Console에 대한 자세한 내용은 https://aws.amazon.com/console/ 단원을 참조하십시오.