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

AWS SDK for Java로 웹 사이트 관리

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

웹 사이트 구성 관리

1

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

2

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

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

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

다음은 위에서 설명한 작업을 실행하는 Java 코드 샘플입니다.

Copy
AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider()); // Add website configuration. s3Client.setBucketWebsiteConfiguration(bucketName, new BucketWebsiteConfiguration(indexDoc , errorDoc)); // Get website configuration. BucketWebsiteConfiguration bucketWebsiteConfiguration = s3Client.getBucketWebsiteConfiguration(bucketName); // Delete website configuration. s3Client.deleteBucketWebsiteConfiguration(bucketName);

다음 Java 코드로 웹 사이트 구성을 지정된 버킷에 추가하고 검색하며, 웹 사이트 구성을 삭제하는 예를 살펴봅니다. 작업 샘플의 생성과 시험 방법에 대한 자세한 설명은 Java 코드 예제 테스트을 참조하십시오.

Copy
import java.io.IOException; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.BucketWebsiteConfiguration; public class WebsiteConfiguration { private static String bucketName = "*** bucket name ***"; private static String indexDoc = "*** index document name ***"; private static String errorDoc = "*** error document name ***"; public static void main(String[] args) throws IOException { AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); try { // Get existing website configuration, if any. getWebsiteConfig(s3Client); // Set new website configuration. s3Client.setBucketWebsiteConfiguration(bucketName, new BucketWebsiteConfiguration(indexDoc, errorDoc)); // Verify (Get website configuration again). getWebsiteConfig(s3Client); // Delete s3Client.deleteBucketWebsiteConfiguration(bucketName); // Verify (Get website configuration again) getWebsiteConfig(s3Client); } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, which" + " means your request made it " + "to Amazon S3, but was rejected with an error response" + " for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("Caught an AmazonClientException, which means"+ " the client encountered " + "a serious internal problem while trying to " + "communicate with Amazon S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } } private static BucketWebsiteConfiguration getWebsiteConfig( AmazonS3 s3Client) { System.out.println("Get website config"); // 1. Get website config. BucketWebsiteConfiguration bucketWebsiteConfiguration = s3Client.getBucketWebsiteConfiguration(bucketName); if (bucketWebsiteConfiguration == null) { System.out.println("No website config."); } else { System.out.println("Index doc:" + bucketWebsiteConfiguration.getIndexDocumentSuffix()); System.out.println("Error doc:" + bucketWebsiteConfiguration.getErrorDocument()); } return bucketWebsiteConfiguration; } }