我一直在使用Ruby SDK访问AWS API。
我一直试图找到如何获得S3存储桶的创建日期。当我通过控制台查看存储桶时,我可以看到文本中打印的存储桶,但我似乎找不到通过API访问它的方法。
我尝试了许多不同的方法,并将我的数据与YAML一起转储到文本文件中以查看其他数据,但没有任何帮助。
我期待的很简单:
s3.buckets do |bucket|
bucket.creation_date
end
工作,但该方法不存在。是否有其他方法可以访问创建的日期值?
答案 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的文档。我需要确保特定方法不存在。