[英]How to fix data not inserting into local dynamodb (NodeJS)
我正在嘗試通過我創建的端點將數據插入本地 dynamoDB,但它不起作用。 promise 本身沒有錯誤日志,似乎 function 被忽略了。
這是一個 helper function 將協助插入數據
require('aws-sdk/index');
const DynamoDB = require('aws-sdk/clients/dynamodb');
const options = {
apiVersion: '2012-08-10',
region: 'ap-southeast-1',
endpoint: 'http://localhost:8000/',
};
const dynamoDBDoc = new DynamoDB.DocumentClient(options);
async function putData(tableName,insertValue) {
const param = {
TableName: tableName,
Item:insertValue,
ReturnConsumedCapacity: 'TOTAL',
};
// Mock data
// const param = {
// TableName: 'user',
// Item:{
// 'user_id':'1234',
// 'email':'memelorde'
// },
// ReturnConsumedCapacity: 'TOTAL',
// };
try {
const data = await dynamoDBDoc.put(param).promise();
console.log("Data successfully entered", data)
return data;
} catch (e) {
console.log(`failed ${e.message}`);
return false;
}
}
這是我調用上面的 function 並為其提供要插入的表名的部分
async function createUser(data){
const tableName = "user"
data["user_id"]= uuidv4()
await dynamoDB.putData("user",data);
return await dynamoDB.putData(tableName, data);
}
這是我創建的用於傳遞用戶信息的端點
if (event.httpMethod === 'POST') {
dataset = JSON.parse(event.body)
console.log('/signup POST req =>', dataset)
let res = await user.createUser(dataset)
console.log(res)
}
預期:如果執行 put function,將會有一個控制台日志記錄成功並將數據插入到表中,如果有錯誤也會記錄錯誤
實際:根本沒有產生錯誤代碼
我遇到了同樣的問題。 我通過將 accessKeyId 和 secretAccessKey 添加到“AWS.DynamoDB.DocumentClient”的配置選項來解決它
const options = {
accessKeyId: "aaa",
secretAccessKey: "bbb",
apiVersion: '2012-08-10',
region: 'ap-southeast-1',
endpoint: 'http://localhost:8000/',
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.