카우치베이스 카펠라 는 데이터베이스 관리 업무를 없애고 전반적인 비용을 절감하는 완전 관리형 JSON 문서 서비스형 데이터베이스(DBaaS) 제품입니다. 카펠라 제공 사항 SQL 및 ACID 트랜잭션과 같은 관계형 데이터베이스 기능의 강점과 NoSQL을 정의하는 JSON 유연성 및 확장성을 결합한 최신 클라우드 네이티브 분산 데이터베이스의 강력한 성능, 유연성 및 확장성을 제공합니다.
Pydantic 는 개발자가 Python 유형 어노테이션을 사용하여 사용자 정의 JSON 객체를 정의하고 유효성을 검사할 수 있는 라이브러리입니다. Pydantic은 런타임에 유형 힌트를 적용하고 사용자 친화적인 유효성 검사 오류를 발생시켜 코딩 시간을 단축합니다. 그런 다음 pydantic을 사용하여 생성된 JSON 문서는 문자열 표준 연결을 통해 JSON 문서를 생성할 때 발생할 수 있는 잘못된 형식의 문서에 대한 걱정 없이 Capella 플랫폼에서 사용할 수 있습니다.
피단틱 설정
빠른 시작 프로젝트를 실행하려면 다음 필수 구성 요소가 필요합니다:
-
- Git 리포지토리 URL: https://github.com/brickj/capella_pydantic
- Python 3 설치
- 그리고 pip 패키지 관리 도구
- 카우치베이스 카펠라™ SDK를 설치했습니다:
- 전체 문서는 다음 위치에 있습니다. 여기
- Python 명령 예제: pip 설치 카우치베이스
- 파이썬 라이브러리를 설치했습니다:
- 전체 문서는 다음 위치에 있습니다. 여기
- Python 명령 예제: pip 설치 pydantic
- 카우치베이스 카펠라 계정:
- 가입하기 30일 무료 체험
- 카우치베이스 카펠라 클러스터 및 버킷 이름 pydantic
이 블로그에서는 pydantic을 사용하여 유효한 JSON 문서를 생성하고 이를 Couchbase Capella에 저장하는 예제를 빠르게 살펴보겠습니다.
Couchbase Python SDK를 사용하면 개발자가 Couchbase 클러스터의 지정된 버킷에서 CRUD 작업을 수행할 수 있습니다. 예를 들어 다음 코드 스니펫은 업서트(문서 키가 버킷에 없는 경우 삽입, 문서가 이미 있는 경우 업데이트)를 수행합니다:
1 2 |
# 문서 저장 cb_coll.업서트('u:king_arthur', {'name': 'Arthur', '이메일': 'kingarthur@couchbase.com', '관심사': ['성배', '아프리카 제비']}) |
Python 개발자는 일반적으로 문자열 또는 정수를 사용하여 키-값 쌍을 저장하는 사전 객체를 채우는 JSON 문서를 만듭니다. 그런 다음 해당 사전 객체를 Capella 데이터베이스의 지정된 버킷으로 전송하여 삽입합니다. 사전 객체를 생성하고 채우는 샘플 코드는 아래 스니펫과 유사합니다:
1 2 |
키와 값이 있는 # 사전 개체 sample_dict = {1: 'document 1', 2: 'document 2'} |
pydantic을 사용하면 개발자는 문서가 생성될 때 적용될 수 있는 JSON 객체에 대한 스키마를 유연하게 지정할 수 있습니다. 예를 들어 사용자 게시물에 대한 JSON 문서를 생성하는 단계는 다음과 같습니다. 문서 모델은 다음과 같습니다:
각 사용자 게시물 객체에는 게시물에 사용되는 필드가 있지만 각 게시물에는 게시물 내에 중첩되어야 하는 여러 개의 리뷰가 있을 수 있습니다. 이 기능을 사용하려면 개발자가 두 개의 별도 클래스를 만들면 됩니다. 사용자 게시물 및 검토. 예를 들어
1 2 3 4 5 6 7 8 9 10 11 12 13 |
클래스 검토(기본 모델): 작성자: str 리뷰: str 좋아요: int 클래스 사용자 게시물(기본 모델): 작성자: str 날짜: str title: 선택 사항[str] = 없음 콘텐츠: str id: int 좋아요: 목록[str] 리뷰: 목록[검토] |
Python에서 JSON 문서 만들기
개체가 생성되면 문서를 쉽게 채울 수 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
리뷰 = [ 검토(작성자="johndoe", 리뷰="이것은 댓글입니다!", 좋아요=3), 검토(작성자="rickJ", 리뷰="릭 제이 댓글입니다!", 좋아요=1), 검토(작성자="janedoe", 리뷰="신원 미상 댓글입니다!", 좋아요=2) ] user_post1 = 사용자 게시물(작성자="johndoe", 날짜="1/1/1970", title="멋진 게시물", 콘텐츠="멋진 콘텐츠", id=10101, 좋아요=["johndoe", "janedoe"], 리뷰=리뷰) |
이제 사용자 게시물 객체를 사전으로 만들고 앞서 표시된 업서트 코드와 유사한 코드를 사용하지만 객체의 dict() 메서드를 사용합니다:
1 2 |
# 'u:pydantic_document' 키로 JSON 딕셔너리를 업서트합니다. cb_coll.업서트('u:pydantic_document', user_post1.dict()) |
이 블로그에 설명된 전체 프로젝트는 다음과 같습니다:
-
- 지침이 포함된 Readme
- UserPost 및 Review 객체를 생성하는 코드
- 출력할 문서를 생성하고 인쇄하는 코드
- 카우치베이스 파이썬 SDK를 사용하여 카우치베이스 카펠라에 연결하는 코드
- 생성된 JSON 문서를 업서트하는 코드
공개 프로젝트는 Git에서 복제할 수 있습니다: https://github.com/brickj/capella_pydantic
다음 단계
자세히 알아보기 카우치베이스 카펠라서비스형 데이터베이스 제품입니다:
-
- 가입하기 30일 무료 체험 아직 설치하지 않았다면
- 평가판 클러스터를 Playground에 연결 또는 프로젝트를 연결하여 직접 테스트해 보세요.
- 이미 Couchbase Capella를 사용하고 있는 경우 대화형 Couchbase 셸을 사용하거나 Capella Control 플레인을 통해 클러스터와 상호 작용할 수 있습니다:
- 문서 뷰어 확인
- 프로젝트에 연결
- 다음 내용을 살펴보십시오. 카펠라 학습 과정
- 튜토리얼을 확인하세요
- 그리고 카우치베이스 개발자 포털 에는 수많은 튜토리얼/퀵스타트 가이드 그리고 학습 경로 시작하는 데 도움이 되는
- 문서 보기 를 클릭해 Couchbase SDK에 대해 자세히 알아보세요.
- 읽기 Pydantic을 사용하여 Python에서 JSON 문서 유효성 검사하기
이 시점에서 pydantic 라이브러리를 사용하여 다음에서 사용할 유효한 JSON 문서를 빠르게 생성할 수 있어야 합니다. 카우치베이스 카펠라.
질문이나 의견이 있으시면 다음 링크를 통해 문의해 주세요. 카우치베이스 포럼!