'str' object has no attribute 'get'

  • 0
    いいね
  • 0
    コメント

    事象

    aws cliでs3コマンドを実行するとタイトルのエラー。

    
    $ aws s3 ls
    
    'str' object has no attribute 'get'
    

    原因

    .aws/configのs3署名バージョン部で改行が入っていない。

    (誤)

    
    $ cat .aws/config
    [default]
    output = json
    region = ap-northeast-1
    s3 = signature_version = s3v4
    

    (正)

    
    $ cat .aws/config
    [default]
    output = json
    region = ap-northeast-1
    s3 =
          signature_version = s3v4
    

    ※[]内は各々で定義したprofile名です。

    IAM権限が足りない場合(s3:ListBucketが無い)でも同様のエラーが発生しました。

    切り分けのためにpython、boto、aws cliのバージョンやIAMを見て少し長引いたため共有です。