Version AWS SDK for Java 1.x wurde am 31. Juli 2024 in den Wartungsmodus versetzt und wird end-of-support
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurieren einesAmazon S3Bucket als Website
Sie können einen Amazon S3-Bucket so konfigurieren, dass er sich wie eine Website verhält. Hierzu müssen Sie die Website-Konfiguration festlegen.
Anmerkung
Diese Codebeispiele gehen davon aus, dass Sie das Material in verstehenVerwendung derAWS SDK for Javaund haben default konfiguriertAWSAnmeldeinformationen, die die Informationen in verwendenEinrichtenAWSAnmeldeinformationen und Region für die Entwicklungaus.
Festlegen der Website-Konfiguration eines Buckets
So legen Sie einAmazon S3Bucket Website-Konfiguration, rufen Sie die AmazonS3's ansetWebsiteConfiguration
Methode mit dem Bucket-Namen, für den die Konfiguration festgelegt werden soll, und einemBucketWebSiteConfigurationObjekt, das die Website-Konfiguration des Buckets enthält.
Das Festlegen eines Index-Dokuments ist erforderlich. Alle anderen Parameter sind optional.
Importe
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;
Code
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); }
Anmerkung
Beim Festlegen einer Website-Konfiguration werden die Zugriffsberechtigungen für den Bucket nicht geändert. Um die enthaltenen Dateien im Internet sichtbar zu machen, müssen Sie zusätzlich eine Bucket-Richtlinie festlegen, durch die der öffentliche Lesezugriff für die Dateien in dem Bucket ermöglicht wird. Weitere Informationen finden Sie unterVerwalten des Zugriffs aufAmazon S3Buckets Verwenden von -Bucket-Richtlinienaus.
Auf GitHub finden Sie ein vollständiges Beispiel
Abruf der Website-Konfiguration eines Buckets
Um einen zu bekommenAmazon S3Bucket Website-Konfiguration, rufen Sie die AmazonS3's angetWebsiteConfiguration
-Methode mit dem Namen des Buckets, für den Sie die Konfiguration abrufen möchten.
Die Konfiguration wird als BucketWebsiteConfiguration-Objekt zurückgegeben. Wenn keine Website-Konfiguration für den Bucket vorhanden ist, wird null
zurückgegeben.
Importe
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;
Code
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); }
Auf GitHub finden Sie ein vollständiges Beispiel
Löschen der Website-Konfiguration eines Buckets
So löschen Sie einenAmazon S3Bucket Website-Konfiguration, rufen Sie die AmazonS3's andeleteWebsiteConfiguration
-Methode mit dem Namen des Buckets, aus dem Sie die Konfiguration löschen möchten.
Importe
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
Code
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); }
Auf GitHub finden Sie ein vollständiges Beispiel
Weitere Informationen
-
PUT Bucket-WebsiteimAmazon S3-API-Referenz
-
GET Bucket-WebsiteimAmazon S3-API-Referenz
-
DELETE Bucket-WebsiteimAmazon S3-API-Referenz