일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 웹 스크래핑(크롤링)
- JWT
- 3주차
- 스파르타코딩클럽
- SQL
- PROMISE
- nginx
- 트랜잭션
- 비동기
- post
- 숙제
- 항해99
- Await
- 위키백과
- Node.js
- dynamo db
- HTTPS
- cors
- 4주차
- 2주차
- 개발일지
- OpenAPI
- MongoDB
- 1주차
- AWS
- 5주차
- NoSQL
- Get
- 부트스트랩
- Sequelize
Archives
- Today
- Total
얼음꽃의 일지
[Node] Dynamo DB 사용법 본문
728x90
Dynamo DB 코드 사용법
[설치]
npm i @aws-sdk/client-dynamodb
npm i @aws-sdk/lib-dynamodb
[코드]
const { DynamoDBClient } = require('@aws-sdk/client-dynamodb');
const {
DynamoDBDocumentClient,
PutCommand,
QueryCommand,
GetCommand,
DeleteCommand,
} = require('@aws-sdk/lib-dynamodb');
const client = new DynamoDBClient({
region: '사용하는 지역',
credentials: {
accessKeyId: process.env.DYNAMODB_ACCESS_KEY,
secretAccessKey: process.env.DYNAMODB_SECRET_ACCESS_KEY,
},
});
const dynamoDB = DynamoDBDocumentClient.from(client);
// DynamoDB 테이블 이름
const tableName = '테이블이름';
//저장 함수
async function saveDynamoInfo(information) {
const params = {
TableName: tableName,
Item: {
key : Value,
key : Value,
key : Value,
key : Value,
},
};
await dynamoDB.send(new PutCommand(params));
return true;
}
// primary 키로 확인 함수
// GSI는 불가능
async function checkDynamoInfo(value) {
const params = {
TableName: tableName,
Key: {
primary Key: value,
},
};
const result = await dynamoDB.send(new GetCommand(params));
return result;
}
// 데이터 확인 함수 query (GSI 이용)
async function queryDynamoInfo(type, value) {
const params = {
TableName: tableName,
IndexName: type, // GSI 이름
KeyConditionExpression: '#name = :value', // userId 속성을 키 조건으로 사용
ExpressionAttributeNames: {
'#name': type, // 속성 이름 설정
},
ExpressionAttributeValues: {
':value': value, // 검색할 userId 값
},
};
const result = await dynamoDB.send(new QueryCommand(params));
return result;
}
// 데이터 삭제 함수
// 마찬가지로 GSI 사용 불가능
// primary 키로만 가능
async function deleteDynamoInfo(value) {
const params = {
TableName: tableName,
Key: {
name: value,
},
};
const result = await dynamoDB.send(new DeleteCommand(params));
return result.Item;
}
module.exports = {
saveDynamoInfo,
queryDynamoInfo,
checkDynamoInfo,
deleteDynamoInfo,
};
728x90
'잡다한 지식' 카테고리의 다른 글
[JS] await 과 promise (0) | 2024.07.26 |
---|---|
[JS] for와 관련된 문법 (0) | 2024.07.08 |
[AWS] Dynamo DB 생성 방법 및 설정 (0) | 2024.06.20 |
[NODE] Winston 사용 법 (0) | 2024.04.16 |
[Linux] 터미널에서 내가 사용하고 있는 브랜치 표시하기 (0) | 2024.03.04 |