大众cc英文名:获取 AWS区域的英文名称(names of the regions)

我找不到使用 AWS CLI 检索区域英文名称的方法。任何想法?

我需要在 Linux 的命令行输出中生成以下所有 AWS 区域的英文名称表。

'ap-northeast-1' => 'Asia Pacific (Tokyo)',
'ap-southeast-1' => 'Asia Pacific (Singapore)',
'ap-southeast-2' => 'Asia Pacific (Sydney)',
'eu-central-1'   => 'EU (Frankfurt)',
'eu-west-1'      => 'EU (Ireland)',
'sa-east-1'      => 'South America (Sao Paulo)',
'us-east-1'      => 'US East (N. Virginia)',
'us-east-2'      => 'US East (Ohio)',
'us-west-1'      => 'US West (N. California)',
'us-west-2'      => 'US West (Oregon)',
'eu-west-2'      => 'EU (London)',
'ca-central-1'   => 'Canada (Central)',
'sa-east-1'      => 'South America (Sao Paulo)',

我不是 Linux VM 的管理员,无法安装 Java。

3

UPDATE:AWS 最近更新了他们的文档站点,这导致此解决方案停止工作。我已经更新了的代码以使其再次工作。请记住,将来对 AWS 文档站点结构的任何更改都可能导致其无法再次工作。这只是一种解决方法。

基于 @ jarmod 的评论怎么样这样的事情:

Function:

从 AWS 文档中拉出 html 页面;将输出传递给下一个命令。

从输出中删除空行。

将 RegionName 代码与 html 中的一行匹配,并将接下来的 5 行传递给下一个命令。

找到具有该区域的人类可读名称的行。

将代码和名称打印在一行中。

示例代码(BASH):

function getAWSRegionName {
   tmp=$(wget -qO- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.partial.html | awk NF | awk -v pat="<p><code class=\"code\">$1" '$0 ~ pat {for(i=0;i<5;i++) {getline; print}}' | awk -F'[<|>]' '/<p>|<\/p>/ {print $3}'); 
   echo "$1 = $tmp"; 
}
for code in `aws ec2 describe-regions | awk -F'"' '/RegionName/{print $4}'`; do
        getAWSRegionName $code;
done
Result:

code-run-result

3

也遇到此问题,发现this AWS article说您可以使用 AWS Parameter Store 查询所有类型的数据。在使用 AWS CLI 挖掘一点后发现此解决方案

region=us-east-1
aws ssm get-parameter --name /aws/service/global-infrastructure/regions/$region/longName --query "Parameter.Value" --output text
1

尽管这有点老了,但我认为这个问题的正确答案是,需要生成一个包含区域及其英文名称的表,而不需要以文档格式进行中继,这个问题没有得到正确的解决。

#!/bin/bash
fmt="%-16s%-4s%-25s\n"
for i in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)
do 
  printf "$fmt" "'$i" "=>" "$(aws ssm get-parameter --name /aws/service/global-infrastructure/regions/$i/longName --query "Parameter.Value" --output text)',"
done
0

我有一个类似的问题,用的代码解决了这个问题:

REGION_TARGET=us-east-1
region_name=$(wget -qO- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html\#concepts-available-regions | awk NF | awk -v pat="<p><code class=\"code\">$TARGET_REGION" '$0 ~ pat {for(i=0;i<5;i++) {getline; print}}' | awk -F'[<|>]' '/<p>|<\/p>/ {print $3}');

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(786)
Cba许杰:Dijkstra的算法问题
上一篇
孩子学的编程是什么:词典学是什么意思 (meaning of lexicographic)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(18条)