Я использую следующий код для удаления файла из моего S3.Но как я могу определить, было ли фактическое удаление файла из S3 успешным или нет?
Это заголовки, возвращаемые в случае успеха:
Заголовок ответа: x-amz-id-2, значение: | Удален секретный ключ |
Заголовок ответа: x-amz-request-id, значение: CA3F42D7F3B9215E
Заголовок ответа: дата, значение: вт, 09 августа 2
И не успешно:
Заголовок ответа: x-amz-id-2, значение: fM3 / | Удален секретный ключ | + p + F2Adu1Rr3b2k
Amazon S3 Удалить: Заголовок ответа: x-amz-request-id, Значение: 0CFB9E7882F01BA3
заголовок ответа: дата, значение: вт, 09 августа 2011 г. 21:23:12 GMT
заголовок ответа: сервер, значение: AmazonS3
Единственная разница между заголовками (кроме разных идентификаторов запросов) заключается в том, что из S3 возвращается дополнительная строка, имеющая значение Server, Value: AmazonS3, но я не знаю, является ли это надежнымдля меня, чтобы определить, был ли файл успешно удален из S3
Как я могу изменить код C #, чтобы сказать мне, если удалениеИон был успешным или нет?
Спасибо.
static void DeletingAnObject()
{
try
{
DeleteObjectRequest request = new DeleteObjectRequest();
request.WithBucketName(bucketName)
.WithKey(keyName);
using (DeleteObjectResponse response = client.DeleteObject(request))
{
WebHeaderCollection headers = response.Headers;
foreach (string key in headers.Keys)
{
Console.WriteLine("Response Header: {0}, Value: {1}", key, headers.Get(key));
}
}
}
catch (AmazonS3Exception amazonS3Exception)
{
if (amazonS3Exception.ErrorCode != null &&
(amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") ||
amazonS3Exception.ErrorCode.Equals("InvalidSecurity")))
{
Console.WriteLine("Please check the provided AWS Credentials.");
Console.WriteLine("If you haven't signed up for Amazon S3, please visit http://aws.amazon.com/s3");
}
else
{
Console.WriteLine("An error occurred with the message '{0}' when deleting an object", amazonS3Exception.Message);
}
}
}