Amazon S3 ajoute de nouvelles fonctionnalités pour les écritures conditionnelles

Publié le: 25 nov. 2024

Amazon S3 peut désormais effectuer des écritures conditionnelles qui évaluent si un objet n'est pas modifié avant de le mettre à jour. Cela vous permet de coordonner les écritures simultanées sur le même objet et d'empêcher plusieurs rédacteurs simultanés de remplacer involontairement l'objet sans connaître l'état de son contenu. Vous pouvez utiliser cette fonctionnalité en fournissant l'ETag d'un objet à l'aide de requêtes d'API S3 PutObject ou CompleteMultipartUpload à la fois dans des compartiments S3 à usage général et dans des compartiments d'annuaire.

Les écritures conditionnelles simplifient la façon dont les applications distribuées avec plusieurs clients mettent à jour simultanément les données sur des jeux de données partagés. À l'instar de l'utilisation de l'en-tête conditionnel HTTP if-none-match pour vérifier l'existence d'un objet avant de le créer, les clients peuvent désormais effectuer des vérifications d'écriture conditionnelle sur l'Etag d'un objet, qui reflète les modifications apportées à l'objet, en le spécifiant via l'en-tête HTTP if-match dans la demande d'API. S3 évalue ensuite si l'ETag de l'objet correspond à la valeur fournie dans la demande d'API avant de valider l'écriture et empêche vos clients de remplacer l'objet jusqu'à ce que la condition soit satisfaite. Ce nouvel en-tête conditionnel peut contribuer à améliorer l'efficacité de vos analyses à grande échelle, de votre machine learning distribué et d'autres charges de travail hautement parallélisées en déchargeant de manière fiable les opérations de comparaison et d'échange vers S3.

Cette nouvelle fonctionnalité d'écriture conditionnelle est disponible sans frais supplémentaires dans toutes les régions AWS. Vous pouvez utiliser le kit SDK, l'API ou l'interface de ligne de commande AWS pour effectuer des écritures conditionnelles. Pour en savoir plus sur les écritures conditionnelles, consultez le guide de l'utilisateur de S3.