json - Powershell 从 AWS 元数据中获取区域

标签 json powershell amazon-web-services amazon-ec2

我有一个 EC2 实例,我正在那里运行一个 Powershell 脚本,我想在其中获取运行 EC2 的区域。

目前我有这样的解决方法,它首先获取可用区。可用区的格式类似于“us-east-1a”。

$region = invoke-restmethod -uri http://169.254.169.254/latest/meta-data/placement/availability-zone 
if ($region -like "*east*") {$region = "us-east-1"} ELSE {$region = "us-west-2"} 

我只想获取区域,而不是获取可用区然后进行一些修改。我知道有可能使用:
http://169.254.169.254/latest/dynamic/instance-identity/document

这将返回一个包含该区域的 JSON 对象,但我还需要解析 JSON 来实现这一点。

我如何获得区域?

最佳答案

您可以使用 ConvertFrom-Json :

PS C:\> $region = (Invoke-WebRequest -UseBasicParsing -Uri http://169.254.169.254/latest/dynamic/instance-identity/document | ConvertFrom-Json | Select region).region

编辑:添加 -UseBasicParsing

关于json - Powershell 从 AWS 元数据中获取区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45823518/

相关文章:

amazon-web-services - 如何加快 AWS Fargate 上的部署?

amazon-web-services - 如何将Kubernetes中的默认Pod从110增加到250?

javascript - 解析JSON时如何防止删除小数点?

python - 从字符串中提取Python对象

json - 使用 BusyBox 工具解析 JSON

java - 集成java + php swagger

powershell - PowerShell中的陷阱错误无法按预期工作

amazon-web-services - cloudformation - 是否可以拆分字符串并分配给列表中的属性?

Azure - 从 EA 门户获取订阅列表及其状态

json - 为什么此字符串不在 PowerShell 中序列化为简单的 JSON 字符串