2014-02-26 136 views
0

我一直在使用Ruby SDK访问AWS API。获取AWS S3存储桶的创建日期?

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

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

我期待简单:

s3.buckets do |bucket| 
    bucket.creation_date 
end 

工作,但该方法不存在。是否有另一种访问创建日期值的方式?

回答

0

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

我觉得这恼人的是,CREATED_DATE是不是他们的API中非常有据可查。与EC2一样,您可以要求收集实例,然后查询它们的launch_time。我期待S3有点类似。

-1

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

+0

我已经这样做了,如果我没有事先检查API,我就不会在这里问过。 – caerulean

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 

我已经遗漏了我的实际桶名称。

+0

core-sdk工作得很好,但是现在试图避免为一个程序使用2个不同的sdk。我找到了一个解决方案 - 很快就会发布。 – caerulean