¿Hay alguna forma de configurar un depósito de Amazon S3 o el SDK de AWS en iOS para que todas las cargas en un depósito sean atómicas?
Es decir, quiero configurar el depósito o el SDK para que, si una carga no se completa correctamente, no deje el archivo cargado parcialmente ni ningún otro objeto nuevo en el depósito.
Como se dijo en los comentarios, si no está utilizando cargas de varias partes, debe sacarlo de la caja.
Si utiliza cargas de varias partes, debe tener en cuenta dos cosas:
Puede crear una política de ciclo de vida del depósito que limpie las cargas incompletas (política AbortIncompleteMultipartUpload ), como se detalla en las pautas del ciclo de vida:
Amazon S3 admite una regla de ciclo de vida del depósito que puede usar para ordenar a Amazon S3 que anule las cargas de varias partes que no se completan dentro de una cantidad específica de días después de que se inicien. Cuando una carga de varias partes no se completa dentro del período de tiempo, se vuelve elegible para una operación de cancelación y Amazon S3 cancela la carga de varias partes (y elimina las partes asociadas con la carga de varias partes).
Puede adjuntar una regla solo a ciertos prefijos o a todo el depósito, lo que suena más apropiado para su caso de uso. Puede encontrar más detalles sobre los ciclos de vida de los depósitos en los documentos de reglas de ciclo de vida de S3.