Slide 19
Slide 19 text
DynamoDB Table定義集約 - Node.JS
● Amazon DynamoDB DataMapper For JavaScript
○ 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'
},
:
},
},
});