[AWS] DynamoDB로 시퀀스 테이블 만들기 (Node.js)
시퀀스용 테이블 작성
먼저 시퀀스에 대한 테이블을 만듭니다.
여기서는 "sequences"라고 합니다.
기본 키는 'name'으로 문자열입니다.
테이블이 완성되면 항목을 만듭니다.
name : 시퀀스 발행하려는 테이블 이름
current_number : 현재 시퀀스 값 (처음이기 때문에 0) 설정
DynamoDB 준비가 완료되었습니다.
시퀀스 발행 방법
Node.js의 예입니다.
Lambda에서 실행할 것으로 예상되는 코드입니다.
'use strict';
const table = 'test_table';
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();
// シーケンス発行関数
function sequence(sequenceName, callback) {
const params = {
TableName: "sequences",
Key: {
name: sequenceName
},
UpdateExpression: "set current_number = current_number + :val",
ExpressionAttributeValues: {
":val":1
},
ReturnValues: "UPDATED_NEW"
};
docClient.update(params, function(err, data) {
let id;
if (err) {
console.error('Unable to update item. Error JSON:', JSON.stringify(err, null, 2));
} else {
console.log('UpdateItem succeeded:', JSON.stringify(data, null, 2));
id = data.Attributes.current_number;
}
callback(id);
});
}
exports.handler = (event, context, callback) => {
// シーケンス取得
sequence(table, function(id) {
console.log("sequence:" + id);
});
};
참고한 기사:
DynamoDB로 시퀀스 관리
공식:
3.4단계: 원자 카운터 증가
Reference
이 문제에 관하여([AWS] DynamoDB로 시퀀스 테이블 만들기 (Node.js)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/naoki_koreeda/items/4fa3daa7812410c10cf8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Node.js의 예입니다.
Lambda에서 실행할 것으로 예상되는 코드입니다.
'use strict';
const table = 'test_table';
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();
// シーケンス発行関数
function sequence(sequenceName, callback) {
const params = {
TableName: "sequences",
Key: {
name: sequenceName
},
UpdateExpression: "set current_number = current_number + :val",
ExpressionAttributeValues: {
":val":1
},
ReturnValues: "UPDATED_NEW"
};
docClient.update(params, function(err, data) {
let id;
if (err) {
console.error('Unable to update item. Error JSON:', JSON.stringify(err, null, 2));
} else {
console.log('UpdateItem succeeded:', JSON.stringify(data, null, 2));
id = data.Attributes.current_number;
}
callback(id);
});
}
exports.handler = (event, context, callback) => {
// シーケンス取得
sequence(table, function(id) {
console.log("sequence:" + id);
});
};
참고한 기사:
DynamoDB로 시퀀스 관리
공식:
3.4단계: 원자 카운터 증가
Reference
이 문제에 관하여([AWS] DynamoDB로 시퀀스 테이블 만들기 (Node.js)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naoki_koreeda/items/4fa3daa7812410c10cf8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)