无法使用回形针导轨上传到 S3 5.无效的配置选项:bucket

杰卡梅霍

一段时间以来,我一直在努力尝试配置回形针以将文件上传到我的 S3 帐户。

而当我尝试上传文件时,提示以下错误。

结构中没有成员“bucket”

无效的配置选项:bucket

通过我自己的研究并深入研究 aws-sdk,我发现 aws-sdk 与一个插件列表一起工作,每个插件都将一组特定的可配置字段添加到一个结构中,这个结构作为一个检查列表如果对象尝试添加不存在的选项,则会引发异常。出于某种原因,":bucket" 属性没有添加到该结构中。

我在 rails 5.1.2 中使用 aws-sdk (2.6.50) 和回形针 (5.2.1)

我在 application.rb 中的配置设置是

config.paperclip_defaults = {
  storage: :s3,
  s3_credentials: {
    bucket: ENV['S3_BUCKET_NAME'],
    access_key_id: ENV['AWS_ACCESS_KEY_ID'],
    secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
    s3_region: ENV['S3_REGION'],
    s3_host_name: ENV['S3_HOST_NAME']
  }
}

这是回溯的一部分。

block in Seahorse::Client::Configuration#apply_options
aws-sdk-core (2.6.50) lib/seahorse/client/configuration.rb, line 163
Seahorse::Client::Configuration#apply_options
aws-sdk-core (2.6.50) lib/seahorse/client/configuration.rb, line 161
Seahorse::Client::Configuration#build!
aws-sdk-core (2.6.50) lib/seahorse/client/configuration.rb, line 149
Aws::S3::Client#build_config
aws-sdk-core (2.6.50) lib/seahorse/client/base.rb, line 68
Aws::S3::Client#initialize
aws-sdk-core (2.6.50) lib/seahorse/client/base.rb, line 19
Aws::S3::Client.new
aws-sdk-core (2.6.50) lib/seahorse/client/base.rb, line 105
Aws::S3::Resource#extract_client
aws-sdk-resources (2.6.50) lib/aws-sdk-resources/resource.rb, line 169
Aws::S3::Resource#initialize
aws-sdk-resources (2.6.50) lib/aws-sdk-resources/resource.rb, line 15
Paperclip::Attachment#obtain_s3_instance_for
paperclip (5.2.1) lib/paperclip/storage/s3.rb, line 269
Paperclip::Attachment#s3_interface
paperclip (5.2.1) lib/paperclip/storage/s3.rb, line 263
Paperclip::Attachment#s3_bucket
paperclip (5.2.1) lib/paperclip/storage/s3.rb, line 273
Paperclip::Attachment#s3_object
paperclip (5.2.1) lib/paperclip/storage/s3.rb, line 281
Paperclip::Attachment#exists?
paperclip (5.2.1) lib/paperclip/storage/s3.rb, line 326
block in Paperclip::Attachment#queue_all_for_delete
paperclip (5.2.1) lib/paperclip/attachment.rb, line 569
Paperclip::Attachment#queue_all_for_delete
paperclip (5.2.1) lib/paperclip/attachment.rb, line 568
Paperclip::Attachment#clear
paperclip (5.2.1) lib/paperclip/attachment.rb, line 259
Paperclip::Attachment#assign
paperclip (5.2.1) lib/paperclip/attachment.rb, line 107

这就是它失败的方法。

aws-sdk-core (2.6.50) lib/seahorse/client/configuration.rb

  def apply_options(struct, options)
    options.each do |opt, value|
      begin
        struct[opt] = value
      rescue NameError
        msg = "invalid configuration option `#{opt.inspect}'"
        raise ArgumentError, msg
      end
    end

我检查了存储桶名称是否设置正确。

我事先感谢您的帮助。

谢谢!

杰卡梅霍

我发现了这个问题,我正在用里面的存储桶名称初始化 Aws 配置哈希(在回形针配置对象之外,因为我有 API 的其他用途),它似乎不太喜欢它。我将存储桶名称移动到 papeclip 默认对象中并且它起作用了!像这样的东西。

config.paperclip_defaults = {
  storage: :s3,
  s3_region: ENV['S3_REGION'],
  bucket: ENV['S3_BUCKET_NAME']
}

查看文档上的配置选项,它说:

您可以通过 Aws.config 配置默认凭据和区域。在版本 2 中,Aws.config 是一个普通的 Ruby 哈希,而不是版本 1 中的方法。Aws.config 哈希优先于环境变量。

需要'aws-sdk'

Aws.config.update({ region: 'us-west-2', 凭证: Aws::Credentials.new('akid', 'secret') })

这是基本配置,您可以在此处查找其他选项

https://docs.aws.amazon.com/sdkforruby/api/#Configuration_Options

我可以在这里给出的一个小建议是注意您使用哪个版本的 SDK 来阅读正确的文档。不久前,第 3 版出现了,我正在寻找的主题的结果出现了混合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

回形针/ S3的“缺少必需的:bucket选项”

来自分类Dev

在S3存储器上使用回形针下载和上传的不同URL

来自分类Dev

如何使用Python中的Boto检查文件是否已完成上传到S3 Bucket?

来自分类Dev

通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

来自分类Dev

无法使用JavaScript将文件上传到S3

来自分类Dev

将文件上传到S3时如何设置内容md5?

来自分类Dev

将5G文件上传到Amazon S3时出现EntityTooLarge错误

来自分类Dev

是否可以以不到5 MB的部分上传到Amazon S3?

来自分类Dev

Rails 4 SSL错误停止使用回形针直接进行s3上传

来自分类Dev

使用s3cmd工具将403 AccessDenied用于回形针附件上传到Amazon S3

来自分类Dev

使用Fastlane上传到S3

来自分类Dev

显示使用回形针导轨上传的文档

来自分类Dev

使用PHP s3类无法将视频文件上传到s3

来自分类Dev

回形针/ S3 / Ckeditor的“缺少必需的存储桶选项”

来自分类Dev

使用AdonisJS 5进行文件存储(S3)

来自分类Dev

Rails 4,回形针,Amazon S3配置Amazon路径

来自分类Dev

用S3和Cloudfront配置载波的导轨

来自分类Dev

用S3和Cloudfront配置载波的导轨

来自分类Dev

将图像上传到S3无法完成上传

来自分类Dev

Laravel + Plupload上传到S3响应以进行预检无效-CORS

来自分类Dev

无法使用CORS配置访问S3资源

来自分类Dev

使用C ++ Builder XE5中的CloudAPI尝试使用MultiPart上传到Amazon S3时出现错误10054和10053

来自分类Dev

S3回形针导轨无法显示图像

来自分类Dev

在PHP中使用md5验证S3上传成功

来自分类Dev

在PHP中使用md5验证S3上传成功

来自分类Dev

将文件从 AWS lambda 上传到 S3 时出现 MD-5 校验和错误

来自分类Dev

使用Scala从HTML5画布获取图像数据并将其上传到Amazon S3服务器

来自分类Dev

使用tinys3上传到Amazon S3

来自分类Dev

如何使用AWS资源安排'aws s3 sync s3:// bucket1 s3:// bucket2'?

Related 相关文章

  1. 1

    回形针/ S3的“缺少必需的:bucket选项”

  2. 2

    在S3存储器上使用回形针下载和上传的不同URL

  3. 3

    如何使用Python中的Boto检查文件是否已完成上传到S3 Bucket?

  4. 4

    通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

  5. 5

    无法使用JavaScript将文件上传到S3

  6. 6

    将文件上传到S3时如何设置内容md5?

  7. 7

    将5G文件上传到Amazon S3时出现EntityTooLarge错误

  8. 8

    是否可以以不到5 MB的部分上传到Amazon S3?

  9. 9

    Rails 4 SSL错误停止使用回形针直接进行s3上传

  10. 10

    使用s3cmd工具将403 AccessDenied用于回形针附件上传到Amazon S3

  11. 11

    使用Fastlane上传到S3

  12. 12

    显示使用回形针导轨上传的文档

  13. 13

    使用PHP s3类无法将视频文件上传到s3

  14. 14

    回形针/ S3 / Ckeditor的“缺少必需的存储桶选项”

  15. 15

    使用AdonisJS 5进行文件存储(S3)

  16. 16

    Rails 4,回形针,Amazon S3配置Amazon路径

  17. 17

    用S3和Cloudfront配置载波的导轨

  18. 18

    用S3和Cloudfront配置载波的导轨

  19. 19

    将图像上传到S3无法完成上传

  20. 20

    Laravel + Plupload上传到S3响应以进行预检无效-CORS

  21. 21

    无法使用CORS配置访问S3资源

  22. 22

    使用C ++ Builder XE5中的CloudAPI尝试使用MultiPart上传到Amazon S3时出现错误10054和10053

  23. 23

    S3回形针导轨无法显示图像

  24. 24

    在PHP中使用md5验证S3上传成功

  25. 25

    在PHP中使用md5验证S3上传成功

  26. 26

    将文件从 AWS lambda 上传到 S3 时出现 MD-5 校验和错误

  27. 27

    使用Scala从HTML5画布获取图像数据并将其上传到Amazon S3服务器

  28. 28

    使用tinys3上传到Amazon S3

  29. 29

    如何使用AWS资源安排'aws s3 sync s3:// bucket1 s3:// bucket2'?

热门标签

归档