2012-07-26 65 views
3

我开发AWS Rails应用程序,并想创建下拉菜单区域的名称,如“美东1”等获取AWS地区名称使用Ruby

如果有人已经创建的宝石来获得他们,我想用它。有谁知道这样的宝石或有用的API?

回答

4

的AWS SDK为Ruby(AWS-SDK宝石)支持枚举地区名称:

require 'aws-sdk' 

ec2 = AWS::EC2.new(:access_key_id => '...', :secret_access_key => '...') 
ec2.regions.map(&:name) 
=> ["eu-west-1", "sa-east-1", "us-east-1", "ap-northeast-1", "us-west-2", "us-west-1", "ap-southeast-1"] 

你也可以使用一个客户端界面的DescribeRegions拨打:

ec2.client.describe_regions 
=> { :region_info=>[ 
    {:region_name=>"eu-west-1", :region_endpoint=>"ec2.eu-west-1.amazonaws.com"}, 
    {:region_name=>"sa-east-1", :region_endpoint=>"ec2.sa-east-1.amazonaws.com"}, 
    {:region_name=>"us-east-1", :region_endpoint=>"ec2.us-east-1.amazonaws.com"}, 
    {:region_name=>"ap-northeast-1", :region_endpoint=>"ec2.ap-northeast-1.amazonaws.com"}, 
    {:region_name=>"us-west-2", :region_endpoint=>"ec2.us-west-2.amazonaws.com"}, 
    {:region_name=>"us-west-1", :region_endpoint=>"ec2.us-west-1.amazonaws.com"}, 
    {:region_name=>"ap-southeast-1", :region_endpoint=>"ec2.ap-southeast-1.amazonaws.com"} 
    ], 
    :request_id=>"04458cac-bdf2-4847-bf1f-c7ea65813777" 
} 

您可以在这里查看宝石文档:​​

1

在我的我可以这样做:

>> `ec2-describe-regions`.scan(/REGION\s+(\S+)/).flatten 
=> ["eu-west-1", "sa-east-1", "us-east-1", "ap-northeast-1", "us-west-2", "us-west-1", "ap-southeast-1"] 
+0

谢谢,你r回答帮助我找出我的目标! – 2012-07-26 05:46:57

相关问题