Amazon web services aws根据云计算时间

Amazon web services aws根据云计算时间,amazon-web-services,time,amazon-s3,Amazon Web Services,Time,Amazon S3,我在谷歌搜索时没有看到任何答案,所以很可能我问了一个愚蠢的问题,但这就是答案 我想调用AWSAPI来获取我的云服务所认为的时间,因为这似乎与我的本地服务器时间不同(相差很小但很大) 对于更多的上下文,我正在运行一个自动测试,它需要检查在S3中是否创建了一个新对象,这是测试中的系统工作的结果。AWS根据amazon服务器时间以其名称为对象提供时间戳。我使用这个时间戳将对象与bucket中的所有其他对象区分开来,因为它将是唯一一个在测试运行开始后有时间的对象。不幸的是,amazon给出的时间是在测试

我在谷歌搜索时没有看到任何答案,所以很可能我问了一个愚蠢的问题,但这就是答案

我想调用AWSAPI来获取我的云服务所认为的时间,因为这似乎与我的本地服务器时间不同(相差很小但很大)

对于更多的上下文,我正在运行一个自动测试,它需要检查在S3中是否创建了一个新对象,这是测试中的系统工作的结果。AWS根据amazon服务器时间以其名称为对象提供时间戳。我使用这个时间戳将对象与bucket中的所有其他对象区分开来,因为它将是唯一一个在测试运行开始后有时间的对象。不幸的是,amazon给出的时间是在测试运行开始前几秒钟,因为我的服务器时间比amazon的要早

因此,如果我能在测试开始时获得“云”启动时间并进行比较,我就不会有这个问题

编辑

如果有人有同样的问题,我在c#中使用了这个快速而肮脏的解决方法,本着公认答案的精神,但没有那么严格

public async Task<DateTime> EstimateInternetTime()
{
    var httpClient = new HttpClient();
    var response = await httpClient.GetAsync("http://google.com");
    return response.Headers.Date.Value.UtcDateTime;
 }
公共异步任务EstimateInternetTime()
{
var httpClient=新的httpClient();
var response=wait httpClient.GetAsync(“http://google.com");
返回response.Headers.Date.Value.UtcDateTime;
}
没有“云时间”,因此无法确保您的时间戳与AWS中使用的时间戳完全匹配

您最好使用NTP将时钟同步到公共NTP服务器

亚马逊有自己的NTP服务器池,您可以使用:

  • 0.amazon.pool.ntp.org
  • 1.amazon.pool.ntp.org
  • 3.amazon.pool.ntp.org
  • 2.amazon.pool.ntp.org
在许多情况下,EC2实例已经配置为使用这些服务器

请参阅有关在Linux服务器上配置NTP的AWS文档:

没有“云时间”,因此无法确保您的时间戳与AWS中使用的时间戳完全匹配

您最好使用NTP将时钟同步到公共NTP服务器

亚马逊有自己的NTP服务器池,您可以使用:

  • 0.amazon.pool.ntp.org
  • 1.amazon.pool.ntp.org
  • 3.amazon.pool.ntp.org
  • 2.amazon.pool.ntp.org
在许多情况下,EC2实例已经配置为使用这些服务器

请参阅有关在Linux服务器上配置NTP的AWS文档: