Configurazione di unAmazon S3Bucket come sito web - AWS SDK for Java 1. x

La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-supportdicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare AWS SDK for Java 2.xa ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di unAmazon S3Bucket come sito web

È possibile configurare unAmazon S3per comportarsi come un sito Web. Per fare ciò, è necessario impostare la configurazione del sito Web.

Nota

Questi esempi di codice presuppongono che tu comprenda il materiale inUtilizzo diAWS SDK for Javae hanno configurato il valore predefinitoAWScredenziali che utilizzano le informazioni inConfigurazioneAWSCredenziali e regione per lo sviluppo.

Impostare la configurazione del sito Web di un bucket

Per impostare unAmazon S3configurazione del sito web di bucket, chiama AmazonS3setWebsiteConfigurationmetodo con il nome del bucket per impostare la configurazione e aBucketWebsiteConfigurationoggetto contenente la configurazione del sito Web del bucket.

L'impostazione di un documento indice ènecessario; tutti gli altri parametri sono opzionali.

Importazioni

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;

Codice

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

L'impostazione di una configurazione del sito Web non modifica le autorizzazioni di accesso per il bucket. Per rendere visibili i tuoi file sul Web, dovrai anche impostare unpolicy di bucketche consente l'accesso pubblico in lettura ai file nel bucket. Per ulteriori informazioni, consultaGestione degli accessi aAmazon S3Periodi di bucket che utilizzano policy di bu.

Vedi l'esempio completo su GitHub.

Ottieni la configurazione del sito Web di un Bucket

Per ottenere unAmazon S3configurazione del sito web di bucket, chiama AmazonS3getWebsiteConfigurationcon il nome del bucket per il quale recuperare la configurazione.

La configurazione verrà restituita come aBucketWebsiteConfigurationoggetto. Se non esiste una configurazione del sito Web per il bucket, alloranullverrà restituito.

Importazioni

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;

Codice

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); }

Vedi l'esempio completo su GitHub.

Eliminare la configurazione del sito Web di un bucket

Per eliminare unAmazon S3configurazione del sito web di bucket, chiama AmazonS3deleteWebsiteConfigurationcon il nome del bucket da cui eliminare la configurazione.

Importazioni

import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;

Codice

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); }

Vedi l'esempio completo su GitHub.

Ulteriori informazioni