【发布时间】:2020-04-16 05:36:31
【问题描述】:
我不想遍历区域并列出每个区域的所有可用区域。
我有(红宝石)
result='Zones:<br/>'
ec2 = Aws::EC2::Client.new(region: 'us-east-1')
puts "Amazon EC2 regions:\n\n"
describe_regions_result = ec2.describe_regions()
describe_regions_result.regions.each do |region|
puts "Region: #{region.region_name}"
Aws.config.update({region: region.region_name})
azs = ec2.describe_availability_zones # (region_name: region.region_name)
azs.availability_zones.each do |zone|
result+="#{zone.region_name} - #{zone.zone_name}<br/>"
p zone.region_name + ' ' + zone.zone_name
end
end
但我的输出一直显示各个 AZ 都在区域 us-east-2 中并以相同的值重复,如
Region: us-east-1
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
Region: us-east-2
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
Region: us-west-1
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
...
如何解决在每个区域内显示 az 的问题?
我尝试将(region_name: region.region_name) 添加到该行
azs = ec2.describe_availability_zones(region_name: region.region_name)
但这给出了一个错误
ArgumentError at /bucket_counts
unexpected value at params[:region_name]
而且,如图所示,我试过了
Aws.config.update({region: region.region_name})
但这并没有帮助。当然,如果可能的话,我不想使用配置更改来列出区域的 az。
【问题讨论】: