错误:请求中包含的安全令牌无效 - AWS DynamoDB

Ama*_*day 5 javascript amazon-s3 amazon-web-services amazon-dynamodb

该文件存储在.js脚本中并位于 AWS S3 中。

AWS.config.update({
  region: "us-west-2",
  //endpoint: 'dynamodb.us-west-2.amazonaws.com',
  accessKeyId: "name",
  secretAccessKey: "pass"
});

var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
    TableName : "table_name",
    ProjectionExpression:"company, link, budget",
    KeyConditionExpression: "company = :Adidas"
};
dynamodb.query(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});
Run Code Online (Sandbox Code Playgroud)

我试图从 DynamoDB 获取数据,但得到的是:

错误:请求中包含的安全令牌无效。在Request.extractError(aws-sdk.js:96980)在Request.callListeners(aws-sdk.js:98762)在Request.emit(aws-sdk.js:98736)在Request.emit(aws-sdk.js: 97899)在Request.transition(aws-sdk.js:97626)在AcceptorStateMachine.runTo(aws-sdk.js:101148)在aws-sdk.js:101160在请求。(aws-sdk.js:97642)在请求。(aws-sdk.js:97901)在Request.callListeners(aws-sdk.js:98772)“UnrecognizedClientException:请求中包含的安全令牌无效。在Request.extractError(https://cdnjs.cloudflare.com/ ) ajax/libs/aws-sdk/2.22.0/aws-sdk.js:96980:27 ) 在 Request.callListeners ( https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws -sdk.js:98762:20 ) 在 Request.emit ( https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:98736:10 ) 在 Request.emit (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97899:14)在Request.transition(https://cdnjs.cloudflare.com/ajax/ ) libs/aws-sdk/2.22.0/aws-sdk.js:97626:10)在 AcceptorStateMachine.runTo (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk .js:101148:12 ) 在https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:101160:10 处请求。( https://cdnjs.cloudflare .com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97642:9)应请求。(https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0 /aws-sdk.js:97901:12 ) 在 Request.callListeners ( https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:98772:18 )"

我怎样才能做到这一点?

Ale*_*kis 4

该错误消息表明凭据存在问题。将凭据嵌入脚本的局部变量中会带来安全风险。请尝试使用推荐的方法之一来配置您的客户端凭据(按优先顺序降序排列):

  1. AWS Identity and Access Management (IAM) 角色(例如,在 EC2 实例配置文件或 Lambda 执行角色中)
  2. 共享凭证文件 (~/.aws/credentials)
  3. 环境变量
  4. 磁盘上的 JSON 文件