2017-03-11 117 views
0

該文件存儲在.js腳本中,並位於AWS S3中。錯誤:請求中包含的安全令牌無效 - AWS DynamoDB

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 
}); 

我試圖從DynamoDB獲得的數據,而是得到這樣的:

Error: The security token included in the request is invalid. at Request.extractError (aws-sdk.js:96980) at Request.callListeners (aws-sdk.js:98762) at Request.emit (aws-sdk.js:98736) at Request.emit (aws-sdk.js:97899) at Request.transition (aws-sdk.js:97626) at AcceptorStateMachine.runTo (aws-sdk.js:101148) at aws-sdk.js:101160 at Request. (aws-sdk.js:97642) at Request. (aws-sdk.js:97901) at Request.callListeners (aws-sdk.js:98772) "UnrecognizedClientException: The security token included in the request is invalid. at Request.extractError (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:96980:27) at Request.callListeners (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:98762:20) at Request.emit (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:98736:10) at Request.emit (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97899:14) at Request.transition (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97626:10) at AcceptorStateMachine.runTo (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:101148:12) at https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:101160:10 at Request. (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97642:9) at Request. (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:97901:12) at Request.callListeners (https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.22.0/aws-sdk.js:98772:18)"

我怎樣才能使這項工作?

+1

嗯...... 「名」 和 「通行證」?您的accessKeyId是否以'AKIA'或'ASIA'開頭?如果沒有,那不是你在這裏使用的accessKeyId。 –

+0

確保你在美國西部2地區有DynamoDB表嗎?地區是一個非常重要的參數。 – notionquest

回答

-1

錯誤消息指示證書有問題。將憑證嵌入腳本中的本地變量會帶來安全風險。請儘量使用recommended methods的一個配置客戶端憑證,按優先順序排列如下:

  1. AWS身份和訪問管理(IAM)的角色(例如,在EC2實例配置文件或拉姆達執行角色)
  2. 共享憑據文件(〜/ .aws /憑證)
  3. 環境變量
  4. ,磁盤JSON文件
相關問題