Gần nhất tôi có được là sử dụng các lệnh sau.
Lệnh này quản lý để liệt kê tất cả tên của các trường hợp.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Lệnh này quản lý để liệt kê tất cả địa chỉ IP riêng, id cá thể và TẤT CẢ các thẻ mà tôi không cần. Tôi chỉ cần tên.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
Tôi không chắc tại sao tôi không thể thực thi lệnh như thế này:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Lệnh này hoạt động nhưng nó hiển thị tất cả các tên Thẻ khóa.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Value []" làm bộ lọc cho Tên khóa Giá trị đầu ra chỉ có thể có sau aws-cli v1.3.0. Và tôi đang sử dụng kết hợp --filter và jq để có được đầu ra mà tôi muốn. Lệnh gần nhất là aws ec2 description-instance --filters Name = vpc-id, Values = vpc-e2f17e8b | jq '.Reservations []. Trường hợp [] | {PrivateIpAddress, InstanceId, Tags} 'Tôi chỉ cần biết cách tham chiếu Khóa thẻ = Tên bằng jq.