Configuración de un bucket de Amazon S3 como un sitio web - AWS SDK for Java 1.x

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-supportdiciembre de 2025. Le recomendamos que migre al para AWS SDK for Java 2.xseguir recibiendo nuevas funciones, mejoras de disponibilidad y actualizaciones de seguridad.

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 en GitHub.

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 en GitHub.

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 en GitHub.

Más información