[AWS CLI] aws lambda invoke を実行すると、Invalid base64: *** というエラーが出る場合の対処方法
作成日: 2021年05月05日
AWS CLI のバージョン 2 で aws lambda invoke
を実行するときに、Invalid base64: ***
というエラーが出る場合、--payload
オプションに base64 エンコードした文字列を渡していないことが原因である可能性があります。AWS CLI のバージョン 2 からは、blob 型で値を受け取るオプションは、base64 エンコードされた文字列とする必要があります。そのため、base64 エンコードして値を指定するか、一時的に base64 エンコードしていない値でも受け付けてくれるようにする --cli-binary-format raw-in-base64-out
オプションを追加します。
下記は base64 エンコードした値を渡すようにした例です。
aws lambda invoke --function example-function --payload `echo 'dummy' | base64` outfile.json
次に、下記は --cli-binary-format raw-in-base64-out
オプションを使う例です。
aws lambda invoke --cli-binary-format raw-in-base64-out --function-name example-function --payload 'dummy' outfile.json