設定内容の一覧を取得するときなど、awscliが便利な場面はいくつもあります。
awscliでCloudwatch Alarmの一覧を取得しようとしてエラーになったので、その解決方法を記しておきます。
日本語でdescriptionを書くとエラーになる?
どうやら、日本語を出力しようとしてエラーになるようです。
'ascii' codec can't encode character XXX
というエラーメッセージが出て、出力が途切れてしまいます。
環境変数LC_ALLを設定する
ググってもなかなかまともな回答が見つからなかったのですが、ありました。
AWS Command Line Interface (CLI): Best Practises | Scalingbits
Use an UTF locale when using AWS CLI on Unix/Linux There are AWS strings which can be coded in Unicode. These are at lea...
環境変数LC_ALLにen_US.UTF-8を設定すると。
awscliのdocker imageを使うと、
docker run -v /$(pwd)/.aws:/root/.aws:ro -e LC_ALL=en_US.UTF-8 amazon/aws-cli --profile プロファイル名 ...
みたいになるでしょう。
日本語だと、ja_JP.UTF-8って設定するのが適切かもしれません。Descriptionは気にしなかったので、en_USでやってしまいました。
ロケールは鬼門
このエラーメッセージ、Pythonでロケールがよろしくなかったときのメッセージですね。覚えておくと、役立ちそうです。
コメント