【问题标题】:Is there a way to use the Amazon .NET AWS SDK's AmazonS3 client on 'publicly readable buckets' without specifying AWS credentials?有没有办法在不指定 AWS 凭证的情况下在“公共可读存储桶”上使用 Amazon .NET AWS SDK 的 AmazonS3 客户端?
【发布时间】:2011-10-13 17:17:02
【问题描述】:
我想使用 Amazon 的 .NET SDK 来访问公开可读的存储桶,但是用于创建 AmazonS3 的 AWSClientFactory.CreateAmazonS3Client 方法会强制您输入 AwsAccessKey 和 AwsSecretAccessKey。
我不想在我的客户端应用程序中包含这些,但我仍然想使用 Amazon 提供的 SDK 来访问 S3 上的这些公开可读的对象。
这可能吗?
【问题讨论】:
标签:
c#
.net
amazon-s3
amazon-web-services
【解决方案1】:
我也在 AWS 论坛上问过这个问题,亚马逊官方员工回复:
从 SDK 的 1.3.8.0 版本开始,您可以为访问传递 null
和密钥,SDK 将跳过签名过程并尝试
像 GetObject 这样的操作作为公共操作。
标准
值得注意的是,在撰写本文时,当前的 Amazon .NET SDK 版本为“1.3.14”,因此目前可以为凭证传递 null。