Korzystam z aws-cli w wersji 1.7.8, aby uzyskać dane --query
wyjściowe w celu utworzenia jednego rekordu pochodzącego z wielu wierszy. W tym przypadku staram się uzyskać określone informacje describe-instances
.
W describe-instances
poleceniu mamy linie / odcinki, które odnoszą się do RESERVATIONS
, INSTANCES
i TAGS
.
Jestem w stanie po prostu uruchomić nowe polecenie AWS CLI, aby uzyskać informacje ze wszystkich trzech wierszy indywidualnie:
REZERWACJA:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'
Linia INSTANCE:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'
Linia TAG:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==
Imię]]'
Mogę uruchomić te 3 polecenia i połączyć wyniki w jeden rekord.
Czy ktoś wie, czy istnieje sposób, w jaki mogę uruchomić to polecenie jako JEDEN (1) zamiast 3 różnych poleceń?
Próbowałem PIPE i innych form składni, ale jak dotąd nie jestem w stanie znaleźć dobrego rozwiązania.
Czy mogę uzyskać równoważne wyjście tych 3 poleceń z jednego polecenia?
źródło
Odpowiedzi:
To polecenie wydrukuje identyfikator wystąpienia, identyfikator AMI, tagi klucza i wartości. Możesz zobaczyć więcej przykładów tutaj: Kontrolowanie wyników poleceń z interfejsu wiersza poleceń AWS
źródło
W systemie Windows (cmd.exe, cmder.exe itp.) Należy używać podwójnych cudzysłowów („) zamiast pojedynczych cudzysłowów (') wokół ciągu zapytania. W przeciwnym razie konsola po prostu drukuje ścieżkę w zapytaniu i nawet nie wygenerować błąd.
źródło