公式のaws-cli バージョン2 Dockerイメージを使用していた時に、出力結果のjsonをjqに渡すとParse Errorになるのを調べたメモ
エラー内容
SecretsManagerの結果をjq
に渡そうとすると、Invalid numeric literal at line 1, column 2
が返ってきます
1 | $ docker run --rm -ti -v ~/.aws:/root/.aws amazon/aws-cli secretsmanager get-secret-value --secret-id my-secret-name | jq . |
調べた
公式ドキュメントに、 docker run --rm -it
となっているのでそのまま使っていたんですが、 -t
オプションを無くすとParseErrorは出なくなります
TTYについてはこちらの記事がとても詳しく参考になります
1 | // 例: run時に擬似端末を割り当てているかいないかの違い |
対処法
-t
をつけずに、aws-cli
を実行します
1 | $ docker run --rm -i -v ~/.aws:/root/.aws amazon/aws-cli secretsmanager get-secret-value --secret-id my-secret-name | jq . |