gpt4 book ai didi

c# - 如何使用他们的 SDK 判断我的文件是否已从 Amazon S3 中成功删除?

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:32 27 4
gpt4 key购买 nike

我正在使用以下代码从我的 S3 中删除一个文件。但是我怎么知道从 S3 中实际删除文件是否成功呢?


这些是成功时返回的 header :


响应 header :x-amz-id-2,值:|已删除 key |
响应 header :x-amz-request-id,值:CA3F42D7F3B9215E
响应 header :日期,值:星期二,8 月 9 日 2


并没有成功:


响应 header :x-amz-id-2,值:fM3/|已删除 key |+p+F2Adu1Rr3b2k
Amazon S3 删除:响应 header :x-amz-request-id,值:0CFB9E7882F01BA3
响应 header :日期,值:2011 年 8 月 9 日星期二 21:23:12 GMT
响应 header :服务器,值:AmazonS3



header 之间的唯一区别(除了不同的请求 ID)是从 S3 返回的额外行有一个服务器,值: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);
}
}
}

最佳答案

This article discusses similar issue .通常,如果您的请求成功,那么您的对象将被删除。但是请注意,由于最终一致性,对象不能保证立即消失。这就提出了一个问题,您将如何确定第二个请求失败?

关于c# - 如何使用他们的 SDK 判断我的文件是否已从 Amazon S3 中成功删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003590/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com