簡體   English   中英

ruby aws sdk v2如何獲取快照標簽的值

[英]ruby aws sdk v2 how to get the value of snapshot tag

p snapshot.tags的結果是:

[#<struct Aws::EC2::Types::Tag key="snapshot_expire", value="2016-09-23 08:30:12 +0000">]

如何僅獲取Tag Key snapshot_expire的值而沒有hour:sec:min(2016-09-23)?

這是我的代碼:

resp = ec2.describe_snapshots(owner_ids:['1234']) #.each do |snapshot|
resp.snapshots.each do |snapshot|
  p snapshot.snapshot_id
  p snapshot.tags
end

我知道常規的aws cli工具具有此選項。

謝謝!

參考: http : //docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Client.html#describe_snapshots-instance_method

“快照”作為對象返回。 您可以使用方法從對象獲取特定的快照數據。 請參閱上面的文檔。 可以通過調用snapshot.snapshot_id獲得快照ID。 標簽是snapshot.tags。

require 'aws-sdk'
require 'date'
ec2 = Aws::EC2::Client.new(region: 'us-east-1')

snapshot_response = ec2.describe_snapshots(owner_ids:['xxx'])
snapshot_response.snapshots.each do |snapshot|
  tagkeyexpire = snapshot.tags.select{|tag| tag.key == 'snapshot_expire'}
  snapid = snapshot.snapshot_id
  expiredate = Date.parse(tagkeyexpire[0].value) unless tagkeyexpire == []
  puts "#{snapid} : #{expiredate}"
end

輸出看起來像

snap-01234567 : 2016-09-30

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM