Configuration d'unAmazon S3Bucket en tant que site web - AWS SDK for Java 1. x

La AWS SDK for Java version 1.x est entrée en mode maintenance le 31 juillet 2024 et atteindra end-of-supportle 31 décembre 2025. Nous vous recommandons de migrer vers le pour continuer AWS SDK for Java 2.xà bénéficier des nouvelles fonctionnalités, des améliorations de disponibilité et des mises à jour de sécurité.

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 lesetWebsiteConfigurationavec 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 sur GitHub.

Obtention de la configuration de site web d'un compartiment

Obtentions d'unAmazon S3configuration du site Web du compartiment, appelez legetWebsiteConfigurationavec 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 sur GitHub.

Suppression de la configuration de site web d'un compartiment

Pour supprimer unAmazon S3configuration du site Web du compartiment, appelez ledeleteWebsiteConfigurationavec 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 sur GitHub.

En savoir plus