RubyからAmazon Elasticsearchへの署名された安全なリクエストを作成できます。私はHerokuのアプリで次のことをしました。 elasticsearch-ruby/elasticsearch-transportから
gem 'faraday_middleware-aws-signers-v4'
例:
を使用すると、> =、このためのサポートとしてv1.0.15が唯一の12月4日あなたはまた、この宝石を必要とする、2015年
をelasticsearch宝石が実装されていましたしていることを確認します ドキュメント:
標準のファラデーミドルウェアとプラグインは、構成b次のコードで
:
require 'faraday_middleware/aws_signers_v4'
client = Elasticsearch::Client.new(url: ENV['AWS_ENDPOINT_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-east-1'
f.adapter Faraday.default_adapter
end
また、これはRailsのとsearchkick宝石と連携例えばAWS Elasticsearchサービスに対する要求に署名し、ロックします。上記の例を使用してSearchkick.clientをイニシャライザで設定します。
# config/initializers/elasticsearch.rb
require 'faraday_middleware/aws_signers_v4'
Searchkick.client = Elasticsearch::Client.new(url: ENV['AWS_ENDPOINT_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-east-1'
f.adapter Faraday.default_adapter
end
私はあなたの質問に答えましたか? – Somazx