ruby 在Heroku上使用Rails&searchkick gem安全地使用Amazon Elasticsearch(签名请求)。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在Heroku上使用Rails&searchkick gem安全地使用Amazon Elasticsearch(签名请求)。相关的知识,希望对你有一定的参考价值。

# config/initializers/elasticsearch.rb
# ensure you set AWS_ES_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
# change region as needed

require 'patron'
require 'faraday_middleware/aws_signers_v4'

# arguably this should be defined elsewhere
class AmazonElasticSearchClient
  def self.client
    return Elasticsearch::Client.new(url: ENV['AWS_ES_URL']) do |f|
      f.request :aws_signers_v4,
                credentials: Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']),
                service_name: 'es',
                region: 'us-west-2'
    end
  end
end

# for local development I run a local elasticsearch,
# so I only override the Searchkick.client in production environments
Searchkick.client = AmazonElasticSearchClient.client if Rails.env.production?
gem 'elasticsearch', '>= 1.0.15'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
gem 'patron'
gem 'faraday_middleware-aws-signers-v4'
gem 'searchkick'

以上是关于ruby 在Heroku上使用Rails&searchkick gem安全地使用Amazon Elasticsearch(签名请求)。的主要内容,如果未能解决你的问题,请参考以下文章

ruby 在Heroku上设置Puma和Rails

Ruby on Rails 中的 Sendgrid / 电子邮件发送问题(托管在 Heroku 上)

在 heroku 上安装 MaxMind GeoIP ruby​​ 库

ruby on rails Heroku 迁移错误

heroku 部署错误 ruby​​ on rails

您是不是使用 Heroku 编写 Ruby on Rails 应用程序?