【问题标题】:AWS kinesis put record throwing invalid security tokenAWS kinesis 记录抛出无效的安全令牌
【发布时间】:2018-04-08 03:35:21
【问题描述】:

我有一个 nodejs aws 客户端,可以将记录放入 kinesis 流。我很确定我使用的凭据是有效的。但是我收到此错误:

error:   Error is  UnrecognizedClientException: The security token included in the request is invalid
    at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/json.js:43:27)
    at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/app/node_modules/aws-sdk/lib/request.js:671:14)

使用 aws-cli 也会返回类似的错误:

An error occurred (InvalidSignatureException) when calling the PutRecord operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

aws 配置列表显示正在使用的正确凭据。

除了提供访问密钥、秘密访问密钥和我应该提供的区域之外,还有什么?

【问题讨论】:

  • 检查您的 /.aws/credentials 中是否有您可能已配置并正在使用的凭据。
  • 是的,~/.aws/credentials 文件也有正确的凭据。

标签: node.js amazon-web-services amazon-kinesis


【解决方案1】:

问题在于 AWS 没有读取提供的凭据(即使脚本可以打印出凭据!)。我正在使用 docker 来运行这个脚本。改变了运动对象的形成方式和工作方式:

new AWS.Kinesis({
    accessKeyId: <AWS_ACCESS_KEY_ID>,
    secretAccessKey: <AWS_SECRET_ACCESS_KEY>,
    region: <AWS_REGION>,
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2021-06-22
    • 2021-04-23
    • 2020-07-07
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多