Obtenir ou créer une table

Obtenir les détails de la table si elle existe, ou créer automatiquement une table si elle n'existe pas.

Exemple de code

C++

Pour savoir comment installer et utiliser la bibliothèque cliente pour Bigtable, consultez Bibliothèques clientes Bigtable.

Pour vous authentifier auprès de Bigtable, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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";
}

Étapes suivantes

Pour rechercher et filtrer des exemples de code pour d'autres produits Google Cloud, consultez l'explorateur d'exemples Google Cloud.