고급 매핑 기능 사용
DynamoDB 향상된 클라이언트 API의 고급 테이블 스키마 기능에 대해 알아보세요.
테이블 스키마 유형 이해
TableSchema는 DynamoDB 향상된 클라이언트 API의 매핑 기능에 대한 인터페이스입니다. AttributeValuesTableSchema 객체는 매핑하려는 테이블의 구조를 알아야 합니다. 이 구조 정보는 TableMetadata
향상된 클라이언트 API에는 TableSchema의 여러 구현이 있습니다.
주석이 달린 클래스에서 생성된 테이블 스키마
주석이 달린 클래스로 TableSchema를 빌드하는 작업은 비용이 다소 많이 들기 때문에 애플리케이션을 시작할 때 한 번 수행하는 것이 좋습니다.
- BeanTableSchema
-
이 구현은 Bean 클래스의 속성 및 주석을 기반으로 빌드됩니다. 이 접근 방식의 예제는 시작하기 단원에 나와 있습니다.
참고
BeanTableSchema가 예상대로 작동하지 않는 경우software.amazon.awssdk.enhanced.dynamodb.beans에 대한 디버그 로깅을 활성화하세요. - ImmutableTableSchema
-
이 구현은 변경할 수 없는 데이터 클래스를 기반으로 구축되었습니다. 이 접근은 변경할 수 없는 데이터 클래스로 작업 단원에서 설명합니다.
빌더로 생성된 테이블 스키마
다음 TableSchema은 빌더를 사용하여 코드로 빌드됩니다. 이 접근 방식은 주석이 달린 데이터 클래스를 사용하는 접근 방식보다 비용이 저렴합니다. 빌더 접근 방식은 주석을 사용하지 않으므로 JavaBean 이름 지정 표준이 필요하지 않습니다.
- StaticTableSchema
-
이 구현은 변경 가능한 데이터 클래스용으로 구축되었습니다. 이 가이드의 시작하기 단원에서는 빌더를 사용하여 StaticTableSchema를 생성하는 방법을 보여 주었습니다.
- StaticImmutableTableSchema
-
StaticTableSchema를 빌드하는 방법과 마찬가지로 변경할 수 없는 데이터 클래스와 함께 사용할 빌더를 사용하여 이러한 유형의 TableSchema구현을 생성합니다.
고정 스키마가 없는 데이터에 대한 테이블 스키마
- DocumentTableSchema
-
TableSchema의 다른 구현과 달리DocumentTableSchema인스턴스의 속성은 정의하지 않습니다. 일반적으로 기본 키와 특성 변환기 공급자만 지정합니다.EnhancedDocument인스턴스는 개별 요소 또는 JSON 문자열에서 빌드한 속성을 제공합니다.