PowerShellでaws cliを使用し、作成日を絞ったS3のバケットリストを取得したい

0

Windows PowerShellでaws cliを使用し、作成日でフィルタリングしたS3のバケットリストを取得したいです。
例)作成日2023/8/4以前に作成したバケットの一覧を取得
ただ、こちらバッチ処理の一部で取得したいと考えており、作成日はコマンドで取得後、変数に格納することを考えております。 具体的には以下のコマンドで一覧取得考えているのですが、どうしてもうまくいきません。

$date = ((get-date).AddDays(-1)).ToString("yyyy-MM-dd")
aws s3api list-buckets --query 'Buckets[?CreationDate <= `${date}`]' --output json

コマンドライン2行目の「${date}」部を「2023-08-04」と数字ベタ打ちするとリスト取得はできるので、変数が上手く反映されていないんだろうと検討はつくのですが、具体的にどのように日付取得すべきなのでしょうか。
aws cliというより、jmespathの記述方式について…のような気もしてしまうのですが、もしご存じの方いらっしゃったらご教示いただけますと幸いです。

質問済み 9ヶ月前621ビュー
1回答
1
承認された回答

以下のようにすると動くと思います。
バッククォートだとエスケープとかになってしまっているのではないかと思います。

aws s3api list-buckets --query "Buckets[?CreationDate <= '$date']" --output json
profile picture
エキスパート
回答済み 9ヶ月前
  • ご回答ありがとうございます。 ご教示いただいた表記で試したところ、無事動きました。 バッククォートだと確かに「$はパラメータとして認識しません……」といった感じのエラーメッセージ出ていたので、エスケープされてしまっていたんだと思います。 ご教示いただき、ありがとうございます。助かりました。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン