Я практикую Динамодб. Для подключения AWS DynamoDB я использовал dynamicodb- npm. Я использовал узел express в качестве сервера, а для отправки и получения запроса я использовал Почтальон. Я могу отправить данные в Dynamodb, но когда я пытаюсь получить метод get для получения данных, я получаю сообщение об ошибке TypeError: BlogPost.Scan is not a function
. Я проверил AWS документацию , но не нашел ни одного примера.
Это настройка DynamoDB
const dynamo = require("dynamodb");
const Joi = require("joi");
dynamo.AWS.config.update({
accessKeyId: "********",
secretAccessKey: "M******",
region: "us-east-1"
});
const BlogPost = dynamo.define("BlogPost", {
hashKey: "email",
rangeKey: "title",
timestamps: true,
schema: {
email: Joi.string().email(),
title: Joi.string(),
content: Joi.string(),
tags: Joi.number()
}
});
// dynamo.createTables(function(err) {
// if (err) {
// console.log("Error creating tables: ", err);
// } else {
// console.log("Tables has been created");
// }
// });
module.exports = BlogPost;
Это мой узел Express настройка
const express = require("express");
const app = express();
const BlogPost = require("./db");
app.use(express.json());
app.get("/blogs", async (req, res, next) => {
try {
const blogs = await BlogPost.Scan(); //THIS IS WHERE ERROR HAPPENING
res.json(blogs);
} catch (error) {
console.log(error);
}
});
app.post("/publish", async (req, res, next) => {
try {
const logs = new BlogPost(req.body);
const entry = await logs.save();
res.json(entry);
} catch (error) {
if (error.name === "ValidationError") {
res.status(422);
}
next(error);
}
});
const port = process.env.PORT || 5000;
app.listen(port, () => console.log(`? App is listening at port ${port}!`));