2017-05-19 132 views
0

我在Rails 5,Ruby 2.4.0中構建一個Web應用程序,並使用AWS-SDK Gem和神龕寶石。AWS S3桶端點故障

當我嘗試將圖像上傳到我的AWS Bucket時,目前收到此錯誤消息。

我在這裏驗證了我區:http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

enter image description here

我shrine.rb文件:

require "shrine" 
require "shrine/storage/s3" 
require "image_processing/mini_magick" 

s3_options = { 
    :access_key_id =>  ENV["AWS_ACCESS_KEY_ID"], 
    :secret_access_key => ENV["AWS_SECRET_KEY"], 
    :region =>    'ca-central-1', 
    :bucket =>    ENV["AWS_BUCKET"], 
} 

Shrine.storages = { 
    cache: Shrine::Storage::S3.new(prefix: "cache", **s3_options), 
    store: Shrine::Storage::S3.new(prefix: "store", **s3_options), 
} 

我在該地區的硬編碼,看它是否是也許是我的ENV的一個問題。但我得到了相同的結果。

我被困在如何進行這項工作,因爲每次我嘗試爲我的區域神龕尖叫設置一個端點並且說它的一個無效配置。

任何幫助在這裏將不勝感激!

+0

http://www.sitefinity.com/開發人員網絡/論壇/設置安裝/亞馬遜-S3 ---必須解決使用指定端點 – Adiii

+0

http://stackoverflow.com/questions/25027462/aws-s3-the-您正嘗試訪問必須解決的問題使用規格 – Adiii

+1

返回AWS控制檯並確認您確實在ca-central-1創建了存儲桶。 –

回答

1

據報道,shrine#163這個問題,這個問題似乎與指定:endpoint來解決:

require "shrine" 
require "shrine/storage/s3" 
require "image_processing/mini_magick" 

s3_options = { 
    :access_key_id =>  ENV["AWS_ACCESS_KEY_ID"], 
    :secret_access_key => ENV["AWS_SECRET_KEY"], 
    :region =>    'ca-central-1', 
    :bucket =>    ENV["AWS_BUCKET"], 
    :endpoint =>   ENV["AWS_ENDPOINT"] # <======= 
} 

Shrine.storages = { 
    cache: Shrine::Storage::S3.new(prefix: "cache", **s3_options), 
    store: Shrine::Storage::S3.new(prefix: "store", **s3_options), 
} 
+0

感謝您的回覆,我已經在github上打開了一個問題,但發現163的解決方案,我忘了關閉這個問題。 –

0

添加另一個PARAM:

:s3_host_name => s3.ca-central-1.amazonaws.com 
+0

神龕寶石不會允許另一個參數,它崩潰了..我現在使用回形針,但仍然有相同的問題 –