amazon-web-services - dynamodb.transactWriteItems 不是 Lambda 上的函数错误,但在使用 VS Code 时不是
问题描述
我已经使用 VS Code(节点 js)成功测试了 dynamodb.transactWriteItems,但是当我将代码移动到 Lambda 时,它总是抛出 Type Error: dynamodb.transactWriteItems is not a function。请注意,我没有使用 documentClient,因此声明dynamodb = new AWS.DynamoDB()
不是解决方案。
如何检查 Lambda 使用的 AWS-SDK(我的 npm aws-sdk 是 v2.372.0),如果这是问题的根本原因,我如何在 Lambda 上使用正确的 AWS-SDK 版本?
data = await dynamodb.transactWriteItems({
ReturnConsumedCapacity: "INDEXES",
ReturnItemCollectionMetrics: "SIZE",
TransactItems: [
{
Put: {
TableName: envVarPOTableName,
Item: {
"poNumber": {S: poNumber},
"supplierName": {S: event.supplierName},
"poStatus" : {S: "Created"},
"rmItemsArr": {L: [
{ M:{
"type": {S:event.rmItemObj.type},
"description": {S:event.rmItemObj.description}
},
}
]}
}
}
},
{
Update: {
TableName: envVarRMTableName,
Key:{
"type": {S: event.rmItemObj.type},
"description": {S: event.rmItemObj.description}
},
UpdateExpression: "set #pnA = list_append(#pnA, :vals)",
ExpressionAttributeNames: {
"#pnA" : "poNumbersArr"
},
ExpressionAttributeValues:{
":vals" : {L:[{S:poNumber}]}
},
ReturnValuesOnConditionCheckFailure: "ALL_OLD"
}
}
]
}).promise();
解决方案
推荐阅读
- javascript - 将数组中的项目相乘并找到数组中所有行的相乘结果的总和
- javascript - 如何从 HTML 表格中获取数据到 DJango
- docker - 如何连接我的 docker 容器(前端)连接到在不同 VM 上运行的容器化数据库
- python - 使用unittest和mock在python函数中修补变量
- c# - 授权客户端应用程序的所有用户访问 Signalr Hub
- javascript - 动态创建基于数组的传单层时,页面会继续运行
- python-3.x - 以 Python 方式提取星期几
- r - 用 r 中的 1 替换大于零的值
- redisgraph - 如何在 RedisGraph 中返回关系?
- android - 关闭对话框后转到上一个片段时如何防止出现对话框?