La AWS SDK for Java version 1.x est entrée en mode maintenance le 31 juillet 2024 et atteindra end-of-support
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'unAmazon S3Bucket en tant que site web
Vous pouvez configurer un compartiment Amazon S3 pour qu'il se comporte comme un site web. Pour ce faire, vous devez définir sa configuration de site web.
Note
Ces exemples de code supposent que vous comprenez le contenu deUtilisation deAWS SDK for Javaet ont configuré la valeur par défautAWSinformations d'identification utilisant les informations deConfigurationAWSInformations d'identification et région pour le développement.
Définition de la configuration de site web d'un compartiment
Pour définir unAmazon S3configuration du site Web du compartiment, appelez lesetWebsiteConfiguration
avec le nom du compartiment pour définir la configuration, et unBucketWebsiteConfigurationobjet contenant la configuration du site Web du compartiment.
La définition d'un document d'index est obligatoire ; tous les autres paramètres sont facultatifs.
Importations
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); }
Note
La définition d'une configuration de site web ne modifie pas les autorisations d'accès de votre compartiment. Pour que vos fichiers soient visibles sur le web, vous devez également définir une stratégie de compartiment qui autorise l'accès en lecture public aux fichiers du compartiment. Pour de plus amples informations, veuillez consulterGestion de l'accès àAmazon S3compartiments utilisant des stratégies de compartiment.
Veuillez consulter l'exemple complet
Obtention de la configuration de site web d'un compartiment
Obtentions d'unAmazon S3configuration du site Web du compartiment, appelez legetWebsiteConfiguration
avec le nom du compartiment pour laquelle récupérer la configuration.
La configuration est renvoyée sous la forme d'un objet BucketWebsiteConfiguration. S'il n'y a pas de configuration de site web pour le compartiment, la valeur null
est renvoyée.
Importations
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); }
Veuillez consulter l'exemple complet
Suppression de la configuration de site web d'un compartiment
Pour supprimer unAmazon S3configuration du site Web du compartiment, appelez ledeleteWebsiteConfiguration
avec le nom du compartiment dont la configuration doit être supprimée.
Importations
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); }
Veuillez consulter l'exemple complet
En savoir plus
-
PUT Bucket websitedans leAmazon S3API Reference
-
GET Bucket websitedans leAmazon S3API Reference
-
DELETE Bucket websitedans leAmazon S3API Reference