Regole di denominazione dei bucket per uso generico - Amazon Simple Storage Service

Regole di denominazione dei bucket per uso generico

Quando si crea un bucket per uso generico, è necessario considerare la lunghezza, i caratteri validi, la formattazione e l’univocità dei nomi dei bucket. Le sezioni seguenti forniscono informazioni sulla denominazione dei bucket per uso generico, comprese le regole di denominazione, le best practice e un esempio di creazione di un bucket per uso generico con un nome che include un identificatore univoco globale (GUID).

Per informazioni sui nomi delle chiavi di oggetti, consulta Creazione di nomi di chiavi di oggetti.

Per creare un bucket per uso generico, consulta Creazione di un bucket per uso generico.

Regole di denominazione dei bucket per uso generico

Per la denominazione dei bucket per uso generico si applicano le seguenti regole.

Importante
  • I nomi di bucket devono essere univoci in tutti gli Account AWS e in tutte le Regioni AWS all’interno di una partizione. Una partizione è un raggruppamento di Regioni. AWS attualmente ha tre partizioni: aws (Regioni commerciali), aws-cn (Regioni della Cina) e aws-us-gov (Regioni AWS GovCloud (US)).

  • Il nome di un bucket non può essere utilizzato da un altro Account AWS nella stessa partizione fino a quando il bucket non viene eliminato. Dopo aver eliminato un bucket, è opportuno considerare che un altro Account AWS nella stessa partizione può utilizzare lo stesso nome di bucket per un nuovo bucket e quindi può potenzialmente ricevere le richieste destinate al bucket eliminato. Per evitare che ciò accada o continuare a utilizzare lo stesso nome del bucket, non eliminare il bucket. È consigliabile eliminare il contenuto del bucket e conservarlo, bloccando le richieste di bucket in base alle esigenze. Per i bucket non più in uso, è consigliabile eliminare tutti gli oggetti del bucket per ridurre al minimo i costi e mantenere il bucket stesso.

  • Quando si crea un bucket per uso generico, si scelgono nome e Regione AWS in cui crearlo. Dopo aver creato un bucket per uso generico, non è possibile modificarne il nome o la Regione.

  • Non includere informazioni sensibili nel nome del bucket. Il nome bucket è visibile nell'URL che punta agli oggetti nel bucket.

Nota

Prima del 1° marzo 2018, i bucket creati nella regione Stati Uniti orientali (Virginia settentrionale) potevano avere nomi lunghi fino a 255 caratteri e con lettere maiuscole e caratteri di sottolineatura. A partire dal 1° marzo 2018, i nuovi bucket nella regione Stati Uniti orientali (Virginia settentrionale) devono essere conformi alle stesse regole applicate in tutte le altre regioni.

Esempi di nomi di bucket per uso generico

I seguenti sono esempi di nomi di bucket per uso generico con i caratteri consentiti: a-z, 0-9 e trattini (-). Il prefisso riservato amzn-s3-demo- viene qui utilizzato solo a scopo illustrativo. Il prefisso è riservato, pertanto non è possibile creare nomi di bucket che iniziano con amzn-s3-demo-.

  • amzn-s3-demo-bucket1-a1b2c3d4-5678-90ab-cdef-example11111

  • amzn-s3-demo-bucket

I seguenti nomi di bucket di esempio sono validi ma non consigliati per usi diversi dall’hosting di siti web statici perché contengono punti (.):

  • example.com

  • www.example.com

  • my.example.s3.bucket

I nomi dei bucket di esempio seguenti non sono validi:

  • amzn_s3_demo_bucket (contiene caratteri di sottolineatura)

  • AmznS3DemoBucket (contiene lettere maiuscole)

  • amzn-s3-demo-bucket- (inizia con il prefisso amzn-s3-demo- e termina con un trattino)

  • example..com (contiene due punti consecutivi)

  • 192.168.5.4 (corrisponde al formato di un indirizzo IP)

Best practice

Tieni in considerazione le seguenti best practice per la denominazione dei bucket quando assegni i nomi ai bucket per uso generico.

Scegliere uno schema di denominazione dei bucket che difficilmente possa causare conflitti di denominazione

Se l’applicazione crea bucket automaticamente, scegli lo schema di denominazione dei bucket con meno probabilità di creare conflitti di denominazione. Assicurati che la logica dell'applicazione scelga un nome del bucket diverso nel caso in cui il nome del bucket sia già in uso.

Aggiungere identificatori univoci globali (GUID) ai nomi dei bucket

È consigliabile creare nomi di bucket non prevedibili. Non scrivere il codice presupponendo che il nome del bucket scelto sia disponibile a meno il bucket non sia stato personalmente creato. Un metodo per creare nomi di bucket non prevedibili consiste nell’aggiungere un identificatore univoco globale (GUID) al nome del bucket, ad esempio amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Per ulteriori informazioni, consulta Creazione di un bucket che utilizza un GUID nel nome del bucket.

Evitare l’uso di punti (.) nei nomi dei bucket

Per una migliore compatibilità, è consigliabile evitare l’utilizzo di punti (.) nei nomi dei bucket, ad eccezione dei bucket utilizzati solo per l’hosting di siti web statici. Se includi punti nel nome di un bucket, non potrai utilizzare l’indirizzamento in stile host virtuale su HTTPS, a meno che non esegui la convalida del certificato. I certificati di sicurezza utilizzati per l’hosting virtuale dei bucket non funzionano per i bucket con punti nei nomi.

Questa limitazione non influisce sui bucket utilizzati per l’hosting di siti web statici, poiché l’hosting di siti web statici è disponibile solo su HTTP. Per ulteriori informazioni sull'indirizzamento in stile hosting virtuale, consulta Hosting virtuale di bucket per uso generico. Per ulteriori informazioni sull'hosting di siti Web statici, consulta Hosting di un sito Web statico tramite Amazon S3.

Scegli un nome pertinente

Quando assegni un nome a un bucket, ti consigliamo di scegliere un nome che sia rilevante per te o la tua attività. Evita di utilizzare nomi associati ad altri. Ad esempio, evita di utilizzare AWS o Amazon nel nome del bucket.

Non eliminare i bucket in modo da poter riutilizzare i nomi dei bucket

Se un bucket è vuoto, puoi eliminarlo. Dopo l'eliminazione di un bucket, il nome diventa disponibile per un nuovo utilizzo. Tuttavia, non è garantito che si possa riutilizzare il nome immediatamente o in futuro. Potrebbe essere necessario qualche minuto prima di poter riutilizzare il nome di un bucket eliminato. Inoltre, prima che tu possa riutilizzare il nome, un altro Account AWS potrebbe creare un bucket con lo stesso nome.

Dopo aver eliminato un bucket per uso generico, tieni presente che un altro Account AWS nella stessa partizione può utilizzare lo stesso nome di bucket per un nuovo bucket e quindi può potenzialmente ricevere le richieste destinate al bucket eliminato. Per evitare che ciò accada o continuare a utilizzare lo stesso nome del bucket per uso generico, non eliminare il bucket per uso generico. È consigliabile eliminare il contenuto del bucket e conservarlo, bloccando le richieste di bucket in base alle esigenze.

Creazione di un bucket che utilizza un GUID nel nome del bucket

Gli esempi seguenti mostrano come creare un bucket per uso generico che utilizza un GUID alla fine del nome del bucket.

L’esempio AWS CLI seguente crea un bucket nella Regione Stati Uniti occidentali (California settentrionale) (us-west-1) con un nome di bucket di esempio che utilizza un identificatore univoco globale (GUID). Per utilizzare questo comando di esempio, sostituisci user input placeholders con le tue informazioni.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket1$(uuidgen | tr -d - | tr '[:upper:]' '[:lower:]' ) \ --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1

L’esempio seguente mostra come creare un bucket con un GUID alla fine del nome del bucket nella Regione Stati Uniti orientali (Virginia settentrionale) (us-east-1) utilizzando AWS SDK per Java. Per utilizzare questo esempio, sostituisci user input placeholders con le informazioni appropriate. Per informazioni sugli altri SDK AWS consulta Strumenti per costruire su AWS.

import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.Bucket; import com.amazonaws.services.s3.model.CreateBucketRequest; import java.util.List; import java.util.UUID; public class CreateBucketWithUUID { public static void main(String[] args) { final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build(); String bucketName = "amzn-s3-demo-bucket" + UUID.randomUUID().toString().replace("-", ""); CreateBucketRequest createRequest = new CreateBucketRequest(bucketName); System.out.println(bucketName); s3.createBucket(createRequest); } }