sitemap作成でハマったのでメモ。Herokuで動的なsitemapを作る一つの方法として、s3を使ったsitemap配信があります。ググれば、たくさんブログなどあるのですが、aws-sdkのバージョン2を使ったものがメイン。今回はaws sdk version3で構築してたのでAws::S3::Errors::AccessDenied: Access Denied
が出て時間を無駄に消費しました。
require 'aws-sdk-s3'
が必要なのはissueを漁ればわかりました。
#config/sitemap.rb require 'aws-sdk-s3' SitemapGenerator::Sitemap.sitemaps_host = "https://s3-ap-northeast-1.amazonaws.com/YOUR_BACKET/" SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new( "YOUR_BACKET", aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], aws_region: 'ap-northeast-1' )
Aws::S3::Errors::AccessDenied: Access Denied
ですが、s3のバケットをpublicにしていないと出ていました。なので、コンソールから下記を追加すればOK。