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

.NET용 AWS SDK를 사용하여 객체 업로드

다음 작업은 .NET 클래스를 사용하여 객체를 업로드하는 방법을 보여줍니다. API는 쉽게 데이터를 업로드할 수 있도록 PutObject메서드에 overloads라고 하는 여러 변형을 제공합니다.

객체 업로드

1

AmazonS3 클래스의 인스턴스를 만듭니다.

2

AmazonS3.PutObject 중 하나를 실행합니다. 버킷 이름, 파일 경로, 스트림 등의 정보를 제공해야 합니다. PutObjectRequest 클래스의 인스턴스를 만들어 이 정보를 제공합니다.

다음은 위에서 설명한 작업을 실행하는 C# 코드 예제입니다.

Copy
static IAmazonS3 client; client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1); PutObjectRequest request = new PutObjectRequest() { BucketName = bucketName, Key = keyName, FilePath = filePath }; PutObjectResponse response2 = client.PutObject(request);

다음은 객체를 업로드하는 C# 코드 예제입니다. 코드에서 객체 데이터는 텍스트 문자열로 제공됩니다. 이 예제에서는 객체를 두 번 업로드합니다.

  • 첫 번째 PutObjectRequest에서는 버킷 이름, 키 이름, 그리고 샘플 객체 데이터로 코드에 포함된 텍스트 문자열만 지정합니다.

  • 두 번째 PutObjectRequest에서는 객체 메타데이터 및 ContentType 헤더를 포함하여 추가 정보를 제공합니다. 요청에서 업로드할 파일 이름을 지정합니다.

AmazonS3.PutObject에 대해 연속적으로 수행되는 각 호출이 이전 업로드를 대체합니다. 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행를 참조하십시오.

Copy
using System; using Amazon.S3; using Amazon.S3.Model; namespace s3.amazon.com.docsamples { class UploadObject { static string bucketName = "*** bucket name ***"; static string keyName = "*** key name when object is created ***"; static string filePath = "*** absolute path to a sample file to upload ***"; static IAmazonS3 client; public static void Main(string[] args) { using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1)) { Console.WriteLine("Uploading an object"); WritingAnObject(); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } static void WritingAnObject() { try { PutObjectRequest putRequest1 = new PutObjectRequest { BucketName = bucketName, Key = keyName, ContentBody = "sample text" }; PutObjectResponse response1 = client.PutObject(putRequest1); // 2. Put object-set ContentType and add metadata. PutObjectRequest putRequest2 = new PutObjectRequest { BucketName = bucketName, Key = keyName, FilePath = filePath, ContentType = "text/plain" }; putRequest2.Metadata.Add("x-amz-meta-title", "someTitle"); PutObjectResponse response2 = client.PutObject(putRequest2); } catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { Console.WriteLine("Check the provided AWS Credentials."); Console.WriteLine( "For service sign up go to http://aws.amazon.com/s3"); } else { Console.WriteLine( "Error occurred. Message:'{0}' when writing an object" , amazonS3Exception.Message); } } } } }