bool RemoveUploadedArtifacts(string manifestFileKey, IEnumerable<ImageFilePart> partsList)
{
var allRemoved = true;
try
{
S3Client.Delete(this.BucketName, manifestFileKey, null);
}
catch (Exception)
{
allRemoved = false;
}
var keysToDelete = (from part in partsList where part.UploadCompleted select part.Key).ToList();
var keyIndex = 0;
while (keyIndex < keysToDelete.Count)
{
var batchOfKeys = new List<string>();
while (keyIndex < keysToDelete.Count && batchOfKeys.Count <= 1000)
{
keysToDelete.Add(keysToDelete[keyIndex++]);
}
try
{
S3Client.Deletes(this.BucketName, batchOfKeys, null);
}
catch
{
allRemoved = false;
}
}
return allRemoved;
}