私は昨年RoRアプリケーションを開発するコースにいました。アカウントのキーを使用してAWSを検索して結果を返すものを開発しました。今はAmazonを検索するたびに403エラーが発生します。Ruby on RailsアプリケーションはAWSにクエリできません - エラー403は禁じられています
キーを再作成しましたが、これをRailsコンソールで更新しましたが、役に立たなくなりました。私の資格情報を確認するにはどうすればいいですか?この問題を解決するために他に何ができますか?
私は昨年RoRアプリケーションを開発するコースにいました。アカウントのキーを使用してAWSを検索して結果を返すものを開発しました。今はAmazonを検索するたびに403エラーが発生します。Ruby on RailsアプリケーションはAWSにクエリできません - エラー403は禁じられています
キーを再作成しましたが、これをRailsコンソールで更新しましたが、役に立たなくなりました。私の資格情報を確認するにはどうすればいいですか?この問題を解決するために他に何ができますか?
私は、次のように設定/ロケール/下aws.ymlと呼ばれる新しい.ymlファイル内のキーの位置を設定します:
のように添付ファイルを持つモデルでdevelopment:
access_key_id: XXXXXXXXXXXXXX
secret_access_key: XXXXXXXXXXXXXXXX
s3_region: eu-central-1
test:
access_key_id: XXXXXXXXXXXXXXXX
secret_access_key: XXXXXXXXXXXXXXXX
s3_region: eu-central-1
production:
access_key_id: XXXXXXXXXXXXXXXX
secret_access_key: XXXXXXXXXXXXXXXX
s3_region: eu-central-1
そして:あなたは
s3_credentials: "#{Rails.root}/config/aws.yml",
だからあなたのモデルshoulにおける最終的な結果としてs3_credentialsを設定することができます
has_attached_file :img
あなたのビューで
has_attached_file :img,
styles: { :model_index => "250x350", :img_show => "325x475"},
storage: :s3,
url: ':s3_domain_url',
bucket: 'yourbucket',
s3_credentials: "#{Rails.root}/config/aws.yml",
path: "resources/:id/:style/:basename.:extension"
そして:
<%= @model.model_img.url(:img_show) %>
そしてそこにあなたはそれを持ってこのようになりdが!
これはs3_region:eu-central-1のためのものです。別のS3領域を選択した場合とは異なります。 – Crashtor
更新:ENVを使用してAmazonキーを取得するsecrets.ymlというファイルがあります。しかし、実際にこのファイルに直接キーを入力すると、それが動作します。私のアプリがそれらを使用するために、どのように環境変数としてキーを設定できますか? – Tensigh