Я запустил новый проект TypeScript / Node, который будет иметь бэкэнд DynamoDB, и я пытаюсь использовать преобразователь данных DynamoDB, но я получаю следующую ошибку:
Предоставленный элемент сделалне придерживаться протокола DynamoDbDocument.У символа DynamoDbSchema
не найдено ни одного свойства объекта.
Я пытался использовать аннотации и метод задания схемы непосредственно в прототипе класса, но оба они приводят к одному и тому жеошибка, которая заставляет меня полагать, что моя проблема с какой-то конфигурацией.Вот мой tsconfig.json:
{
"compilerOptions": {
"module": "commonjs",
"target": "es2017",
"sourceMap": true,
"moduleResolution": "node",
"outDir": "dist",
"rootDir": "./",
"types": ["reflect-metadata"],
"lib": ["es2017", "esnext.asynciterable"],
"experimentalDecorators": true,
"emitDecoratorMetadata": true
},
"include": [
"src/**/*"
]
}
Вот модель:
import Employee from "./Employee";
import {Location} from "./Location";
import {attribute, hashKey, table} from "@aws/dynamodb-data-mapper-annotations";
@table('mentors')
export default class Mentor implements Employee {
@attribute()
name: string;
@hashKey()
username: string;
@attribute()
email: string;
@attribute()
title: string;
@attribute()
team: string;
@attribute()
location: Location;
@attribute({memberType: 'String'})
areasOfInterest: Set<string>;
@attribute({memberType: 'String'})
willMentorLocations: Set<string>;
@attribute({memberType: 'String'})
mentees: Set<string>;
}
А вот соответствующие версии зависимостей:
"@aws/dynamodb-data-mapper": "^0.7.3",
"@aws/dynamodb-data-mapper-annotations": "^0.7.3",
"reflect-metadata": "^0.1.12",
"typescript": "^3.1.6"