◦ awslabsが提供しているライブラリ
◦ modelを作成することでTable定義を集約できる
◦ 参考
▪ https://github.com/awslabs/dynamodb-data-mapper-js
▪ https://awslabs.github.io/dynamodb-data-mapper-js/packages/dynamodb-data-mapper/
@table('table_name') class MyDomainObject { @hashKey() id: string; @rangeKey({defaultProvider: () => new Date()}) createdAt: Date; @attribute() completed?: boolean; } dynamodb-data-mapper-annotations を利用すると
左記のようにきれいに書けるけれど、
JavaScriptで記載する場合は以下の通り
class MyDomainObject {
}
Object.defineProperties(MyDomainObject.prototype, {
[DynamoDbTable]: {
value: 'table_name'
},
[DynamoDbSchema]: {
value: {
id: {
type: 'String',
keyType: 'HASH'
},
foo: {
type: 'String',
keyType: 'RANGE'
},
:
},
},
});