有没有办法在“公开可读的存储桶”上使用Amazon .NET AWS SDK的AmazonS3客户端而无需指定AWS凭据?

我想使用Amazon的.NET SDK访问公共可读存储桶,但用于创建AmazonS3AWSClientFactory.CreateAmazonS3Client方法AmazonS3强制您输入AwsAccessKey和AwsSecretAccessKey。

我不想在客户端应用程序中包含这些,但我仍然希望使用Amazon提供的SDK来访问S3上的这些公共可读对象。

这可能吗?

我还在AWS论坛上提出了这个问题,官方的亚马逊员工做出了回应:

从SDK的1.3.8.0版本开始,您可以为访问密钥和密钥传递null,SDK将跳过签名过程并尝试将GetObject等操作作为公共操作。

规范

值得注意的是,在编写本文时,当前的Amazon .NET SDK版本为“1.3.14”,因此目前可以为凭证传递null。