Я успешно протестировал dynamicodb.transactWriteItems с использованием кода VS (узел js), но когда я перемещал свой код в Lambda, он всегда выдает ошибку типа: Dynamodb.transactWriteItems не является функцией.Обратите внимание, что я НЕ использую documentClient, поэтому объявление dynamodb = new AWS.DynamoDB()
не является решением.
Как я могу проверить AWS-SDK, используемый Lambda (мой npm aws-sdk v2.372.0) и как мне сделатьиспользовать правильную версию AWS-SDK на Lambda, если это является основной причиной проблемы?
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();