Recupero o creazione di una famiglia di colonne
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Crea automaticamente una famiglia di colonne se non esiste.
Esempio di codice
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis code snippet demonstrates how to automatically create a column family in Bigtable if it does not already exist.\u003c/p\u003e\n"],["\u003cp\u003eThe code uses the Bigtable Admin client library to check for the existence of a specified column family.\u003c/p\u003e\n"],["\u003cp\u003eIf the column family is not found, the code proceeds to create it with a maximum of 5 versions.\u003c/p\u003e\n"],["\u003cp\u003eThe sample also shows you how to retrieve the column family details.\u003c/p\u003e\n"],["\u003cp\u003eThe code sample can be used to learn about installing and using the Bigtable client library, and setting up authentication for a local development environment.\u003c/p\u003e\n"]]],[],null,["Autocreate a column family if it does not exist.\n\nCode sample \n\nC++\n\n\nTo learn how to install and use the client library for Bigtable, see\n[Bigtable client libraries](/bigtable/docs/reference/libraries).\n\n\nTo authenticate to Bigtable, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n namespace cbt = ::google::cloud::bigtable;\n namespace cbta = ::google::cloud::bigtable_admin;\n using ::google::bigtable::admin::v2::ModifyColumnFamiliesRequest;\n using ::google::cloud::StatusOr;\n [](cbta::BigtableTableAdminClient admin, std::string const& project_id,\n std::string const& instance_id, std::string const& table_id,\n std::string const& family_name) {\n std::string table_name = cbt::TableName(project_id, instance_id, table_id);\n\n google::bigtable::admin::v2::GetTableRequest r;\n r.set_name(table_name);\n r.set_view(google::bigtable::admin::v2::Table::FULL);\n\n StatusOr\u003cgoogle::bigtable::admin::v2::Table\u003e schema =\n admin.GetTable(std::move(r));\n\n if (!schema) throw std::move(schema).status();\n auto pos = schema-\u003ecolumn_families().find(family_name);\n if (pos == schema-\u003ecolumn_families().end()) {\n // Try to create the column family instead:\n ModifyColumnFamiliesRequest::Modification mod;\n mod.set_id(family_name);\n mod.mutable_create()-\u003emutable_gc_rule()-\u003eset_max_num_versions(5);\n\n auto modified = admin.ModifyColumnFamilies(table_name, {std::move(mod)});\n if (!modified) throw std::move(schema).status();\n schema = *std::move(modified);\n pos = schema-\u003ecolumn_families().find(family_name);\n }\n\n if (pos == schema-\u003ecolumn_families().end()) {\n throw std::runtime_error(\"GetOrCreateFamily failed\");\n }\n\n google::bigtable::admin::v2::ColumnFamily family = pos-\u003esecond;\n std::cout \u003c\u003c \"Column family name: \" \u003c\u003c pos-\u003efirst\n \u003c\u003c \"\\nColumn family details: \" \u003c\u003c family.DebugString() \u003c\u003c \"\\n\";\n }\n\nWhat's next\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigtable)."]]