Amazon S3 aggiunge nuove funzionalità per le scritture condizionali
Amazon S3 può ora eseguire scritture condizionali che, prima di aggiornare un oggetto, valutano che non sia stato modificato. Ciò consente di coordinare scritture simultanee sullo stesso oggetto e impedisce a più scrittori attivi contemporaneamente di sovrascrivere involontariamente l'oggetto senza conoscere lo stato del contenuto. È possibile utilizzare questa funzionalità fornendo l'ETag di un oggetto utilizzando le richieste API S3 PutObject o CompleteMultipartUpload sia nei bucket S3 per uso generico che quelli di directory.
Le scritture condizionali semplificano il modo in cui le applicazioni distribuite con più client aggiornano contemporaneamente i dati in parallelo in set di dati condivisi. Analogamente all'utilizzo dell'intestazione condizionale HTTP if-none-match per verificare l'esistenza di un oggetto prima di crearlo, i client possono ora eseguire controlli di scrittura condizionale sull'ETag di un oggetto che rifletta le modifiche apportate, specificandolo nella richiesta API tramite l'intestazione HTTP if-match. S3 valuta quindi se l'ETag dell'oggetto corrisponde al valore fornito nella richiesta API prima di eseguire il commit della scrittura e impedisce ai client di sovrascrivere l'oggetto fino a quando la condizione non è soddisfatta. Questa nuova intestazione condizionale può contribuire a migliorare l'efficienza delle analisi su larga scala, del machine learning distribuito e di altri carichi di lavoro altamente parallelizzati, affidando in sicurezza le operazioni di compare e swap a S3.
Questa nuova funzionalità di scrittura condizionale è disponibile senza costi aggiuntivi in tutte le regioni AWS. Puoi utilizzare l'SDK, l'API o la CLI di AWS per eseguire scritture condizionali. Per maggiori informazioni sulle scritture condizionali, consulta la guida per l'utente di S3.