将 json 传递到 AWS CLI 无效 JSON

Pass json into AWS CLI Invalid JSON

我有一个脚本可以添加一些自定义指标数据,它非常适合我将指标数据写入文件然后读取它:

aws cloudwatch put-metric-data --namespace "ec2" --metric-data file://metric2.json

但如果我有脚本,只需打印并像这样调用它:

aws cloudwatch put-metric-data --namespace "ec2" --metric-data $(python aws-extra-metrics.py)

我收到以下错误:

Error parsing parameter '--metric-data': Invalid JSON:

他们有什么办法解决这个问题吗?我不想每次都将它写入文件,因为这将是来自 cronjob 的 运行。

我们是运行ubunutu

python 脚本是否生成 json 文件?区别在于传递文件名和传递文件内容。

你可以试试:

python aws-extra-metrics.py > metric2.json && aws cloudwatch put-metric-data --namespace "ec2" --metric-data file://metric2.json

aws cloudwatch put-metric-data --namespace "ec2" --metric-data $(python aws-extra-metrics.py)

您可能需要在 python 脚本的调用周围加上引号