2014-02-26 185 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