Closed3

opensearch-aws-sigv4でOpenSearchの操作をする

shmokmtshmokmt
require 'opensearch-aws-sigv4'
require 'aws-sigv4'
require 'aws-sdk-core'


host = 'https://example.com'

signer = Aws::Sigv4::Signer.new(service: 'es',
                                region: 'ap-northeast-1',
                                credentials_provider: Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
                                                                           ENV['AWS_SESSION_TOKEN']))

client = OpenSearch::Aws::Sigv4Client.new({
                                            host:,
                                            log: false
                                          }, signer)

client.indices.delete(index: :test)

サンプルコードのイメージとしては上記のような感じ。

手元で動かしたときの各gemのバージョンを以下の通り。

* aws-sdk-core (3.190.1)
* opensearch-aws-sigv4 (1.2.1)
* aws-sigv4 (1.8.0)
shmokmtshmokmt

スナップショット周りの操作などはユーザガイドに書かれていないものの一応対応されている。
該当の箇所のコードとそのテストケースを照らし合わせながら、どの引数が必要か読み取りながら書くしかなさそう。

https://github.com/opensearch-project/opensearch-ruby/blob/97fac2ab816fc4bf2db1141f4eef5ded08c8bd9e/lib/opensearch/api/actions/snapshot/restore.rb
https://github.com/opensearch-project/opensearch-ruby/blob/97fac2ab816fc4bf2db1141f4eef5ded08c8bd9e/spec/opensearch/api/actions/snapshot/restore_spec.rb

このスクラップは2024/01/05にクローズされました