从.net访问s3存储桶

时间:2019-05-01 23:38:50

标签: .net amazon-web-services amazon-s3

通过提供以下设置,我可以使用WinSCP成功查看S3存储桶中的文件:

  • 文件协议= Amazon S3
  • 主机名= s3.amazonaws.com
  • 访问密钥ID
  • 秘密访问密钥
  • 远程目录=我的子文件夹(处于高级状态)

但是,我想使用.NET Core进行同样的操作,但是遇到了麻烦。我已经安装了AWSSDK.S3 nuget软件包,并具有以下代码:

foreach (var region in RegionEndpoint.EnumerableAllRegions)
{
    try
    {
        var request = new ListObjectsV2Request()
        {
            BucketName = bucket,
            MaxKeys = 10
        };

        using (var client = new AmazonS3Client(accessID, secret, region))
        {
            var response = await client.ListObjectsV2Async(request);
            Console.WriteLine(response.S3Objects.Count);
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

我不知道该区域,所以我全部尝试了一下,但出现异常消息:“指定的存储桶不存在”。

WinSCP可以工作,因此我必须具有正确的设置,但是我不知道是否已正确配置.NET库。我提供的凭证不是标准类型吗?我在.net中使用了错误的库/协议吗?

0 个答案:

没有答案