Tag: amazon web services

在AWS EC2上安装Ruby 2.0和Rails 4.0.0beta

在默认的Amazon EC2 Linux安装(Amazon Linux AMI 2012.09.1)上安装Ruby 2.0.0和Rails 4.0.0beta1顺利进行。 但openssl阻碍了(例如http://railsapps.github.com/openssl-certificate-verify-failed.html )并且很奇怪阻止openssl安装或导致RubyGem包管理器安装rails。 我该如何解决这些问题?

从AWS EC2实例发送电子邮件(SES是强制性的?)

我写这篇文章只是为了看看我是否可以对AWS EC2实例中的电子邮件发送概念做出一些澄清。 这与其他post相关Rails不会在AWS上发送电子邮件 我正在开发一个向客户发送电子邮件的Rails应用程序(例如确认或信息电子邮件)。 我不确切知道哪个电子邮件服务正在使用Rails。 我没有安装任何特定的gem。 但是电子邮件已经在开发环境(Ubuntu)中完美发送。 当我部署到我的生产环境(AWS EC2实例)时。 此function无效。 您可以在我上面提供的post中看到错误详细信息。 该错误与某些smtp connection refused 。 所以,我已经阅读了其他一些post,但我很困惑。 是否必须使用AWS SES服务才能从EC2实例发送电子邮件? 或者它只是与安全凭证相关的问题(也许我只需要打开smtp 25端口)。 我是否需要安装任何电子邮件客户端或服务器?

如何在Amazon OpsWorks上运行Redis以获取Rails应用程序?

我正在尝试在Amazon OpsWorks环境中设置Redis实例/图层以用于缓存目的和Sidekiq,但不能使Rails应用程序与Redis通信。 无论如何,我都需要厨师食谱吗? 我试图在一个分离的层上创建Redis,在这个层中添加了一个实例,但找不到相互之间进行Rails和Redis通信的方法。 有什么建议怎么做? 谢谢

Rails:如何从哈希中提取值? (亚马逊API /真空吸尘器)

如何从散列的Amazon Products API响应中提取标题,URL和图像的值(下面评论的部分)? 我正在使用Vacuum与亚马逊互动。 显然我不能使用map作为Vacuum::Response只接受to_h ? 目前获得 : can’t convert String into Integer main_controller.rb : class MainController < ApplicationController def index request = Vacuum.new('GB') request.configure( aws_access_key_id: 'ABCDEFGHIJKLMNOPQRST', aws_secret_access_key: '’, associate_tag: ‘lipsum-20’ ) params = { ‘SearchIndex’ => ‘Books’, ‘Keywords’=> ‘Ruby on Rails’, ‘ResponseGroup’ => “ItemAttributes,Images” } raw_products = request.item_search(query: params) hashed_products = raw_products.to_h # NOT […]

在EC2上部署Rails应用程序

在过去的一周里,我一直在玩橡胶gem,似乎无法让它发挥作用。 我已经决定手动设置我的EC2实例会更容易。 问题是我不知道怎么做。 谷歌也没有为新手提供太多帮助。 有什么建议? 真的很感激。

Heroku的神秘短暂文件系统不让我从S3获取文件

所以,我几天来一直在努力解决这个问题… 我需要从S3获取一个文件并将其写入Heroku上我的Rails应用程序中的目录。 我必须对Heroku上的短暂文件系统有误解,因为我无法弄清楚它为什么不起作用。 我正在运行s3.bucket(‘bucket’).object(‘file.csv’).get(response_target: ‘file.csv’)从S3获取文件并将其写入我的应用程序。 最初我只是编写了一个.rb来执行此操作并使用Heroku Scheduler运行它,但无济于事。 然后我将脚本转换为rake任务并再次在scheduler上运行,但无济于事。 我可以在我的开发环境中完美地运行.rb脚本和rake任务。 在阅读了这篇以及关于短暂文件系统如何工作的内容之后, 我认为该任务实际上正在工作,但是当我在heroku run bash使用ls时,文件被破坏(或实际上是在那里但我看不到它?) 。 有人可以解释一下我的情况吗? 如果我在Heroku上从S3写入我的应用程序获取文件的努力是徒劳的? 如果还有其他选择吗? 如果我在此之后无法理解,那么我将在EC2中设置我自己的环境。

如何在Amazon Elastic Beanstalk上部署rails项目时自动重启delayed_job?

我正在Amazon Elastic Beanstalk上托管一个rails项目,我尝试配置一个容器命令,以便在每次部署后自动重启服务器上的delayed_job worker。 我试过这个: container_commands: restartdelayedjob: command: “RAILS_ENV=production script/delayed_job –pid-dir=/home/ec2-user/pids start” cwd: /var/app/current 但是,似乎在重新启动worker之后部署了推送版本,因此作业无法处理作业。 当我通过ssh连接我的实例时,杀死工作进程并从已部署的版本文件夹重新启动一个新进程,一切正常。 你对我如何处理这个有什么想法吗? 谢谢

Paperclip不保存在数据库中

我使用以下gem: ‘paperclip’ ‘aws-sdk’, ‘~> 2.3’ 我想将图像保存到S3,但无法让它们保存。 模型/ user.rb class User ‘, square: ‘200×200#’, medium: ‘300×300>’ } # Validate the attached image is image/jpg, image/png, etc validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/ end 移民 class AddAvatarToUsers < ActiveRecord::Migration[5.1] def self.up add_attachment :users, :avatar end def self.down remove_attachment :users, :avatar end end 控制器/ users_controller.rb class UsersController < ApplicationController […]

AWS SNS – 推送GCM显示为从Cloudwatch发送但未在移动设备中收到

我正在从自定义推送通知迁移到AWS SNS。 我做了以下。 配置AWS SNS主题 创建平台应用程序 创建了端点 已终止平台应用程序的端点 我正在尝试使用Ruby的’publish’API推送通知的最后一步。 我收到message_id作为回复。 它还会在CloudWatch中记录成功/交付。 但是设备中没有收到Push。 设备有效设备具有设备已安装应用程序的有效推送令牌。 我试过的消息格式如下 {“GCM”=>{“data”=>”{\”message\”:\”message\”,\”url\”:\”url\”}”}, :default=>”default”} SNS发布API语法 client.publish({target_arn: endpoint_arn, message: message.to_json, subject: “SNS test”, message_structure: :json}) 仅供参考,在将此标记为任何其他问题的副本之前,请注意我已经提及了之前的所有答案,没有任何帮助。 因此,我正在筹集一个新的。

s3如何计算签名

我无法弄清楚签名需要什么。 我看到一些使用hex的例子,其他我看到使用base64。 哪一个? Base64.encode64(OpenSSL::HMAC.digest(‘sha256’, getSignatureKey, @policy)).gsub(/\n|\r/, ”) 要么: OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new(‘sha256’), getSignatureKey, @policy).gsub(/\n|\r/, ”)