C++ Hello World
이 예는 C#으로 작성된 간단한 'hello world' 애플리케이션으로, 다음을 수행하는 방법을 보여줍니다.
- 인증 설정
- Bigtable 인스턴스에 연결
- 새 테이블 만들기
- 테이블에 데이터 쓰기
- 데이터 다시 읽기
- 테이블 삭제
인증 설정
로컬 개발 환경에서 이 페이지의 C++ 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
-
Google Cloud CLI를 설치합니다.
-
외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
로컬 셸을 사용하는 경우 사용자 계정에 대한 로컬 인증 사용자 인증 정보를 만듭니다.
gcloud auth application-default login
Cloud Shell을 사용하는 경우 이 작업을 수행할 필요는 없습니다.
인증 오류가 반환되고 외부 ID 공급업체(IdP)를 사용하는 경우 제휴 ID로 gcloud CLI에 로그인했는지 확인합니다.
자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
샘플 실행
이 예시에서는 Cloud Bigtable 패키지를 사용하여 C++용 Google Cloud 클라이언트 라이브러리로 Bigtable과 통신합니다.
이 샘플 프로그램을 실행하려면 GitHub에서 안내를 따르세요.
Bigtable과 함께 Google Cloud 클라이언트 라이브러리 사용
샘플 애플리케이션을 Bigtable에 연결하여 몇 가지 간단한 작업을 보여줍니다.
클라이언트 라이브러리 설치 및 가져오기
GitHub에서 Bigtable C++ 클라이언트 라이브러리를 다운로드하거나 클론한 다음 컴파일합니다. 최상위 README의 컴파일러 안내를 따르세요.
필수 헤더를 포함합니다.
Bigtable에 연결
MakeBigtableTableAdminConnection()을 사용하여 테이블을 만드는 데 사용할 BigtableTableAdminClient를 구성합니다.
테이블 만들기
column family가 1개 있는 테이블의 스키마를 정의합니다. 각 값별로 최대 1개의 버전만 유지하도록 하는 가비지 컬렉션 규칙을 column family에 설정합니다. BigtableTableAdminClient::CreateTable()을 사용하여 테이블 객체를 인스턴스화합니다. 그런 다음 테이블에서 데이터를 가져오거나 내보내는 데 사용할 수 있는 데이터 클라이언트를 만듭니다.
테이블에 행 쓰기
인사말 문자열 목록을 반복하여 테이블의 새로운 행을 만듭니다.
각 반복 시 SingleRowMutation을 사용하여 행을 정의하고 row key와 값을 할당합니다. 그런 다음 Table::Apply()를 호출하여 행에 변형을 적용합니다.
필터 만들기
작성한 데이터를 읽기 전에 Bigtable이 반환하는 데이터를 제한하려면 Filter::ColumnRangeClosed()를 사용하여 필터를 생성합니다. 테이블에 만료되었지만 아직 가비지 컬렉션에 의해 삭제되지 않은 이전 셀이 있더라도 이 필터는 각 값의 최신 버전만 반환하도록 Bigtable에 지시합니다.
키를 통해 행 읽기
Table::ReadRow() 함수를 호출하고 row key와 필터를 전달하여
행에서 각 값별로 버전 하나를 가져옵니다.
모든 테이블 행 검색
Table::ReadRows()를 사용하여 테이블에서 행 범위를 읽습니다.
테이블 삭제
BigtableTableAdminClient::DeleteTable()로 테이블을 삭제합니다.
요약 정리
다음은 주석이 없는 전체 예시입니다.