1 AWS-Konsole → Dienste → Speicher → Paket mit S3 erstellen
Artikel | Eingabe / Auswahl |
---|---|
Paketname | ex: my-rails-app-first-bucket |
Region | :flag_jp:Tokio |
Zugangsrechte | Alle Kontrollkästchen sind deaktiviert |
Andere als die oben genannten | Standard |
2 Machen Sie einen Zugangsschlüssel Siehe unten https://tech-blog.s-yoshiki.com/entry/135
3 Erforderliche Gem-Installation
gem "aws-sdk-s3", require: false #Nachtrag
4 Geben Sie den Zugriffsschlüssel für S3 ein
$ EDITOR=vim rails credentials:edit
#Kommentar
aws:
access_key_id: #Kopieren Sie hier Ihre Zugangsschlüssel-ID
secret_access_key: #Kopieren Sie hier Ihren geheimen Zugangsschlüssel und fügen Sie ihn ein
-vi / vim operation- Starten Sie die Bearbeitung mit der i-Taste, beenden Sie die Bearbeitung mit esc, speichern Sie mit ZZ und beenden Sie Wenn Sie die Eingabe später bestätigen möchten
$ rails credentials:show
5 Ändern Sie das Speicherziel von Bildern in Heroku in Amazon S3
config/storage.yml
amazon:
#Die folgenden 3 Zeilen bleiben unverändert
service: S3
access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
#Ändern Sie die folgenden zwei Zeilen
region: ap-northeast-1 #Tokio
bucket: my-rails-app-first-bucket #Der Name des von Ihnen erstellten S3-Buckets
config/environmentas/production.rb
config.active_storage.service = :amazon #Wechseln Sie zu Amazon
6 Zum Schluss, was mit Heroku zu tun ist
$ 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
Kopieren Sie den Rails-Projekthauptschlüssel (Inhalt von config / master.key).
$ heroku config:set RAILS_MASTER_KEY=Fügen Sie hier den Hauptschlüssel ein
$ heroku run rails db:migrate
$ heroku open