S3にファイルをアップロードしようとしたときに、
「AccessControlListNotSupported」
とエラーが発生してアップロードに失敗したときの対処方法を説明したいと思います。
このエラー、アップロードするときにACL(AccessControlList)の変更など、ACLに関する設定をしようとしたときに、S3のバケット側でACLの変更が許可されていない場合に発生します。
なのでS3のバケットで設定を変更してあげることで解消することができます。
AWSのコンソールから、S3 → 対象のバケット → 「アクセス許可」タブ に「オブジェクト所有者」という設定があるので、そこの「編集」をクリックします。
オブジェクト所有者の編集画面を表示すると、「ACL無効(推奨)」という方にチェックが付いている状態だと思います。
(AWSの推奨としてはACL使うよりポリシーでいろいろやってねって事らしいです)
このままだとACLが使えないので、「ACL有効」にチェックを入れて「変更の保存」をクリックします。
この設定を変更することでACLを設定変更することができるようになるので、この状態で再度先ほどエラーの発生したS3のバケットへファイルのアップロードすると、無事ファイルがアップロードできるようになると思います。
コメント