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

미리 서명된 URL을 사용하여 S3 버킷에 객체 업로드(.NET용 AWS SDK)

다음은 .NET용 AWS SDK에서 미리 서명된 URL을 사용하여 S3 버킷에 객체를 업로드하는 방법을 보여주는 C# 예제입니다. 미리 서명된 URL에 대한 자세한 내용은 미리 서명된 URL을 사용하여 객체 업로드 단원을 참조하십시오.

이 예제는 특정 객체를 위해 미리 서명된 URL을 생성한 후 이를 사용하여 파일을 업로드합니다. 특정 버전의 .NET용 AWS SDK과 이 예제의 호환성 및 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행 단원을 참조하십시오.

using Amazon.S3; using Amazon.S3.Model; using System; using System.IO; using System.Net; namespace Amazon.DocSamples.S3 { class UploadObjectUsingPresignedURLTest { private const string bucketName = "*** provide bucket name ***"; private const string objectKey = "*** provide the name for the uploaded object ***"; private const string filePath = "*** provide the full path name of the file to upload ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); var url = GeneratePreSignedURL(); UploadObject(url); } private static void UploadObject(string url) { HttpWebRequest httpRequest = WebRequest.Create(url) as HttpWebRequest; httpRequest.Method = "PUT"; using (Stream dataStream = httpRequest.GetRequestStream()) { var buffer = new byte[8000]; using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { int bytesRead = 0; while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0) { dataStream.Write(buffer, 0, bytesRead); } } } HttpWebResponse response = httpRequest.GetResponse() as HttpWebResponse; } private static string GeneratePreSignedURL() { var request = new GetPreSignedUrlRequest { BucketName = bucketName, Key = objectKey, Verb = HttpVerb.PUT, Expires = DateTime.Now.AddMinutes(5) }; string url = s3Client.GetPreSignedURL(request); return url; } } }

추가 정보

.NET용 AWS SDK

이 페이지에서: