从 S3 存储桶的子文件夹中删除对象

问题描述 投票:0回答:1

我正在尝试删除 S3 存储桶子文件夹中存在的对象。以下是我在 C# 中尝试做的事情:

string subBucketName = "TS-AP/";
var amazonS3Client = new AmazonS3Client(accessKeyId, secretAccessKey, RegionEndpoint.GetBySystemName(region));

amazonS3Client.DeleteObjectAsync(new Amazon.S3.Model.DeleteObjectRequest() { BucketName = BucketName, Key = subBucketName + "/" + d.StoredFileName});

在上面的代码中,subBucketName是S3存储桶内的子文件夹,所以我的bucketName是“Connect”,子文件夹名称是“TS-AP”。我要删除的文件存在于“TS-AP”子文件夹中。当我运行上面的代码时,代码不会抛出任何错误,它只是运行,但我没有看到 S3 存储桶中删除的文件。

任何帮助将不胜感激。

c# amazon-web-services amazon-s3
1个回答
0
投票

代码中的双斜杠将生成

Key = 'TS-AP//file1'
,这是行不通的。

立即删除。

S3 中实际上并不存在子文件夹——相反,Key 包含对象的完整路径。

您百分百确定您拥有正确的桶和钥匙吗?请注意,如果要删除的对象不存在,则不会抛出错误。

我建议您从 S3 控制台复制密钥并将其粘贴为硬编码,以验证没有输入错误。

© www.soinside.com 2019 - 2024. All rights reserved.