Heroku+ActiveStorage+Amazon S3
품목
입력・선택
패킷 이름
ex: my-rails-app-first-bucket
지역
도쿄
액세스 권한
체크란 모두 off
상기 이외
기본
2 액세스 키 만들기
아래 참조
htps : // / ch-b ぉg. s-좋아. 코m/엔트리/135
3 필요한 Gem 설치
gem "aws-sdk-s3", require: false #追記
4 S3에 대한 액세스 키 입력
$ EDITOR=vim rails credentials:edit
# コメントアウトを解除する
aws:
access_key_id: #ここに自分のアクセスキーIDをコピペ
secret_access_key: #ここに自分のシークレットアクセスキーをコピペ
-vi/vim 조작-
i 키로 편집 시작, esc로 편집 종료, ZZ로 저장하고 종료
나중에 입력을 확인하고 싶을 때
$ rails credentials:show
5 Heroku에서 이미지 저장 위치를 Amazon S3로 변경
config/storage.yml
amazon:
# 以下3行はそのまま
service: S3
access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
# 以下2行は変える
region: ap-northeast-1 #東京
bucket: my-rails-app-first-bucket #自分で作成したS3のバケットの名前
config/environmentas/production.rb
config.active_storage.service = :amazon #amazonに変更
6 마지막으로 Heroku에서 할 일
$ heroku buildpacks:add -i 1 https://github.com/heroku/heroku-buildpack-activestorage-preview
$ git add .
$ git commit -m "added s3 to production"
$ git push heroku master
Rails 프로젝트의 마스터 키 (config/master.key 내용)를 복사합니다.
$ heroku config:set RAILS_MASTER_KEY=マスターキーをここに貼り付け
$ heroku run rails db:migrate
$ heroku open
-응용편-
ActionText를 사용하는 경우 S3에서 S3 → 패킷 → 액세스 권한 → Cross-Origin Resource Sharing (CORS)로 이동합니다. CORS를 설정할 필요가 있다.
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"URL"
],
"ExposeHeaders": []
}
]
Reference
이 문제에 관하여(Heroku+ActiveStorage+Amazon S3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryota-0906/items/a1be860e7e8f840c1bf5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)