column family 나열

column family를 나열합니다.

코드 샘플

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 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> schema =
      admin.GetTable(std::move(r));

  if (!schema) throw std::move(schema).status();
  for (auto const& kv : schema->column_families()) {
    std::string const& column_family_name = kv.first;
    google::bigtable::admin::v2::ColumnFamily const& family = kv.second;
    std::cout << "Column family name: " << column_family_name << "\n"
              << "Column family metadata: " << family.DebugString() << "\n";
  }
}

Java

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

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

// Lists all families in the table with GC rules.
try {
  String tableName =
      "projects/" + projectId + "/instances/" + instanceId + "/tables/" + tableId;
  Table table = adminClient.getBaseClient().getTable(tableName);
  for (java.util.Map.Entry<String, ColumnFamily> entry :
      table.getColumnFamiliesMap().entrySet()) {
    System.out.printf(
        "Column family: %s%nGC Rule: %s%n", entry.getKey(), entry.getValue().getGcRule());
  }
} catch (NotFoundException e) {
  System.err.println(
      "Failed to list column families from a non-existent table: " + e.getMessage());
}

PHP

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

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

use Google\Cloud\Bigtable\Admin\V2\Client\BigtableTableAdminClient;
use Google\Cloud\Bigtable\Admin\V2\GetTableRequest;

/**
 * List column families of a table
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 * @param string $tableId The ID of the table for which the families need to be displayed
 */
function list_column_families(
    string $projectId,
    string $instanceId,
    string $tableId
): void {
    $tableAdminClient = new BigtableTableAdminClient();

    $tableName = $tableAdminClient->tableName($projectId, $instanceId, $tableId);
    $getTableRequest = (new GetTableRequest())
        ->setName($tableName);

    $table = $tableAdminClient->getTable($getTableRequest);
    $columnFamilies = $table->getColumnFamilies()->getIterator();

    foreach ($columnFamilies as $k => $columnFamily) {
        printf('Column Family: %s' . PHP_EOL, $k);
        print('GC Rule:' . PHP_EOL);
        printf('%s' . PHP_EOL, $columnFamily->serializeToJsonString());
    }
}

Ruby

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

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

table = bigtable.table(
  instance_id,
  table_id,
  view:           :FULL,
  perform_lookup: true
)
table.column_families.each do |name, family|
  puts "Column family name: #{name}"
  puts "GC Rule:"
  p family.gc_rule
end

다음 단계

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