La AWS SDK for Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-support
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de un bucket de Amazon S3 como un sitio web
Puede configurar un bucket de Amazon S3 para que se comporte como un sitio web. Para ello, debe establecer la configuración de su sitio web.
nota
En estos ejemplos de código se presupone que conoce la información que se describe en Uso del AWS SDK for Java y que ha configurado credenciales de AWS predeterminadas mediante la información de Configuración de credenciales y regiones de AWS para desarrollo.
Establecimiento de la configuración de sitio web de un bucket
Para establecer la configuración de sitio web de un bucket de Amazon S3, llame al método setWebsiteConfiguration
de AmazonS3 con el nombre del bucket para el que se va a establecer la configuración y un objeto BucketWebsiteConfiguration que contenga la configuración de sitio web del bucket.
Es obligatorio establecer un documento de índice; todos los demás parámetros son opcionales.
Importaciones
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); }
nota
El establecimiento de la configuración de sitio web no modifica los permisos de acceso del bucket. Para que los archivos estén visibles en la web, también deberá definir una política de bucket que permita el acceso de lectura pública a los archivos del bucket. Para obtener más información, consulte Administración del acceso a buckets de Amazon S3 mediante políticas de buckets.
Consulte el ejemplo completo
Obtener la configuración de sitio web de un bucket
Para obtener la configuración de sitio web de un bucket de Amazon S3, llame al método getWebsiteConfiguration
de AmazonS3 con el nombre del bucket para el que desea recuperar la configuración.
La configuración se devolverá como un objeto BucketWebsiteConfiguration. Si no hay ninguna configuración de sitio web para el bucket, se devolverá null
.
Importaciones
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); }
Consulte el ejemplo completo
Eliminar la configuración de sitio web de un bucket
Para eliminar la configuración de sitio web de un bucket de Amazon S3, llame al método deleteWebsiteConfiguration
de AmazonS3 con el nombre del bucket del que se va a eliminar la configuración.
Importaciones
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); }
Consulte el ejemplo completo
Más información
-
Sitio web PUT Bucket en la referencia de la API de Amazon S3
-
El sitio web GET Bucket en la referencia de la API de Amazon S3
-
Sitio web DELETE Bucket en la referencia de la API de Amazon S3