C++ Hello World
이 예는 C#으로 작성된 간단한 'hello world' 애플리케이션으로, 다음을 수행하는 방법을 보여줍니다.
- 인증 설정
- Bigtable 인스턴스에 연결
- 새 테이블 만들기
- 테이블에 데이터 쓰기
- 데이터 다시 읽기
- 테이블 삭제
인증 설정
로컬 개발 환경에서 이 페이지의 C++ 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
샘플 실행
이 예시에서는 C++용Google Cloud 클라이언트 라이브러리의 Cloud Bigtable 패키지를 사용하여 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()
로 테이블을 삭제합니다.
요약 정리
다음은 주석이 없는 전체 예시입니다.