SST에서 DynamoDB 테이블 생성하기
SST에서 DynamoDB 테이블 생성하기
이제 SST로 인프라를 구축하기 시작할 차례입니다. 먼저 DynamoDB부터 시작하겠습니다.
테이블 생성하기
infra/storage.ts
에 다음 내용을 추가합니다.
// DynamoDB 테이블 생성
export const table = new sst.aws.Dynamo("Notes", {
fields: {
userId: "string",
noteId: "string",
},
primaryIndex: { hashKey: "userId", rangeKey: "noteId" },
});
여기서 무엇을 하는지 살펴보겠습니다.
Dynamo
컴포넌트를 사용해 DynamoDB 테이블을 생성합니다.
두 개의 필드가 있습니다:
userId
: 노트가 속한 사용자의 IDnoteId
: 노트의 ID
그런 다음 테이블에 대한 인덱스를 생성합니다.
각 DynamoDB 테이블은 기본 키를 가집니다. 이 키는 한 번 설정되면 변경할 수 없습니다. 기본 키는 테이블의 각 항목을 고유하게 식별하므로 두 항목이 동일한 키를 가질 수 없습니다. DynamoDB는 두 가지 유형의 기본 키를 지원합니다:
- 파티션 키
- 파티션 키와 정렬 키 (복합 키)
우리는 복합 기본 키를 사용할 것입니다 (위 코드 블록에서 primaryIndex
로 참조됨). 이는 데이터를 쿼리할 때 추가적인 유연성을 제공합니다. 예를 들어, userId
값만 제공하면 DynamoDB는 해당 사용자의 모든 노트를 검색합니다. 또는 userId
와 noteId
값을 모두 제공하여 특정 노트를 검색할 수 있습니다.
변경 사항 배포
변경 사항을 적용한 후, SST가 자동으로 테이블을 생성합니다. 배포 과정이 끝나면 다음과 같은 내용이 표시됩니다.
| Created Notes sst:aws:Dynamo
이제 데이터베이스가 생성되었으니, 파일 업로드를 처리할 S3 버킷을 만들어 보겠습니다.
For help and discussion
Comments on this chapter