Salta al contenuto

Qual è la differenza tra prefissi e cartelle nidificate in relazione alle frequenze delle richieste in Amazon S3?

3 minuti di lettura
0

Desidero comprendere l'effetto dei prefissi e delle cartelle nidificate sulle frequenze delle richieste in Amazon Simple Storage Service (Amazon S3).

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Utilizza i prefissi per gestire gli aumenti delle frequenze delle richieste per i bucket Amazon S3. La console Amazon S3 mostra i prefissi come cartelle e potrebbe non mostrare i prefissi partizionati che supportano le frequenze delle richiesta. Per ulteriori informazioni, consulta Organizzare, elencare e utilizzare gli oggetti.

Prefissi

Un prefisso della chiave è una stringa di caratteri all'inizio del nome dell'oggetto. La lunghezza del prefisso può raggiungere la lunghezza massima di 1.024 byte del nome della chiave dell'oggetto. Ad esempio, i seguenti oggetti nel bucket "BucketName" condividono i prefissi comuni "Project/", "Project/WordFiles/", "Project/WordFiles/1" e "Project/WordFiles/4":

BucketName/Project/WordFiles/123.txt
BucketName/Project/WordFiles/145.txt
BucketName/Project/WordFiles/456.txt
BucketName/Project/WordFiles/489.txt

Puoi organizzare i prefissi gerarchicamente con i delimitatori. Puoi utilizzare una barra (/) o qualsiasi altro carattere come delimitatore. Amazon S3 può creare automaticamente partizioni in qualsiasi punto della stringa di prefisso in base alla frequenza della richiesta sostenuta. Questi sono anche chiamati prefissi partizionati. Un prefisso partizionato in un bucket può supportare 3.500 richieste PUT/COPY/POST/DELETE o 5.500 richieste GET/HEAD al secondo.

Non vi è limite al numero di prefissi che puoi avere in un bucket. Per ulteriori informazioni sull'utilizzo dei prefissi in Amazon S3, consulta Organizzazione degli oggetti utilizzando i prefissi.

Cartelle

I bucket generici di Amazon S3 hanno una struttura piatta anziché una gerarchia come quella di un file system. Tuttavia, per raggruppare e visualizzare oggetti per la navigazione, la console Amazon S3 supporta il concetto di cartella.

Quando crei una cartella nella console Amazon S3, Amazon S3 crea un oggetto da 0 byte. L'oggetto ha una chiave impostata sul nome della cartella e una barra (/) finale. Ad esempio, se crei una cartella denominata "photos" tramite la console Amazon S3, viene creato un oggetto da 0 byte con la chiave photos/. La console crea questo oggetto per supportare il concetto di cartella. Poiché le cartelle create dalla console sono oggetti effettivi, l'API head-object restituisce una risposta corretta.

Qualsiasi oggetto con una barra (/) finale nel nome della chiave viene visualizzato come una cartella nella console Amazon S3. Ad esempio, un oggetto con il nome della chiave examplekeyname/ viene visualizzato nella console come cartella anziché come oggetto.

Una cartella è il valore compreso tra due barre (/). Ad esempio, se archivi un file come BucketName/Project/WordFiles/123.txt, sia Project che WordFiles sono cartelle. Se salvi il file 123.txt nella root del bucket senza un percorso specificato, Amazon S3 non utilizza cartelle per archiviare il file.

Nota: la console Amazon S3 utilizza solo una barra (/) come delimitatore per la struttura delle cartelle. Altri caratteri come "-" vengono considerati parte del nome della chiave dell'oggetto e non creano cartelle.

Nota: i comandi AWS CLI e SDK come aws s3 cp non creano oggetti cartella. Creano solo oggetti file con il percorso completo della chiave, senza oggetti cartella intermedi. Pertanto, l'API head-object restituisce un errore "NoSuchKey" quando tenti di accedere a chiavi di cartella inesistenti.