Node.js 在nodejs中编写的AWS Lambda函数没有更新我的DynamoDB
我是AWS的新手,但我遇到了一个障碍。。。。 我正在尝试使用lambda函数更新dynamodb表中某个项的属性。正在触发lambda函数,但由于某些原因,我无法更新该项 我能够成功地从dynamodb中删除该项,但是当我尝试更新某项的属性时,什么也没有发生 函数执行后,属性human_confirm未更新为true。我一直在尝试我在谷歌上发现的不同东西,但没有任何效果:(Node.js 在nodejs中编写的AWS Lambda函数没有更新我的DynamoDB,node.js,amazon-web-services,aws-lambda,amazon-dynamodb,Node.js,Amazon Web Services,Aws Lambda,Amazon Dynamodb,我是AWS的新手,但我遇到了一个障碍。。。。 我正在尝试使用lambda函数更新dynamodb表中某个项的属性。正在触发lambda函数,但由于某些原因,我无法更新该项 我能够成功地从dynamodb中删除该项,但是当我尝试更新某项的属性时,什么也没有发生 函数执行后,属性human_confirm未更新为true。我一直在尝试我在谷歌上发现的不同东西,但没有任何效果:( 确保在serverless.yml文件中有以下配置:dynamodb:PutItem iamRoleStatements:
确保在
serverless.yml
文件中有以下配置:dynamodb:PutItem
iamRoleStatements:
- Effect: "Allow"
Action:
- "dynamodb:PutItem"
Resource: "*"
谢谢你的帮助@kaxi1993 我相信我的角色权限是正确的。以下是对我有效的代码
'use strict';
console.log('Loading function');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = (event, context, callback) => {
AWS.config.update({
region: 'us-east-1'
});
var instance = event.instanceID;
var params = {
TableName: 'reminders',
Key: {
'instanceID': {
S: instance
}
},
UpdateExpression: 'set human_confirmed = :x',
ExpressionAttributeValues: {
':x': {S: 'true'},
},
ReturnValues: 'UPDATED_NEW'
};
dynamodb.updateItem(params, function(err, data) {
if (err)
callback(err, null); // an error occurred
else
callback(null, data); // successful response
});
callback(null, 'Updating instance from reminder table: ' + instance + '.... The system will no longer contain automated emails about this resource.');
})
'use strict';
console.log('Loading function');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = (event, context, callback) => {
AWS.config.update({
region: 'us-east-1'
});
var instance = event.instanceID;
var params = {
TableName: 'reminders',
Key: {
'instanceID': {
S: instance
}
},
UpdateExpression: 'set human_confirmed = :x',
ExpressionAttributeValues: {
':x': {S: 'true'},
},
ReturnValues: 'UPDATED_NEW'
};
dynamodb.updateItem(params, function(err, data) {
if (err)
callback(err, null); // an error occurred
else
callback(null, data); // successful response
});
callback(null, 'Updating instance from reminder table: ' + instance + '.... The system will no longer contain automated emails about this resource.');