大瀧隆太(431)167167件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。CLIバージョン1.3がリリースされました。Pipeline対応が目立ちますが、--queryオプションの強化が個人的にはインパクトが大きかったので、なにができるようになったのかと具体的な用例をご紹介します。バージョン1.3で追加された--queryオプションの機能では、まずは追加された機能を確認しておきましょう。functions)に追随するものです。CLIの出力結果の抽出・加工を--queryオプションに一本化することができるようになりました。...えーと、地味とか言わないでくださいw従来、--queryオプションはコマンドの出力項目(テーブル構造で言う「列」)を抽出するのみで、出力結果(テーブル構造で言う「行」)を絞りこむためには--filterオプションを別途指定するか、パイプラインで繋いでjqで処理していました。(参考エントリー)これを、--queryオプションのみで抽出を完結することができます。単一条件)では、フィルタから使い方と使用例を見ていきましょう。ParentNode[?<値1><演算子><値2>]フィルタは、ParentNode配下から演算条件を満たすノードのみを抽出します。従来は[]や、[*]というように、全ての子ノードを指定していたところに?から条件を指定するスタイルです。ノードもしくはリテラル(`で囲む)が指定でき、文字列、数値、Bool値、Nullで比較できます。詳細は、JMESPathのドキュメントを参照ください。利用例行ってみましょう。IP一覧の取得で、最初はフィルタなしです。IPのみをフィルタしてみます。複数条件の絞り込み)お次は応用編です。複数条件で絞り込みたいときには、[?〜]を続けて記述します。実はこの指定方法、どこかのドキュメントに載っているわけではなくいろいろ試行錯誤するうちに見つけた記法なので、もしかしたら使えなくなるかもしれません。どこかにオフィシャルの記述を見つけた方がいたら教えてください!ParentNode[?<値1><演算子><値2>][?<値1><演算子><値2>]では、例を。今度はRDSの一覧から。ryuta$ここから、Multi-AZは有効(true)なのに自動バックアップが無効(バックアップ保存件数が1よりも小さい)というDBインスタンスを抽出してみます。contains関数による文字列一致</h2><p>いろいろな関数が用意されて目移りしてしまいます。target="_blank">JMESPathのドキュメント</a>を参照ください。</p><ul><li>abs</li><li>avg</li><li>contains</li><li>ceil</li><li>floor</li><li>join</li><li>keys</li><li>length</li><li>max</li><li>max_by</li><li>min</li><li>min_by</li><li>not_null</li><li>sort</li><li>sort_by</li><li>to_string</li><li>to_number</li><li>type</li><li>values</li></ul><p>ここでは、contains関数と集計関数(length/max)の用例をご紹介します。</p><p>contains関数は、文字列一致をtrue/falseで返す関数です。CLIの悲願だったNameタグの検索に活用してみます。インスタンス一覧を示します。ryuta$では、contains関数でNameタグの一致を判定し、それをフィルタの条件に指定します。ryuta$え、難しすぎ?確かに、試行錯誤の跡が見えるクエリですよねwもっとスマートに書ける方法があれば、ぜひ教えてください!また、JMESPathのマニュアルには部分一致と書かれているのですが、試した限りでは部分一致ではひっかかってくれず完全一致のようです。集計関数length/max/avg集計に使える関数は、SQLの関数と同様の感覚で使えます。--queryオプションの中では、個別のノードに対しての実行と複数行での実行をうまく使い分けましょう。IPの数をlength関数で数えています。IPが多い場合の数と平均をmax関数、avg関数で求めてみます。CLIの--queryオプションの利用法を紹介しました。4,313,805ゲストブロガーです。株式会社ソラコムでソリューションアーキテクトやってます。クラウドの自動化やIoT周りについての記事を書きます。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。濱田孝治371re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹410こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。濱田孝治371re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。臼田佳祐296ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介256SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。