我已经通过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为每个请求提取最新的凭证?

最佳答案

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

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

关于ruby-on-rails - Searchkick AWS凭证到期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60211747/

10-11 06:25