我正在尝试获取某个LoadBalancer的ARN,我只知道该域名的前缀。
例如,aws elbv2 describe-load-balancers --query 'LoadBalancers[].DNSName[]'将打印我:
[
"services-green-********.elb.eu-central-1.amazonaws.com",
"services-blue-********.elb.eu-central-1.amazonaws.com"
]就像这样
aws elbv2 describe-load-balancers --query "LoadBalancers[?DNSName=='services-green-*']"是不起作用的,因为通配符不被接受,并且不可能像在ec2 commands那样使用过滤器。
如何才能在不使用jq的情况下获得ARN?
发布于 2020-07-22 04:48:35
你可以试试这个;
aws elbv2 describe-load-balancers --query 'LoadBalancers[?contains(DNSName, `services-green-*`) == `true`][DNSName]'如果您想要完整的响应,可以删除最后一个[DNSName]。或者用LoadBalancerArn替换成DNSName;
aws elbv2 describe-load-balancers --query 'LoadBalancers[?contains(DNSName, `services-green-*`) == `true`][LoadBalancerArn]'就像contains一样,如果你不想要完整的通配符,但又知道它是如何开始的,你可以尝试starts_with。
https://stackoverflow.com/questions/63019415
复制相似问题