使用 mutate 插入資料列

使用 mutate 插入資料列。

程式碼範例

C++

如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章

如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

namespace cbt = ::google::cloud::bigtable;
[](cbt::Table table) {
  // Write several rows in a single operation, each row has some trivial data.
  cbt::BulkMutation bulk;
  for (int i = 0; i != 5000; ++i) {
    // Note: This example uses sequential numeric IDs for simplicity, but
    // this can result in poor performance in a production application.
    // Since rows are stored in sorted order by key, sequential keys can
    // result in poor distribution of operations across nodes.
    //
    // For more information about how to design a Bigtable schema for the
    // best performance, see the documentation:
    //
    //     https://cloud.google.com/bigtable/docs/schema-design
    char buf[32];
    snprintf(buf, sizeof(buf), "key-%06d", i);
    cbt::SingleRowMutation mutation(buf);
    mutation.emplace_back(
        cbt::SetCell("fam", "col0", "value0-" + std::to_string(i)));
    mutation.emplace_back(
        cbt::SetCell("fam", "col1", "value1-" + std::to_string(i)));
    bulk.emplace_back(std::move(mutation));
  }
  std::vector<cbt::FailedMutation> failures =
      table.BulkApply(std::move(bulk));
  if (failures.empty()) {
    std::cout << "All mutations applied successfully\n";
    return;
  }
  // By default, the `table` object uses the `SafeIdempotentMutationPolicy`
  // which does not retry if any of the mutations fails and are
  // not-idempotent. In this example we simply print such failures, if any,
  // and ignore them otherwise.
  std::cerr << "The following mutations failed and were not retried:\n";
  for (auto const& f : failures) {
    std::cerr << "index[" << f.original_index() << "]=" << f.status() << "\n";
  }
}

後續步驟

如要搜尋及篩選其他 Google Cloud 產品的程式碼範例,請參閱Google Cloud 範例瀏覽器