Tag: amazon web services

将Rails + Puma + Postgres应用程序部署到Elastic beanstalk的正确方法?

我有一个Rails 5 API,我试图在Elastic Beanstalk上正确部署。 这是我使用的初始config/puma.rb文件: threads_count = ENV.fetch(“RAILS_MAX_THREADS”) { 5 }.to_i threads threads_count, threads_count # Specifies the `port` that Puma will listen on to receive requests, default is 3000. port ENV.fetch(“PORT”) { 3000 } # Specifies the `environment` that Puma will run in. environment ENV.fetch(“RAILS_ENV”) { “development” } # Allow puma to be restarted by […]

如何将已存储在s3上的文件添加到由相同数据存储区支持的carrierwave?

我已经在我的s3中有文件,通过FTP上传,我只想将它们附加到我的模型,允许通过CarrierWave上传,如果我使用相同的存储桶存储我通过CarrierWave上传的文件我通过FTP上传的文件是否有办法将文件的s3密钥分配给(新)相关记录(通过模型),其中文件本身是通过CarrierWave的附件策略处理的?

rails中的AWS S3 – 如何设置s3_signature_version参数

我正在尝试设置Amazon Simple Storage Service以用于rails。 我收到此错误消息: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256. 问题是我选择了法兰克福S3区域,并且只支持V4方案。 这是与本文中相同的错误消息,它引导您到此处的解决方案,并指示如何“在构造客户端时将:s3_signature_version参数设置为:v4”。 命令是: s3 = AWS::S3::Client.new(:s3_signature_version => :v4) 我的问题是,我该怎么做? 我在哪里放这个代码? 编辑: 我尝试在carrier_wave.rb中输入:s3_signature_version => :v4 ,如下所示,但在上传到heroku期间,它说[fog][WARNING] Unrecognized arguments: s3_signature_version ,它没有任何区别,我仍然得到错误。 配置/初始化/ carrier_wave.rb: if Rails.env.production? CarrierWave.configure do |config| config.fog_credentials = { # Configuration for Amazon S3 :provider => ‘AWS’, :aws_access_key_id […]

适用于S3文件副本的AWS SDK v2 AllAccessDisabled错误

我正在切换到我编写的rails应用程序中的新aws-sdk,并且在我的生活中找不到在v2 sdk中使用相应的方法。 我也遇到访问被拒绝的问题,我无法解决。 我使用v1 sdk的方式是用户使用“uploads”命名空间密钥直接上传到s3,并且在创建他们正在处理的对象之后,回调将文件移动到longterm密钥并删除旧密钥。 这是一个例子: def move_file old_key = s3_key new_key = “#{self.class.table_name}/#{id}/#{Digest::SHA1.hexdigest([Time.now, rand].join)}/#{filename}” AWS.config(access_key_id: ENV[‘AWS_ACCESS_KEY_ID’], secret_access_key: ENV[‘AWS_SECRET_ACCESS_KEY’], region: ‘us-east-1’) s3 = AWS::S3.new bucket_name = ENV[‘AWS_S3_BUCKET’] bucket = s3.buckets[bucket_name] object = bucket.objects[old_key] begin object.move_to new_key, :acl => :public_read rescue AWS::S3::Errors::NoSuchKey errors.add(:base, “Oops! Something went wrong uploading your file. Please try again, and if the […]

适用于使用carrierwave上传图像文件的用户的s3权限

在Michael Hartl的The Rails Tutorial的第11章末尾,我成功地设法通过创建存储桶,使用IAM设置用户并授予用户AmazonS3FullAccess策略来启用用户上传到Amazons S3服务。 让我的网站上的未知用户可以完全访问我的网站上的图像上传桶并且我不确定我是否应该这样感觉,这感觉很脏并且非常不安全。 我创建了一个自定义策略 http://awspolicygen.s3.amazonaws.com/policygen.html 以下是: { “版本”:“2012-10-17”, “声明”:[ { “Sid”:“Stmt1445501067518”, “行动”:[ “S3:GetObject的”, “S3:PutObject” ] “效果”:“允许”, “资源”:“arn:aws:s3 ::: bucketname” } ] } 我对我的解决方案没有信心,也无法找到任何答案谷歌搜索最佳方式。 我正在使用carrierwave(有意使用carrierwave_direct用于我自己的项目),雾和mini_magickgem。

Mechanical Turk教程或操作指南

有没有人知道任何讨论整合亚马逊的Mechanical Turk和Rails的教程/资源? (除了亚马逊已经提供的那些资源) 谢谢!

部署到Elastic Beanstalk失败,出现“无法分配内存”错误

我构建了一个我想要部署到弹性beanstalk的rails应用程序。 我能够将其部署到我的AWS账户,但现在我想将其部署到我的客户账户。 出于某种原因,我在尝试部署它时遇到错误。 能够从头开始将它部署到我的帐户并能够将其部署到heroku,但每次我尝试将其部署到我的客户帐户时,我都会遇到一堆错误。 这两个帐户之间是否存在可能的设置? 我不明白为什么部署到这两个帐户会有所不同。 我尝试了所有可以找到的解决方案。 这是日志。 我不确定他们是否会有所帮助 gem ‘bootstrap-sass’ gem ‘autoprefixer-rails’ gem ‘puma’ group :development, :test do gem “letter_opener” gem ‘byebug’ end group :development do gem ‘web-console’, ‘~> 2.0’ gem ‘spring’ end group :production do # gem ‘pg’ gem ‘rails_12factor’ end + ‘[‘ -d /var/app/ondeck/vendor/cache ‘]’ + bundle install Don’t run Bundler as […]

在Rails应用程序中使用CarrierWave和Amazon Elastic Transcoder

我之前在Stack Overflow上问了两个额外的问题,但得到了很少的帮助,我想我会问一个未解决的后代问题。 我花了一些时间来解析AWS-SDK API文档,但很少直接找到我的需求。 我也在AWS论坛上发布过,但未能在那里得到很好的回复。 一个简单,全面,循序渐进的解决方案似乎无法找到。 我完成了什么: 使用CarrierWave直接上传到s3。 我按照Railscast#383进行了调整,并根据我的需要进行了调整。 我能够从我的s3存储桶中“检索”我的文件。 关于我到目前为止所做的事情的详细信息: 我使用Carrierwave-Direct直接上传到s3(这利用雾来处理直接上传到s3)。 使用Sidekiq在后台作业中处理上载。 将文件放入存储桶后,我只需通过迭代用户上传来检索它,然后通过上传的URL从s3调用该文件。 这是我迷路的地方: 我需要使用AWS提供的Elastic Transcoder对video进行转码。 我需要从输出桶中调出上传/转换的video。 如何链接到“output-bucket”中的URL? 它是新的url引用还是url与原始“上传url”保持一致? 我需要将转码器中的转码video集成到Cloudfront并使用JWPlayer显示它们。 如何在后台将API代码集成到我的上传过程中? 这是我到目前为止的代码: 我的上传者: class VideoUploader < CarrierWave::Uploader::Base include CarrierWaveDirect::Uploader end 我的初始化程序处理s3细节: CarrierWave.configure do |config| config.fog_credentials = { provider: ‘AWS’, aws_access_key_id: ‘AWS_ACCESS_KEY_ID’, aws_secret_access_key: ‘AWS_SECRET_ACCESS_KEY’, region: ‘us-west-1’} config.fog_directory = ‘video-input’ config.fog_public = false # optional, defaults […]

在ec2上托管导轨

我想在亚马逊ec2上部署导轨。 我看过poolparty和ec2onrails,但似乎都不再维护了。 人们用这个来做什么? 这都是自制的木偶和卡皮斯特拉诺还是有一个项目可以让我走?

如何构建用于查询Redshift数据库的前端(希望使用Rails)

所以我有一个带有足够表的Redshift数据库,我觉得值得花时间构建一个前端,以便比仅仅输入SQL命令更容易查询它。 理想情况下,我可以通过将数据库连接到Rails应用程序来实现这一点(因为我对Rails有一些经验)。 我不知道如何将远程Redshift数据库连接到本地Rails应用程序,或者如何使activerecord与redshift一起工作。 有没有人有任何建议/资源来帮助我开始? 如果预先制作的选项比Rails更容易,我可以选择将Redshift数据库连接到前端。