Ridenominazione degli oggetti nei bucket di directory
L’operazione RenameObject consente di rinominare automaticamente un oggetto esistente in un bucket di directory che utilizza la classe di archiviazione S3 Express One Zone, senza alcun movimento di dati. È possibile rinominare un oggetto specificando il nome dell’oggetto esistente come origine e il nuovo nome dell’oggetto come destinazione all’interno dello stesso bucket di directory. L’operazione API RenameObject non ha esito positivo sugli oggetti che terminano con il carattere delimitatore barra (/). Per ulteriori informazioni, consulta Denominazione di oggetti Amazon S3.
L’operazione RenameObject viene in genere completata nell’ordine di millisecondi indipendentemente dalla dimensione dell’oggetto. Questa funzionalità accelera applicazioni come la gestione dei file di log, l’elaborazione multimediale e l’analisi dei dati. Inoltre, RenameObject conserva tutte le proprietà dei metadati degli oggetti, tra cui la classe di archiviazione, il tipo di crittografia, la data di creazione, la data dell’ultima modifica e le proprietà del checksum.
Nota
L’operazione RenameObject è supportata solo per gli oggetti archiviati nella classe di archiviazione S3 Express One Zone.
Per fornire l’accesso all’operazione RenameObject, è consigliabile utilizzare l’operazione CreateSession per l’autorizzazione basata sulla sessione. In particolare, si fornisce l’autorizzazione s3express:CreateSession al bucket di directory in una policy di bucket o in una policy basata sull’identità. Quindi, si effettua la chiamata API CreateSession sul bucket di directory per ottenere un token di sessione. Con il token di sessione nell’intestazione della richiesta, è possibile effettuare richieste API per questa operazione. Dopo la scadenza del token di sessione, si effettua un’altra chiamata API CreateSession per generare un nuovo token di sessione da utilizzare. AWS CLI e gli AWS SDK creano e gestiscono la sessione, incluso l’aggiornamento automatico del token di sessione per evitare interruzioni del servizio quando una sessione scade. Per ulteriori informazioni, consulta CreateSession nella Guida di riferimento delle API di Amazon S3. Per ulteriori informazioni sulle operazioni API degli endpoint di zona, consulta Autorizzazione delle operazioni API dell’endpoint di zona con CreateSession.
Se non desideri sovrascrivere un oggetto esistente, è possibile aggiungere l’intestazione condizionale If-None-Match con il valore ‘*’ nella richiesta RenameObject. Amazon S3 restituisce un errore 412 Precondition Failed se il nome dell’oggetto esiste già. Per ulteriori informazioni, consulta RenameObject nella documentazione di riferimento delle API di Amazon S3.
RenameObject è un’operazione API dell’endpoint di zona (operazione a livello di oggetto o piano dati) che viene registrata nel log in AWS CloudTrail. È possibile utilizzare CloudTrail per raccogliere informazioni sull’operazione RenameObject eseguita sugli oggetti nei bucket di directory. Per ulteriori informazioni, consulta Registrazione dei log con AWS CloudTrail per bucket di directory e Esempi di file di log di CloudTrail per i bucket di directory.
S3 Express One Zone è l’unica classe di archiviazione che supporta RenameObject, con un prezzo uguale a quello delle richieste PUT, COPY, POST e LIST (per 1.000 richieste) in S3 Express One Zone. Per ulteriori informazioni, consulta Prezzi di Amazon S3
Ridenominazione di un oggetto
Per rinominare un oggetto nel bucket di directory, è possibile utilizzare la console Amazon S3, AWS CLI, gli AWS SDK, la REST API o Mountpoint per Amazon S3 (versione 1.19.0 o successiva).
Come rinominare un oggetto in un bucket di directory
Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/
. -
Nel riquadro di navigazione a sinistra, scegli Bucket, quindi seleziona la scheda Bucket di directory. Passa al bucket di directory Amazon S3 contenente l’oggetto da rinominare.
-
Seleziona la casella di controllo dell'oggetto da rinominare.
-
Nel menu Azioni, scegli Rinomina oggetto.
-
Nella casella Nuovo nome oggetto, inserisci il nuovo nome dell'oggetto.
Nota
Se specifichi lo stesso nome di un oggetto esistente, l’operazione ha esito negativo e Amazon S3 restituisce un errore
412 Precondition Failed. La lunghezza del nome della chiave dell’oggetto non può superare 1.024 byte. I prefissi inclusi nel nome dell’oggetto vengono conteggiati ai fini della lunghezza totale. Scegli Rinomina l’oggetto. Amazon S3 rinomina l'oggetto.
Gli esempi rename-object illustrano in che modo è possibile utilizzare AWS CLI per rinominare un oggetto. Per eseguire questi comandi, sostituisci i segnaposto per l’input dell’utente con le informazioni appropriate.
L’esempio seguente mostra come rinominare un oggetto con un controllo condizionale sull’ETag dell’oggetto di origine.
aws s3api rename-object \ --bucketamzn-s3-demo-bucket--usw2-az1--x-s3\ --keynew-file.txt\ --rename-sourceoriginal-file.txt\ --source-if-match "\"a1b7c3d2e5f6\""
Questo comando funziona nel modo seguente:
Rinomina un oggetto da
original-file.txtanew-file.txtnel bucket di directoryamzn-s3-demo-bucket--usw2-az1--x-s3.Esegue la ridenominazione solo se l’ETag dell’oggetto sorgente corrisponde a “
a1b7c3d4e5f6”.
Se l’ETag non corrisponde, l’operazione non riesce con un errore 412
Precondition Failed.
L’esempio seguente mostra come rinominare un oggetto con un controllo condizionale sul nuovo nome dell’oggetto specificato.
aws s3api rename-object \ --bucketamzn-s3-demo-bucket--usw2-az1--x-s3\ --keynew-file.txt\ --rename-sourceamzn-s3-demo-bucket--usw2-az1--x-s3/original-file.txt\ --destination-if-none-match "\"e5f3g7h8i9j0\""
Questo comando funziona nel modo seguente:
Rinomina un oggetto da
original-file.txtanew-file.txtnel bucket di directoryamzn-s3-demo-bucket--usw2-az1--x-s3.Esegue l’operazione di ridenominazione solo se l’oggetto esiste e l’ETag dell’oggetto non corrisponde a “
e5f3g7h8i9j0”.
Se esiste già un oggetto con il nuovo nome specificato e l’ETag corrispondente, l’operazione avrà esito negativo e verrà generato un errore 412 Precondition Failed.
Per rinominare un oggetto è possibile inviare richieste REST. Per ulteriori informazioni, consulta RenameObject nella documentazione di riferimento delle API di Amazon S3.
A partire dalla versione 1.19.0 o successiva, Mountpoint per Amazon S3 supporta la ridenominazione degli oggetti in S3 Express One Zone. Per ulteriori informazioni su Mountpoint, consulta Operazioni con Mountpoint.