tps*_*idt 2 amazon-web-services aws-cli aws-elb
我正在尝试获取某些 LoadBalancer 的 ARN,但我只知道 DNS 名称的前缀。
例如,aws elbv2 describe-load-balancers --query 'LoadBalancers[].DNSName[]'将打印我:
[
"services-green-********.elb.eu-central-1.amazonaws.com",
"services-blue-********.elb.eu-central-1.amazonaws.com"
]
Run Code Online (Sandbox Code Playgroud)
就像是
aws elbv2 describe-load-balancers --query "LoadBalancers[?DNSName=='services-green-*']"
Run Code Online (Sandbox Code Playgroud)
不起作用,因为不接受通配符,并且无法使用像 at ec2 命令这样的过滤器。
如何在不使用 jq 的情况下获取 ARN?
你可以试试这个;
aws elbv2 describe-load-balancers --query 'LoadBalancers[?contains(DNSName, `services-green-*`) == `true`][DNSName]'
Run Code Online (Sandbox Code Playgroud)
[DNSName]如果您想要完整的回复,您可以删除最后一个。或者替换DNSName为LoadBalancerArn;
aws elbv2 describe-load-balancers --query 'LoadBalancers[?contains(DNSName, `services-green-*`) == `true`][LoadBalancerArn]'
Run Code Online (Sandbox Code Playgroud)
就像 一样,如果您不想要完整的通配符但知道它是如何开始的,contains您可以尝试。starts_with
| 归档时间: |
|
| 查看次数: |
2313 次 |
| 最近记录: |