awscliの’ascii’ codec can’t encode characterを解決する
PR

awscliの’ascii’ codec can’t encode characterを解決する

エラーメッセージ 設定・構築・運用
記事内に広告が含まれています。
スポンサーリンク

設定内容の一覧を取得するときなど、awscliが便利な場面はいくつもあります。
awscliでCloudwatch Alarmの一覧を取得しようとしてエラーになったので、その解決方法を記しておきます。

スポンサーリンク
スポンサーリンク

日本語でdescriptionを書くとエラーになる?

どうやら、日本語を出力しようとしてエラーになるようです。

'ascii' codec can't encode character XXX

というエラーメッセージが出て、出力が途切れてしまいます。

スポンサーリンク

環境変数LC_ALLを設定する

ググってもなかなかまともな回答が見つからなかったのですが、ありました。

http://www.scalingbits.com/aws/CLI

環境変数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でロケールがよろしくなかったときのメッセージですね。覚えておくと、役立ちそうです。