Obtener o crear una tabla

Obtiene los detalles de una tabla si existe o crea una automáticamente si no existe.

Código de ejemplo

C++

Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

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";
}

Siguientes pasos

Para buscar y filtrar ejemplos de código de otros Google Cloud productos, consulta el Google Cloud navegador de ejemplos.