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

c# – S3请求时间过于偏斜

发布时间:2020-12-16 02:04:18 所属栏目:百科 来源:网络整理
导读:我目前正在C#中构建一个应用程序,它利用AWS SDK将文件上传到S3. 但是,我有一些用户在应用程序尝试上载文件时收到“请求时间过于偏斜”错误. 我理解问题是用户的时钟不同步,但是,很难期望用户改变它,所以我想知道,有没有办法让这个错误不发生(任何.NET功能得
我目前正在C#中构建一个应用程序,它利用AWS SDK将文件上传到S3.

但是,我有一些用户在应用程序尝试上载文件时收到“请求时间过于偏斜”错误.

我理解问题是用户的时钟不同步,但是,很难期望用户改变它,所以我想知道,有没有办法让这个错误不发生(任何.NET功能得到使用NTP或类似的准确时间?)

在我用于上传文件的当前代码下面.

var _s3Config = new AmazonS3Config { ServiceURL = "https://s3-eu-west-1.amazonaws.com" };
var _awsCredentials = new SessionAWSCredentials(credentials.AccessKeyId,credentials.SecretAccessKey,credentials.SessionToken);
var s3Client = new AmazonS3Client(_awsCredentials,_s3Config);
var putRequest = new PutObjectRequest
{
  BucketName = "my.bucket.name",Key = "/path/to/file.txt",FilePath = "/path/to/local/file.txt"
};
putRequest.StreamTransferProgress += OnUploadProgress;
var response = await s3Client.PutObjectAsync(putRequest);

解决方法

如果你问这个问题,你可能已经采用了AWS,只要你可以使用提供的代码示例.

我发现AWS提供的大多数异步上传功能更具理论性,或者更适合有限的用例,而不是为主流做好准备 – 尤其是那些拥有所有浏览器和操作系统的最终用户:)

我建议您重新考虑程序的设计:创建自己的C#上载旋转栅门并保持AWS SDK上传功能作为后台进程(或sysadmin函数)运行,以便AWS服务器仅处理服务器的时间.

(编辑:李大同)

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

    推荐文章
      热点阅读