質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

367閲覧

PowershellからAWS CLI「get-metric-data」コマンドを実行する際の変数展開の実現方法が分かりません

sy_pea

総合スコア1

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2023/10/31 14:05

編集2023/11/03 14:53

実現したいこと

PowershellスクリプトでAWS CLIコマンドを実行し、EC2インスタンスのメトリクスデータを取得したいです。
対象のEC2インスタンスは複数あるため、コマンドで使用する値に変数を埋め込みたいです。

前提

AWS CLIコマンドをPowershellから実行したいが変数の展開ができない

発生している問題・エラーメッセージ

Error parsing parameter '--metric-data-queries': Invalid JSON: Expecting property name enclosed in double quotes: line 3 column 5 (char 10)
JSON received: XX

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2023/10/31 16:45

aws cloudwatch ~~~ の前に echo を入れ、 echo aws cloudwatch ~~(以下そのまま)~~ を実行すると、実行しようとしているawsコマンドラインが表示されるので、それをよく見ると間違いが見つかるでしょう。
sy_pea

2023/11/03 14:57

ありがとうございました! echoで確認したところ、想定していた内容で記述できていませんでした。 変数展開についての基礎知識が不足していましたが、前提条件を確認し修正したところ正しく実行することができました。
otn

2023/11/04 08:08

普通は、最初からechoを入れて、想定通りのコマンドラインであればechoを取るというやり方でしょうね。 今回のような情報を参照するコマンドであれば、失敗してもやり直せば良いだけですが、 ファイル削除コマンドなど状態を更新するコマンドの場合は、「出来た(はずだ)から実行してみる」は非常に危険です。
guest

回答1

0

自己解決

Powershellで変数を展開する場合、「'」で囲ってはいけない。
そのため、クエリ文に変数が含まれる場合には「'」ではなく、「"」で囲う必要があったようです。

投稿2023/11/03 14:55

sy_pea

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問