問題タブ [jmespath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - 値の範囲を持つ JMESPath クエリ式
範囲を持つ以下のjsonがあります。ansible variable として使用される範囲から特定のエントリの json から値を取得しようとしています。
たとえば、JSON Query Filter を使用して ansible 変数として使用される json の下からのfolder
値を取得したいと考えています。server002
助けてください。
amazon-web-services - JMESPath フィルター用のツリーの下降
私が達成しようとしていること
を使用して、ルート ブロック デバイスのボリューム ID を抽出したいと考えていdescribe-instances
ます。
これまでに試したこと
aws ec2 describe-instances --filters "Name=tag:Backup,Values=True" --query 'Reservations[].Instances[].{Name: Tags[?Key==`Name`].Value | [0], Id: InstanceId, Block: BlockDeviceMappings[?DeviceName==RootDeviceName].Ebs.VolumeId, Test: RootDeviceName}'
機能していないもの
いくつかのこと:
Ebs.VolumeId
は の直系の子孫ではなく、 の子孫DeviceName
ですBlockDeviceMappings
。RootDeviceName
の子孫ではありませんBlockDeviceMappings
。
したがって、 を引っ張ってRootDeviceName
検索しようとするとVolumeId
、空白のフィールドが表示されます (Block: はテスト用であり、ケースとは関係ありません)。
最初の 2 つのフィールドは正しいです。
前もって感謝します!
amazon-web-services - AWS CLI コマンド / JMESPATH クエリに関する問題
以下のセクション「何が機能していないのか?」の CLI コマンド /JMESPATH クエリの問題を特定するのに、どなたか助けていただけませんか?
以下に示す PS JSON 出力は有効であり、出力を使用して、JMESPATH.org で JMESPATH クエリ部分をテストできます。
何が機能しますか?
1) aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[]
2) aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[].FromPort
3)aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[].IpProtocol
何が機能していないのですか?
1) aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[?IpProtocol=='tcp'].IpProtocol
2)aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[?FromPort=='22'].FromPort
JSON 出力
期待/実際の結果
aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[?IpProtocol=='tcp'].IpProtocol
結果
予想 - tcp、実際 - 結果を返さない
aws ec2 describe-security-groups --query SecurityGroups[?GroupId=='sg-0a26abc0a00000000'].IpPermissions[?FromPort=='22'].FromPort
結果
予想 - 22、実際 - 結果を返さない