C# Hello World
이 코드 샘플은 C#으로 작성된 'hello world' 애플리케이션입니다. 이 샘플은 다음 작업을 완료하는 방법을 보여줍니다.
- 인증 설정
- Bigtable 인스턴스에 연결
- 새 테이블 만들기
- 테이블에 데이터 쓰기
- 데이터 다시 읽기
- 테이블 삭제
인증 설정
로컬 개발 환경에서 이 페이지의 .NET 샘플을 사용하려면 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.
-
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.
샘플 실행
이 코드는 .NET용 Google Cloud 클라이언트 라이브러리에서 C# Admin API 및 C# Data API 라이브러리를 사용하여 Bigtable과 통신합니다.
이 샘플 프로그램을 실행하려면 GitHub의 .NET Bigtable 샘플 안내를 따르세요.
빌드 및 실행과 빠른 시작 단계를 완료하면 Hello World 애플리케이션에서 사용할 리소스를 만들 수 있습니다. HelloWorld.cs
파일을 수정하여 만든 리소스의 이름을 추가해야 합니다.
Cloud 클라이언트 라이브러리를 Bigtable과 함께 사용
샘플 애플리케이션을 Bigtable에 연결하여 몇 가지 간단한 작업을 보여줍니다.
Bigtable에 연결
시작하려면 Bigtable 연결에 사용할 2개의 클라이언트 객체를 만듭니다. C # Admin API의 BigtableTableAdminClient
를 사용하면 인스턴스와 테이블을 만들고 삭제할 수 있습니다. C# Data API의 BigtableClient
를 사용하면 테이블 데이터를 읽고 쓸 수 있습니다.
테이블 만들기
BigtableTableAdminClient
클래스의 CreateTable()
메서드를 호출하여 "hello world" 인사말이 저장된 Table
객체를 생성합니다. 테이블에는 각 값별로 한 버전만 보관하는 column family가 한 개 있습니다.
테이블에 행 쓰기
세 가지 간단한 인사말이 포함된 s_greetings[]
문자열 배열을 데이터 소스로 사용하여 테이블에 씁니다. 먼저 MutateRow()
를 사용하여 테이블에 단일 행을 씁니다. 그런 다음 나머지 배열을 반복하여 각 인사말 항목이 포함된 MutateRowsRequest
객체를 빌드합니다. MutateRows()
를 사용하여 한 번에 모든 항목 쓰기 요청을 생성합니다. 그런 다음 요청이 제대로 작성되었는지 확인하기 위해 반환된 응답을 반복하여 각 항목의 상태 코드를 확인합니다.
필터 만들기
작성한 데이터를 읽기 전에 Bigtable이 반환하는 데이터를 제한하는 필터를 생성합니다. 테이블에 가비지 컬렉션 대상이지만 아직 삭제되지 않은 이전 셀이 포함되어 있더라도 이 필터는 각 값의 최신 버전만 반환하도록 Bigtable에 지시합니다.
row key를 통해 행 읽기
ReadRow()
메서드를 사용하여 방금 만든 필터를 전달하고 행에서 각 값의 버전 하나를 가져옵니다.
모든 테이블 행 검색
ReadRows()
메서드를 호출하고 필터를 전달하여 테이블의 모든 행을 가져옵니다. 필터를 전달했으므로 Bigtable은 각 값별로 버전 1개만 반환합니다.
테이블 삭제
DeleteTable()
메서드로 테이블을 삭제합니다.
요약 정리
다음은 주석이 없는 전체 코드 샘플입니다.