在Rails 6应用程序中,我需要将Active Storage与S3 compatible object storage provided by Exoscale配合使用。
第一次尝试使用以下storage.yml
exo:
service: S3
endpoint: https://sos-bg-sof-1.exo.io/
access_key_id: ENV['KEY']
secret_access_key: ENV['SECRET']
region: bg-sof-1
bucket: testbucket
它尝试将文件存储在https://testbucket.sos-bg-sof-1.exo.io/...
。但是,在Exoscale SOS上,文件存储在https://sos-bg-sof-1.exo.io/testbucket/...
。
因此,我尝试按如下方式更新配置
exo:
service: S3
endpoint: https://sos-bg-sof-1.exo.io/testbucket
access_key_id: ENV['KEY']
secret_access_key: ENV['SECRET']
region: bg-sof-1
bucket: ""
这会生成错误,因为存储桶不能为空。
是否有一种方法可以将活动存储器与'https://ENDPOINT/BUCKET/...'格式的URL一起使用?
1条答案
按热度按时间0yg35tkg1#
在SOS(以及AWS S3)中,https://sos-bg-sof-1.exo.io/testbucket/object1等同于https://testbucket.sos-bg-sof-1.exo.io/object1。
前者被称为“路径样式”,而后者被称为“虚拟托管”,通过“路径样式”访问现在被认为是过时的。
如果要强制使用路径样式,可以将参数
force_path_style
设置为true