Acessar ou criar um grupo de colunas

Criar automaticamente um grupo de colunas, se ele não existir.

Exemplo de código

C++

Para saber como instalar e usar a biblioteca de cliente para o Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::bigtable::admin::v2::ModifyColumnFamiliesRequest;
using ::google::cloud::StatusOr;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id, std::string const& table_id,
   std::string const& family_name) {
  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();
  auto pos = schema->column_families().find(family_name);
  if (pos == schema->column_families().end()) {
    // Try to create the column family instead:
    ModifyColumnFamiliesRequest::Modification mod;
    mod.set_id(family_name);
    mod.mutable_create()->mutable_gc_rule()->set_max_num_versions(5);

    auto modified = admin.ModifyColumnFamilies(table_name, {std::move(mod)});
    if (!modified) throw std::move(schema).status();
    schema = *std::move(modified);
    pos = schema->column_families().find(family_name);
  }

  if (pos == schema->column_families().end()) {
    throw std::runtime_error("GetOrCreateFamily failed");
  }

  google::bigtable::admin::v2::ColumnFamily family = pos->second;
  std::cout << "Column family name: " << pos->first
            << "\nColumn family details: " << family.DebugString() << "\n";
}

A seguir

Para pesquisar e filtrar amostras de código para outros produtos do Google Cloud, consulte o navegador de amostra do Google Cloud.