Amazon S3 버킷을 웹 사이트로 구성 - AWS SDK for Java 1.x

곧 출시될 end-of-support AWS SDK for Java (v1) 버전을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon S3 버킷을 웹 사이트로 구성

웹 사이트로 작동하도록 Amazon S3 버킷을 구성할 수 있습니다. 이렇게 하려면 웹 사이트 구성을 설정해야 합니다.

참고

이 코드 예제에서는 사용자가 AWS SDK for Java 사용의 내용을 이해하고 개발을 위한 AWS 자격 증명 및 리전 설정의 정보를 사용하여 기본 AWS 자격 증명을 구성했다고 가정합니다.

버킷의 웹 사이트 구성 설정

Amazon S3버킷의 웹 사이트 구성을 설정하려면 구성을 설정할 버킷 이름과 버킷의 웹 사이트 구성이 포함된 BucketWebsiteConfiguration 객체를 사용하여 AmazonS3의 setWebsiteConfiguration 메서드를 호출합니다.

인덱스 문서 설정은 필수이며, 그 밖의 다른 파라미터는 선택적 파라미터입니다.

가져오기

import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;

코드

String bucket_name, String index_doc, String error_doc) { BucketWebsiteConfiguration website_config = null; if (index_doc == null) { website_config = new BucketWebsiteConfiguration(); } else if (error_doc == null) { website_config = new BucketWebsiteConfiguration(index_doc); } else { website_config = new BucketWebsiteConfiguration(index_doc, error_doc); } final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { s3.setBucketWebsiteConfiguration(bucket_name, website_config); } catch (AmazonServiceException e) { System.out.format( "Failed to set website configuration for bucket '%s'!\n", bucket_name); System.err.println(e.getErrorMessage()); System.exit(1); }
참고

웹 사이트 구성을 설정해도 버킷의 액세스 권한을 수정되지 않습니다. 또한 파일이 웹에 표시되도록 하려면 버킷 내 파일에 대한 퍼블릭 읽기 액세스 권한을 허용하는 버킷 정책을 설정해야 합니다. 자세한 내용은 버킷 정책을 사용하여 Amazon S3 버킷에 대한 액세스 관리 단원을 참조하세요.

GitHub의 전체 예제를 참조하십시오.

버킷의 웹 사이트 구성 가져오기

Amazon S3 버킷의 웹 사이트 구성을 가져오려면 구성을 가져올 버킷의 이름과 함께 AmazonS3의 getWebsiteConfiguration 메서드를 호출합니다.

구성이 BucketWebsiteConfiguration 객체로 반환됩니다. 버킷에 대한 웹 사이트 구성이 없으면 null이 반환됩니다.

가져오기

import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;

코드

final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { BucketWebsiteConfiguration config = s3.getBucketWebsiteConfiguration(bucket_name); if (config == null) { System.out.println("No website configuration found!"); } else { System.out.format("Index document: %s\n", config.getIndexDocumentSuffix()); System.out.format("Error document: %s\n", config.getErrorDocument()); } } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.out.println("Failed to get website configuration!"); System.exit(1); }

GitHub의 전체 예제를 참조하십시오.

버킷의 웹 사이트 구성 삭제

Amazon S3 버킷의 웹 사이트 구성을 삭제하려면 구성을 삭제할 버킷의 이름과 함께 AmazonS3의 deleteWebsiteConfiguration 메서드를 호출합니다.

가져오기

import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;

코드

final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { s3.deleteBucketWebsiteConfiguration(bucket_name); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.out.println("Failed to delete website configuration!"); System.exit(1); }

GitHub의 전체 예제를 참조하십시오.

추가 정보