Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ruby和aws sdk提取ec2标记_Ruby_Amazon Web Services_Amazon Ec2_Aws Sdk - Fatal编程技术网

使用ruby和aws sdk提取ec2标记

使用ruby和aws sdk提取ec2标记,ruby,amazon-web-services,amazon-ec2,aws-sdk,Ruby,Amazon Web Services,Amazon Ec2,Aws Sdk,各位, 我试图通过ruby aws sdk和iam角色引入EC2标记。下面的代码位产生以下错误。我做错了什么 require 'rubygems' require 'aws-sdk' require 'fileutils' ec2 = AWS::EC2.new() instance_id = `wget -q -O - http://169.254.169.254/latest/meta-data/instance-id` outdir = '/opt/facts/tags/' unles

各位, 我试图通过ruby aws sdk和iam角色引入EC2标记。下面的代码位产生以下错误。我做错了什么

require 'rubygems'
require 'aws-sdk'
require 'fileutils'

ec2 = AWS::EC2.new()

instance_id = `wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`
outdir = '/opt/facts/tags/'

unless File.directory?(outdir)
  FileUtils.mkdir_p(outdir)
end

ec2= AWS::EC2.new()
instance = ec2.instances[instance_id]
tags = instance.tags

tags.each do |num|
  File.open(outdir+num[0], "w") do |f|
    f.write(num[1])
  end
end
以下输出:

/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/http/connection_pool.rb:127:in `session_for': undefined method `continue_timeout=' for #<Net::HTTP ec2.us-east-1.amazonaws.com:443 open=false> (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/http/net_http_handler.rb:52:in `handle'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:236:in `make_sync_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:262:in `retry_server_errors'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:229:in `make_sync_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:489:in `client_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:371:in `log_client_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:457:in `client_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:353:in `return_or_raise'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:456:in `client_request'
from (eval):3:in `describe_tags'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/filtered_collection.rb:44:in `send'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/filtered_collection.rb:44:in `filtered_request'
from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/resource_tag_collection.rb:156:in `each'
from ./puppetclient.rb:22
/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/http/connection_pool.rb:127:in'session_for':未定义的方法'continue_timeout='for#(NoMethodError)
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/http/net_-http_-handler.rb:52:in'handle'
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:236:in'make_sync_request'
从/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:262:“重试服务器错误”中
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:229:in'make_sync_request'
from/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:489:in'client_request'
from/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:371:in'log\u client\u request'
from/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:457:in'client_request'
from/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:353:in'return_或_raise'
from/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/core/client.rb:456:in'client_request'
from(eval):3:in“description_tags”
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/filtered_collection.rb:44:in“发送”
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/filtered_collection.rb:44:“filtered_请求”中
来自/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.9.0/lib/aws/ec2/resource_tag_collection.rb:156:in'each'
from./puppetclient.rb:22

这似乎是今天已经报告的一个bug:,您可以尝试指向git存储库的主分支,因为已经有了它的补丁

编辑:

您已经可以在
rubygems
中指向最新版本,因为他们已经在
version 1.9.1
上部署了修复程序:

AWS SDK ruby今天发布了一个bug

您可以通过更新您的文件来修复它

gem 'aws-sdk', "1.9.1"

然后运行“bundle”

@Clustermagnet我不明白,这个链接似乎与此无关。aws sdk中的bug:)已修复