问题标签 [aws-sdk-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
724 浏览

ruby-on-rails - Aws::S3::Errors::InvalidAccessKeyId(您提供的 AWS 访问密钥 ID 在我们的记录中不存在。)

在 Rails 6 应用程序上,我将 aws-sdk-s3 与 ActiveStorage 一起使用,并且我想上传图像。

脚步:

  • 我使用 S3FullAccess 在 AWS 上创建了一个 IAM 用户
  • 我配置了 storage.yml (见下文)
  • 我使用以下内容创建了一个 config/aws.rb 文件

这是我的配置

我有一个简单的模型:

在开发中一切正常,但在生产中却不行。

例如..

从控制台可以正确看到环境变量,所以我认为这不是配置问题......

我能做什么?


为了确保我有正确的 AWS 访问策略,我直接从控制台使用 API 上传了一个图像,如下所示:

并且文件已正确上传。

所以,我不明白为什么 ActiveStorage 不起作用......

0 投票
0 回答
56 浏览

ruby-on-rails - AWS Ruby SDK 中的无效配置选项 `:dynamodb' 错误

我有一个使用 AWS SDK 的 Ruby on Rails (ruby 2.5.3) 项目。有访问假 S3 Docker 实例的单元测试。此测试在进行 AWS S3 调用时会引发错误。

这是 Gemfile.lock 中的 AWS 开发工具包版本

`aws-sdk (3.0.2)

aws-sdk-dynamodb (1.60.0)`

代码:

错误:

这是 Dynamo DB 自定义测试端点的设置方式:

我可以打印“dynamodb”配置选项,并查看它是否有效。

输出:

我该如何调试这个问题?任何输入都会有所帮助。

0 投票
0 回答
43 浏览

ruby - aws ruby​​ sdk - 从 S3 读取一个相当大的文件

我正在尝试使用 ruby​​ sdk for aws 从 s3 读取大约 1.5GB 大小。S3 gem 是 - gem 'aws-sdk' ( https://github.com/aws/aws-sdk-ruby )

这里 most_recent_s3_object 类是 Aws::S3::ObjectSummary 当我这样做时,most_recent_s3_object.get我得到了破管错误。有没有办法让这个文件成为这个大小的一个整体?

0 投票
2 回答
410 浏览

ruby - aws-sdk-core/xml/parser.rb:74:in `set_default_engine': 找不到兼容的 xml 库),Ruby 版本 3.0.2

我有一个在 linux 服务器上运行的旧版 ruby​​ 守护程序脚本。在使用实例中升级所有 ruby​​ 和 gem 包版本时,守护程序脚本现在出错了。我在 irb 中遇到的同样错误

**

**

aws-sdk-core 版本:3.121.0

宝石列表的输出

**

**

宝石环境的输出

**

**

任何帮助将不胜感激。

0 投票
1 回答
9 浏览

ruby-on-rails - ruby-aws-sdk 记录在删除后仍然存在

我正在尝试通过键从 aws s3 中删除对象

我得到了成功的回应

但问题是记录仍然存在。我可以通过 url 访问它,或者尝试使用相同的响应再次删除。有什么我想念的吗?

0 投票
2 回答
188 浏览

amazon-web-services - 如何使用基于 Ruby 中的前缀和多个标签的过滤器更新生命周期配置?

我想将生命周期配置放入 S3 存储桶,其规则使用具有多个标签前缀的过滤器。

put_lifecycle_configuration如果过滤器只使用一个标签或一个前缀,我可以成功,但Aws::S3::Errors::MalformedXML (The XML you provided was not well-formed or did not validate against our published schema)如果我尝试使用 anand:来组合多个标签或一个标签和一个前缀,我会收到来自 AWS 的响应。

(编辑:根据Ermiya 的回答prefix:...and:Hash放在下面)

我究竟做错了什么?

这是我的规则:

以下是我如何使用它来放置生命周期配置:

配置:

  • 红宝石 2.6.6
  • aws-sdk-core 3.109.1
  • aws-sdk-s3 1.103.0

AWS 文档:S3 用户指南:生命周期配置示例

0 投票
1 回答
51 浏览

ruby - 将一个函数的输出转换为数组并将值输入到ruby中其他函数的变量中

对于 ruby​​ 编程逻辑之一,我试图将一个函数的字符串输出转换为数组,并且从数组必须将值提供给程序的其他函数中声明的变量

此输出应转换为数组并作为同一程序的单独函数中的值提供

这样 filter_pattern 的输出应该如下所示

0 投票
0 回答
15 浏览

ruby - 在 FluentD 中导入时无法识别“aws-sdk”

所以我试图在 fluentD 块中运行一些 ruby​​ 代码:

出于某种原因,它无法识别此处的“aws-sdk”模块。不断收到错误 '[error]: #0 cannot load such file -- aws-sdk path="aws-sdk" error_class=LoadError'

当我只创建一个 .rb 文件并将 #!/usr/bin/ruby 添加到文件顶部时,脚本运行良好。不知道为什么从 fluentD 内部无法访问 aws-sdk,但任何帮助将不胜感激!

0 投票
2 回答
70 浏览

ruby - 如何在 ruby​​ 中打印双引号

我试图在 AWS 控制台中为 Cloudwatch 指标过滤模式带来如下输出

对于我的一个具有以下功能的 ruby​​ aws sdk 脚本

但在 aws 控制台输出中,我可以看到如下输出,没有 w4 的 "(双引号)。

请帮我解决这个问题。

0 投票
2 回答
95 浏览

ruby-on-rails - Rails 6 - 根据用户角色允许/禁止文件下载 AWS S3 上的文件

我有一个 Rails 6 应用程序,注册用户(所有者)可以在 S3 上上传文件 -图像/视频,然后所有者可以向其他用户提供访问权限(邀请)以查看他们上传的内容。

有没有办法可以限制文件访问,以便只有所有者才能下载他上传的文件(图像/视频),从而对其他非所有者/受邀用户施加限制。. 视频/图像不应仅通过右键单击并轻松保存/下载它们来下载。

注意- 上传的文件还包括大型视频(mp4 和 HLS 流媒体),因此其他受邀用户可以查看它们但不能下载它,除非他们是所有者/上传者,因为文件来自 AWS Cloudfront 的视频和 S3,如果他们是图像。

关联的设置如下 -

不确定,什么是正确的方法,可以是 -

  • 如果文件被非所有者访问,则更新文件的 ACL 并使其只读?
  • 将所有上传的文件设为公开并禁用非所有者的公开访问,但这也将限制对文件的任何直接访问。

让我知道最适合这种方法的逻辑是什么。