2017-05-19 105 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

神龛宝石不会允许另一个参数,它崩溃了..我现在使用回形针,但仍然有相同的问题 –