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

.NET용 AWS SDK로 웹 사이트 관리

다음 작업은 .NET 클래스로 버킷의 웹 사이트 구성을 관리하는 방법을 보여 줍니다. Amazon S3 웹 사이트 기능에 대한 자세한 내용은 Amazon S3 정적 웹 사이트 호스팅을 참조하십시오.

버킷 웹 사이트 구성 관리

1

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

2

버킷에 웹 사이트 구성을 추가하려면 PutBucketWebsite 메서드를 실행합니다. 인덱스 문서와 오류 문서 이름을 포함한 버킷 이름과 웹 사이트 구성 정보를 제공해야 합니다. 인덱스 문서의 경우에는 필수지만 오류 문서의 경우에는 선택사항입니다. PutBucketWebsiteRequest 객체를 생성해 해당 정보를 제공합니다.

웹 사이트 구성을 검색하려면 버킷 이름을 제공해 GetBucketWebsite 메서드를 실행합니다.

버킷 웹 사이트 구성을 삭제하려면 버킷 이름을 제공해 DeleteBucketWebsite 메서드를 실행합니다. 웹 사이트 구성을 삭제하고 나면 해당 버킷을 더 이상 웹 사이트 엔드포인트에서 사용할 수 없습니다. 자세한 내용은 웹 사이트 엔드포인트를 참조하십시오.

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

Copy
static IAmazonS3 client; client = new AmazonS3Client(Amazon.RegionEndpoint.USWest2); // Add website configuration. PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest() { BucketName = bucketName, WebsiteConfiguration = new WebsiteConfiguration() { IndexDocumentSuffix = indexDocumentSuffix, ErrorDocument = errorDocument } }; client.PutBucketWebsite(putRequest); // Get bucket website configuration. GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest() { BucketName = bucketName }; GetBucketWebsiteResponse getResponse = client.GetBucketWebsite(getRequest); // Print configuration data. Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix); Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument); // Delete website configuration. DeleteBucketWebsiteRequest deleteRequest = new DeleteBucketWebsiteRequest() { BucketName = bucketName }; client.DeleteBucketWebsite(deleteRequest);

다음 C# 코드로 지정된 버킷에 웹 사이트 구성을 추가하는 예를 살펴봅니다. 이 구성은 인덱스 문서와 오류 문서 이름을 모두 지정합니다. 작업 샘플의 생성과 시험 방법에 대한 자세한 설명은 Amazon S3 .NET 코드 예시 실행을 참조하십시오.

Copy
using System; using System.Configuration; using System.Collections.Specialized; using Amazon.S3; using Amazon.S3.Model; namespace s3.amazon.com.docsamples { class AddWebsiteConfig { static string bucketName = "*** Provide existing bucket name ***"; static string indexDocumentSuffix = "*** Provide index document name ***"; static string errorDocument = "*** Provide error document name ***"; static IAmazonS3 client; public static void Main(string[] args) { using (client = new AmazonS3Client(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Adding website configuration"); AddWebsiteConfiguration(bucketName, indexDocumentSuffix, errorDocument); } // Get bucket website configuration. GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest() { BucketName = bucketName }; GetBucketWebsiteResponse getResponse = client.GetBucketWebsite(getRequest); // Print configuration data. Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix); Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } static void AddWebsiteConfiguration(string bucketName, string indexDocumentSuffix, string errorDocument) { try { PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest() { BucketName = bucketName, WebsiteConfiguration = new WebsiteConfiguration() { IndexDocumentSuffix = indexDocumentSuffix, ErrorDocument = errorDocument } }; client.PutBucketWebsite(putRequest); } catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { Console.WriteLine("Check the provided AWS Credentials."); Console.WriteLine("Sign up for service at http://aws.amazon.com/s3"); } else { Console.WriteLine( "Error:{0}, occurred when adding website configuration. Message:'{1}", amazonS3Exception.ErrorCode, amazonS3Exception.Message); } } } } }