Searchkick AWS凭证到期

时间:2020-02-13 15:50:09

标签: ruby-on-rails amazon-web-services elasticsearch searchkick aws-sdk-ruby

我已经由elasticsearch.rb初始化程序设置了以下aws_credentials。

  Searchkick.aws_credentials = {
    credentials: Aws::InstanceProfileCredentials.new.credentials,
    region: 'us-west-2',
  }

当我第一次重新部署时,这种方法很好,但是在12个小时后,我的凭据过期了,结果出现了一些错误:

Elasticsearch::Transport::Transport::Errors::Forbidden ([403] {"message":"The security token included in the request is expired"})

鉴于我的一组凭据似乎已过期12小时,因此这是有道理的。 Aws::InstanceProfileCredentials.new.expiration = 2020-02-13 21:36:30 UTC

鉴于我想继续轮换凭证,如何让Searchkick为每个请求提取最新的凭证?

1 个答案:

答案 0 :(得分:0)

传递整个Aws::InstanceProfileCredentials可以解决此问题

  Searchkick.aws_credentials = {
    credentials: Aws::InstanceProfileCredentials.new,
    region: 'us-west-2',
  }