我正在尝试用ruby的aws-sdk为我的示例检索amazon生成的事件,当我监视我的示例时,这将派上用场,并且当发现事件时会发出警报。我找到一篇文章,它允许使用python的boto库,但我目前只能使用ruby。这些事件可在EC2 Jmeter 板-〉事件下找到。当前事件显示示例正在降级的硬件上运行并将被停用。事件类型为“instance-stop”。有没有一种方法可以用ruby的aws-sdk程序化地获取这些事件?
ulmd4ohb1#
我是在浏览亚马逊网站上的ruby sdk文档和查看某个人的python代码时发现这一点的。Python的boto库:
stats = ec2.get_all_instance_status()
在ruby和ec2对象中,并不存在像这样的方法,我在这个博客(http://ruby.awsblog.com/)上读到了更多的例子,但没有什么与我想要的相似的。当我在IRB中摸索时,我注意到有一个客户端对象,它确实包括了“描述示例状态”,它与Python的get_all_instance_status相似(如果不是相同的话)。然后我就能找到这个链接:http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2/Client.html这个客户端对象基本上是一个底层查询对象,它可以访问所有的API调用。现在这是一个简单的任务,因为文档描述了我们可以通过向describe_instance_status方法传递一个options {}来查询和过滤这些结果:
>> ec2 = AWS::EC2::new(:aws_key_id => ENV['AWS_ACCESS_KEY_ID'], :aws_secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']) >> status = ec2.client.describe_instance_status({ "instance_ids" => ["i-xxxxxxx"] }); >> status -> {:instance_status_set=>[{:events_set=>[{:code=>"instance-stop", :description=>"The instance is running on degraded hardware", :not_before=>2013-06-25 00:00:00 UTC}], :instance_id=>"i-xxxxxxxx",...
希望这对其他寻求做类似事情的人有所帮助。
1条答案
按热度按时间ulmd4ohb1#
我是在浏览亚马逊网站上的ruby sdk文档和查看某个人的python代码时发现这一点的。
Python的boto库:
在ruby和ec2对象中,并不存在像这样的方法,我在这个博客(http://ruby.awsblog.com/)上读到了更多的例子,但没有什么与我想要的相似的。
当我在IRB中摸索时,我注意到有一个客户端对象,它确实包括了“描述示例状态”,它与Python的get_all_instance_status相似(如果不是相同的话)。
然后我就能找到这个链接:
http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2/Client.html
这个客户端对象基本上是一个底层查询对象,它可以访问所有的API调用。现在这是一个简单的任务,因为文档描述了我们可以通过向describe_instance_status方法传递一个options {}来查询和过滤这些结果:
希望这对其他寻求做类似事情的人有所帮助。