AWS Serverless应用报错TypeError: dynamodb.deleteItem is not a function排查
问题分析与解决
问题出在DynamoDB DocumentClient的方法调用错误:
- 你初始化的是
AWS.DynamoDB.DocumentClient(),它对应的删除方法是delete(),而非deleteItem()。 deleteItem()是底层AWS.DynamoDB实例的方法,不属于DocumentClient的API范畴。
修正后的代码:
const key = event.pathParameters.id; const dynamodb = new AWS.DynamoDB.DocumentClient(); const params = { TableName: process.env.DYNAMODB_CUSTOMER_TABLE, Key: { primaryKey: key, }, }; const result = await dynamodb.delete(params).promise();
补充说明:
- 你的get和update功能正常,说明DocumentClient的初始化、权限配置均无问题,仅delete方法名误用。
- 已配置的
dynamodb:DeleteItem权限无需调整,因为DocumentClient的delete()方法底层依然调用DeleteItem API。
内容的提问来源于stack exchange,提问作者Nikita Polevoy
相关产品推荐
相关产品推荐

