访问S3FileInfo属性时发生AmazonS3Exception

时间:2015-02-02 22:18:09

标签: c# asp.net-mvc amazon-web-services amazon-s3

我正在尝试使用VS2010中的AWS .NET SDK访问Amazon S3文件属性,例如“Exists”,“Length”,“LastWriteTime”等。

我使用以下命令获取目录中的文件列表:

S3DirectoryInfo directory = new S3DirectoryInfo(client, bucket, key);
            S3FileInfo[] fileList = directory.GetFiles();

fileList现在是一个S3FileInfo对象的数组。但是,当我查看对象时,所有文件属性都列出了异常,而不是属性。来自服务器的AmazonS3Exception,Forbidden 404例外。我可以使用目录列表执行相同的操作并获取目录的属性,但始终禁止文件属性。为了防止问题出现在directory.GetFiles()方法中,我还尝试使用以下方法创建单个S3FileInfo:     S3FileInfo fileInfo = new S3FileInfo(client, bucket, key;

结果是一样的。我知道客户端,存储桶和密钥都很好,因为我将它们用于各种其他操作并成功,只是S3FileInfo存在问题。

我在Visual Studio 2010中运行MVC 2 Web应用程序,运行带有Windows 7 Professional的AWS .NET SDK版本2.3.18.0。

1 个答案:

答案 0 :(得分:1)

我弄明白了这个问题。我进入了AWS IAM控制台,用户。我选择了我想要的用户,在权限下我选择了“附加用户策略”。我使用了管理员访问策略模板。这解决了我的问题。感谢Vor让我走上了查看我的政策和角色的道路。奇怪的是,我可以使用.NET SDK添加AWS用户,创建S3存储桶,密钥,上传/下载文件,设置加密等......我唯一不能做的就是访问文件属性。
非常奇怪,我的猜测是它是一个bug或者至少不是故意的。在没有管理员权限的情况下禁止查看文件属性似乎很奇怪,而我几乎可以做任何事情。