테이블 가져오기 또는 만들기

테이블이 있으면 테이블 세부정보를 가져오고 존재하지 않으면 테이블을 자동으로 만듭니다.

코드 샘플

C++

Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.

Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::cloud::StatusOr;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id, std::string const& table_id) {
  std::string instance_name = cbt::InstanceName(project_id, instance_id);
  std::string table_name = cbt::TableName(project_id, instance_id, table_id);

  google::bigtable::admin::v2::GetTableRequest r;
  r.set_name(table_name);
  r.set_view(google::bigtable::admin::v2::Table::FULL);

  StatusOr<google::bigtable::admin::v2::Table> table = admin.GetTable(r);
  if (!table &&
      table.status().code() == google::cloud::StatusCode::kNotFound) {
    // The table does not exist, try to create the table.
    table = admin.CreateTable(instance_name, table_id, {});
    if (!table) throw std::move(table).status();
    // The schema returned by a `CreateTable()` request does not include all
    // the metadata for a table, we need to explicitly request the rest:
    table = admin.GetTable(std::move(r));
  }
  if (!table) throw std::move(table).status();
  std::cout << "Table metadata: " << table->DebugString() << "\n";
}

다음 단계

다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.