AWS CLI で「’str’ object has no attribute ‘get’」が発生するときの対処方法

2021.07.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

AWS CLI を実行すると'str' object has no attribute 'get'というエラーが表示されて、正常に結果が表示されません。 対処方法を教えてください。

$ aws s3 ls

'str' object has no attribute 'get'

どう対応すればいいの?

次の場所に保存されているプロファイル設定に誤りがないかご確認ください。

  • Linux & Macの場合:~/.aws/config
  • Windowsの場合:%USERPROFILE%\.aws\config

プロファイルは、AWS CLI コマンドに適用される設定ファイルで、誤った値や設定項目を登録すると、AWS CLI の実行時にエラーが発生します。そのため、プロファイル設定の誤りを修正してください。

誤りの原因はさまざまですが、よくあるのはインデント(空白)漏れです。 一例として、次のような設定では、4行目と5行目の先頭にはインデント(空白)が必要です。

[default]
region = ap-northeast-1
s3 =
max_concurrent_requests = 20
max_queue_size = 10000

# 正解
s3 =
  max_concurrent_requests = 20
  max_queue_size = 10000

参考資料