问题标签 [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.
ruby - 如何使用 aws-sdk-ruby --aws-sdk-iam,aws-sdk-core 获取 AWS 访问密钥和秘密密钥
我是aws和ruby的新手。我正在尝试使用 aws-sdk-ruby 获取访问密钥和密钥,因为出于安全原因,我们无法访问 AWS 控制台中的密钥。我尝试使用“get_federation_token”“使用 SAML 担任角色”来获取密钥,但没有成功。当我们使用 saml2aws 和 aws-federator 通过 CLI 登录 AWS 时,我尝试了这两种方法。我想复制它并获得能够成功连接的密钥。
ruby-on-rails - Searchkick AWS 凭证过期
我已经通过elasticsearch.rb
初始化器设置了以下 aws_credentials。
这在我第一次重新部署时工作正常,但 12 小时后,我的凭据过期,我最终遇到了一堆这些错误:
这是有道理的,因为我的一组凭据的到期时间似乎是 12 小时。Aws::InstanceProfileCredentials.new.expiration = 2020-02-13 21:36:30 UTC
鉴于我想继续轮换凭据,我如何让 Searchkick 为每个请求提取最新的凭据?
ruby - 使用 AWS Lambda 在 Ruby 中获取事件主体属性
所以我是 ruby 新手,我有一个简单的 REST API。
发布请求如下所示:
我的 lambda 处理程序如下所示:
我试图弄清楚如何存储message
,这是int
一个变量。
我试图做这样的事情但不起作用
ruby - S3 存储桶对象正在上传重复文件
我很难弄清楚为什么要上传重复的文件。这是正在发生的事情:
- 我们上传不同尺寸的照片(即 75 宽、300 宽、1920 宽等)。
- 上传成功,我可以在日志中看到没有创建两次照片。照片上传是按顺序运行的,但每次 S3 中都有两条 300 宽的记录。它只发生在那种尺寸的照片上,每次。
即使我运行一些代码来检查对象是否已经存在,也会为该特定宽度创建重复项。
这是 S3 类上传代码:
副本实际上是完全相同的。这不是 UI 故障,我可以在S3.bucket.objects.to_a
总结:每次上传重复 300w,即使所有大小都是一起上传的,每次都一致地复制一个特定文件。
有人有什么想法吗?
编辑
这是缓存被迭代和上传的代码:
这是记录缓存对象的输出caches = initial_cache_sizes.map {|cache| create_cache(cache)}
如您所见,只有一个 300 宽度的文件,但 S3 中存在两个。
amazon-web-services - Aws SDK Ruby - 配置 Faraday 时自动检索凭证
我喜欢使用 AWS 开发工具包,而无需指定在哪里可以找到凭证,它可以更轻松地在不同类型的凭证可用的多个环境中进行配置。
AWS SDK for Ruby 搜索凭证 [...]
有什么方法可以检索执行此操作以使用 AWS 配置 Faraday 的代码吗?为了配置法拉第,我需要类似的东西
现在,我希望像在 aws sdk v3 中那样“自动”选择此凭据。我怎样才能做到这一点 ?
(即 AWS SDK v3 中执行类似操作的代码在哪里
ruby-on-rails - 有没有办法使用 Ruby AWS sdk 缓存 KMS 数据密钥?
我正在使用带有 Rails 的 Ruby AWS 开发工具包。SDK 是否提供缓存 KMS 数据密钥的方法?我想减少对 KMS 的请求以提高应用程序性能。
amazon-web-services - Ruby:调用不存在
我正在使用 aws sdk 并想使用get_command_invocation 方法。这是我根据文档所拥有的:
使用puts
我确定该方法正在接收 command_id 和 instance_id,当我尝试在 aws 控制台上查看它们时,它们都存在。然而我一直遇到:
我究竟做错了什么 ?
mysql - Rails 不断要求为 MySQL 存储提供 AWS 凭证
我正在按照以下说明在 Debian 10 服务器(不是 AWS)上试用 Sharetribe 社区版:https ://github.com/sharetribe/sharetribe#installation
我被困在第 7 步,出现以下错误:
Aws::Sigv4::Errors::MissingCredentialsError:缺少凭据,请提供具有以下选项之一的凭据:
但是,Rails 知道我使用的不是亚马逊而是本地存储,因为我有以下两个设置:
更改这些设置后,我运行以下命令:
并得到以下输出:
添加 config/master.key 来存储主加密密钥:[已编辑]
将此保存在您的团队可以访问的密码管理器中。如果您丢失了密钥,包括您在内的任何人都无法访问使用它加密的任何内容。
创建配置/master.key
忽略 config/master.key 这样它就不会出现在 Git 历史记录中:
附加 .gitignore
新凭据加密并保存。
但运行后:
我得到上面的错误。
编辑:这里是 config/storage.yml。不知道我是否应该注释掉亚马逊部分
TLDR:我想将 Sharetribe 的数据库存储在它自己的服务器中,但尽管本地设置,Rails 仍不断要求 AWS/Amazon 凭证
amazon-s3 - S3 权限的 AWS EC2 实例配置文件不一致
背景:我正在编写一个自动部署脚本,以将 ruby on rails 应用程序部署到 EC2 实例上的 AWS,使用 S3 作为 ActiveStorage 的存储。我的脚本创建一个实例配置文件/角色,并在创建时将其附加到 EC2 实例。我的脚本使用 AWS 的 ruby sdk。
有时当我的脚本运行时,它运行良好(这告诉我我的配置是正确的)。有时它会抛出以下异常:
使用 t3a.micro 或 t3.micro 实例,我通常会在 10 次中成功 9 次。使用 t3a.nano 或 t3.nano 实例时,我通常有 10 次失败 9 次。
这些实例配置文件似乎最终一致,但我在文档中找不到任何内容。发生了什么事,我能做些什么来使这件事始终如一地成功?
谢谢你。
ruby-on-rails - 如何修复此错误 NameError: uninitialized constant AWS
所以我得到了这个错误: NameError: uninitialized constant which StackOverflow 说意味着它是无意升级的,但这不可能,因为我的版本是最高的,我在 gem 文件中有: gem "aws-sdk-s3",需要:错误的
它可能与初始化文件有关吗?这是构建日志中出错的地方:
这是 aws.rb 文件:
这是在 Heroku 方面: 在此处输入图像描述
我还不允许嵌入图像,所以只有链接。
好的,我将 aws.rb 文件更改为:
得到了这个:
我将 AWS gem 更改为: gem 'aws-sdk'
并从构建日志失败中获得此输出:
这是我的 storage.yml 文件的一部分:
在注释掉 aws.rb 初始化文件并将 storage.yml 更改为以下内容后:
并添加 Active Storage 构建包,我得到了这个:
最近我将 storage.yml 更改为:
警告:检测 rails 配置失败将 HEROKU_DEBUG_RAILS_RUNNER=1 设置为调试
警告:Aws.config.update({ region: 'eu-west-1', credentials: Aws::Credentials.new(ENV['S3_KEY:'], ENV['S3_SECRET']), })
S3_BUCKET = Aws::S3::Resource.new.bucket(ENV['S3_BUCKET'])