加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 访问未使用.Net SDK的美国区域的存储桶时遇到问题

发布时间:2020-12-15 18:21:19 所属栏目:百科 来源:网络整理
导读:我最近一直在尝试编写代码来添加和删除Amazon S3存储桶中的内容.我是Amazon S3和AmazonWS .Net SDK的新手. 存储区域端点是http://sqs.eu-west-1.amazonaws.com所以我构建了我的客户端,如下所示: _s3Client = AWSClientFactory.CreateAmazonS3Client(accessK
我最近一直在尝试编写代码来添加和删除Amazon S3存储桶中的内容.我是Amazon S3和AmazonWS .Net SDK的新手.

存储区域端点是http://sqs.eu-west-1.amazonaws.com所以我构建了我的客户端,如下所示:

_s3Client = AWSClientFactory.CreateAmazonS3Client(accessKey,awsSecretKey,new AmazonS3Config().WithServiceURL("http://sqs.eu-west-1.amazonaws.com"));

如果我遗漏了AmazonS3Config位,我会收到此错误:

A redirect was returned without a new location. This can be caused by
attempting to access buckets with periods in the name in a different
region then the client is configured for.

当我输入AmazonS3Config位时,我不再收到该错误,但我似乎无法访问此存储桶或我通常可以访问的任何其他存储桶.我发送的任何请求都返回null.

我已经使用配置到标准美国区域的其他存储桶测试了我的代码,这一切都运行良好.唯一的区别在于CreateAmazonS3Client方法,我在其中设置了具有EU端点的配置.

有人可以给我一些指导,说明我应该如何让我的客户在欧盟(爱尔兰)地区工作.我一直在寻找几个小时,我所遵循的每个教程或文档到目前为止都没有工作.

解决方法

只需使用标准端点 – s3.amazonaws.com
AmazonS3Config S3Config = new AmazonS3Config {
    ServiceURL = "s3.amazonaws.com",CommunicationProtocol = Amazon.S3.Model.Protocol.HTTP
};

AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(AWS_Key,AWS_SecretKey,S3Config);

PutObjectRequest UploadToS3Request = new PutObjectRequest();
UploadToS3Request.WithFilePath(localPath)
                 .WithBucketName(bucket)
                 .WithKey(key);

client.PutObject(UploadToS3Request);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读