gpt4 book ai didi

ruby-on-rails - 在 Rails 3 Refinery CMS 应用程序中设置 s3 时遇到问题

转载 作者:行者123 更新时间:2023-12-03 16:20:37 25 4
gpt4 key购买 nike

我正在尝试将我的精炼 cms 图像存储到 Amazon s3,我正在遵循本指南:

http://refinerycms.com/guides/how-to-use-amazon-s3-for-storage

但我在这里被阻止:

There are a number of ways to set these with your credentials, including unix variables or settings them manually through Ruby using ENV.



我如何定义这些凭据。我是否放了类似:S3_KEY =>
我的environments.rb 文件中的“my_key”?我试过这个,但没有用。
我也试过这个:
AWS::S3::Base.establish_connection!(
:access_key_id => ENV['S3_KEY'] || 'key_goes_here',
:secret_access_key => ENV['S3_SECRET'] || 's3_secret_key_here',
)

无法弄清楚如何做到这一点。任何想法都非常感谢。

最佳答案

最安全的方法是将它们指定为环境变量,这样它们就不会包含在您的源代码中。如果您是唯一可以访问源代码的人,那么按照您的描述指定它们应该可以工作。

您可以在 ~/.bashrc 中指定它们

export S3_KEY=mykey
export S3_SECRET=mysecret

或者,如果您只是在本地进行测试,则可以将它们添加到您的 rails 命令中。
$ S3_KEY=mykey S3_SECRET=mysecret rails server

如果您不想/不能使用环境变量,另一种方法是使用 initializer to load credentials from a yml file : config/initializers/s3_credentials.rb
# Load AWS::S3 configuration values
#
S3_CREDENTIALS = \
YAML.load_file(File.join(Rails.root, 'config/s3_credentials.yml'))[Rails.env]

# Set the AWS::S3 configuration
#
AWS::S3::Base.establish_connection! S3_CREDENTIALS['connection']
config/s3_credentials.yml
development: &defaults
connection:
:access_key_id: AAAAAA_your-key-here
:secret_access_key: 4rpsi235js_your-secret-here
:use_ssl: true
bucket: project-development
acl: public-read

production:
<<: *defaults
bucket: project

关于ruby-on-rails - 在 Rails 3 Refinery CMS 应用程序中设置 s3 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com