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.
Argomenti
Regole di denominazione dei bucket per uso generico
Per la denominazione dei bucket per uso generico si applicano le seguenti regole.
-
I nomi dei bucket devono avere una lunghezza compresa tra 3 (minimo) e 63 (massimo) caratteri.
-
I nomi dei bucket possono essere costituiti solo da lettere minuscole, numeri, punti (
.) e trattini (-). -
I nomi dei bucket devono iniziare e terminare con una lettera o un numero.
-
I nomi dei bucket non devono contenere punti adiacenti.
-
I nomi dei bucket non devono avere il formato di un indirizzo IP (ad esempio
192.168.5.4). -
I nomi dei bucket non devono iniziare con il prefisso
xn--. -
I nomi dei bucket non devono iniziare con il prefisso
sthree-. -
I nomi dei bucket non devono iniziare con il prefisso
amzn-s3-demo-. -
I nomi dei bucket non devono terminare con il suffisso
-s3alias. Questo suffisso è riservato ai nomi alias dei punti di accesso. Per ulteriori informazioni, consulta Alias del punto di accesso. -
I nomi dei bucket non devono terminare con il suffisso
--ol-s3. Questo suffisso è riservato ai nomi alias dei punti di accesso Lambda per oggetti. Per ulteriori informazioni, consulta Come utilizzare un alias in stile bucket per il punto di accesso Lambda per oggetti del bucket S3. -
I nomi dei bucket non devono terminare con il suffisso
.mrap. Questo suffisso è riservato ai nomi dei punti di accesso multiregionali. Per ulteriori informazioni, consulta Regole per la denominazione dei punti di accesso multi-regione in Amazon S3. -
I nomi dei bucket non devono terminare con il suffisso
--x-s3. Questo suffisso è riservato ai bucket di directory. Per ulteriori informazioni, consulta Regole di denominazione dei bucket di directory. -
I nomi dei bucket non devono terminare con il suffisso
--table-s3. Questo suffisso è riservato ai bucket di tabelle S3. Per ulteriori informazioni, consulta Regole di denominazione di bucket di tabelle, tabelle e spazio dei nomi di Amazon S3. -
I bucket utilizzati con Accelerazione del trasferimento Amazon S3 non possono contenere punti (
.) nel nome. Per ulteriori informazioni su Transfer Acceleration, consulta Configurazione di trasferimenti veloci e sicuri di file con Amazon S3 Transfer Acceleration.
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) eaws-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 prefissoamzn-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 con le tue informazioni.user input placeholders
aws s3api create-bucket \ --bucketamzn-s3-demo-bucket1$(uuidgen | tr -d - | tr '[:upper:]' '[:lower:]' ) \ --regionus-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 con le informazioni appropriate. Per informazioni sugli altri SDK AWS consulta Strumenti per costruire su AWSuser input placeholders
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); } }