获取AWS S3存储桶的创建日期?

时间:2014-02-26 06:25:48

标签: ruby amazon-web-services amazon-s3

我一直在使用Ruby SDK访问AWS API。

我一直试图找到如何获得S3存储桶的创建日期。当我通过控制台查看存储桶时,我可以看到文本中打印的存储桶,但我似乎找不到通过API访问它的方法。

我尝试了许多不同的方法,并将我的数据与YAML一起转储到文本文件中以查看其他数据,但没有任何帮助。

我期待的很简单:

s3.buckets do |bucket| 
  bucket.creation_date 
end

工作,但该方法不存在。是否有其他方法可以访问创建的日期值?

3 个答案:

答案 0 :(得分:2)

我猜您使用的是AWS ruby​​ SDK。我从来没有尝试过。但是,我可以在AWS ruby Core SDK中实现相同的目标:

代码:

require 'aws-sdk-core'

Aws.config = {
  :access_key_id => "YOUR_ACCESS_KEY",
  :secret_access_key => "YOUR_SECRET_KEY",
  :region => 'YOUR_REGION'
}

s3 = Aws::S3.new
s3.list_buckets.each do |resp|
  resp.buckets.each do |bucket|
    puts "#{bucket.name} ----> #{bucket.creation_date}"
  end
end

和输出:

MyBucket1 ----> 2014-01-22 16:25:18 UTC
MyBucket2 ----> 2014-01-31 10:18:58 UTC
MyBucket3 ----> 2014-02-24 12:20:17 UTC
MyBucket4 ----> 2014-01-28 14:16:26 UTC
MyBucket5 ----> 2014-01-30 06:42:39 UTC

由于显而易见的原因,我省略了我的实际存储桶名称。

答案 1 :(得分:0)

我使用S3的客户端模块找到了我的问题的答案:s3.client.list_buckets() 返回: {:name=>"bucket", creation_date=>"2013-11-27T06:09:15.000Z"}

我觉得很烦人的是,在他们的API中,created_date没有很好地记录。与EC2一样,您可以请求实例集合,然后查询它们的launch_time。我期待S3有点相似。

答案 2 :(得分:-1)

只需查看aws-ruby sdk的文档。我需要确保特定方法不存在。