J'utilise aws-cli version 1.7.8 pour obtenir la --query
sortie pour créer un enregistrement dérivé de plusieurs lignes. Dans ce cas, j'essaie d'obtenir des informations spécifiques de describe-instances
.
Dans la describe-instances
commande, nous obtenons des lignes / sections qui font référence à RESERVATIONS
, INSTANCES
et TAGS
.
Je peux simplement exécuter la nouvelle commande AWS CLI pour obtenir les informations des trois lignes individuellement:
Ligne RESERVATION:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'
Ligne INSTANCE:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'
Ligne TAG:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==
Nom]]'
Je peux exécuter ces 3 commandes et concaténer les résultats pour former 1 enregistrement.
Est-ce que quelqu'un sait s'il existe un moyen de l'exécuter en tant qu'une seule commande (au lieu de 3 commandes distinctes)?
J'ai essayé PIPE et d'autres formes de syntaxe, mais je ne suis pas encore en mesure de trouver une bonne solution.
Puis-je obtenir la sortie équivalente de ces 3 commandes à partir d'une seule commande?
la source
Réponses:
Cette commande imprime l'ID d'instance, l'ID AMI, les balises de clé et de valeur. Vous pouvez voir plus d'exemples ici: Contrôle de la sortie de commande à partir de l'interface de ligne de commande AWS
la source
Avec Windows (cmd.exe, cmder.exe, etc.), il faut utiliser des guillemets doubles (") au lieu de guillemets simples (') autour de la chaîne de requête. Sinon, la console imprime simplement le chemin dans la requête et ne fait même pas générer une erreur.
la source