Skip to content

Commit fecc4f3

Browse files
committed
update migration guide
1 parent 4ba945e commit fecc4f3

1 file changed

Lines changed: 162 additions & 0 deletions

File tree

doc/v3-migration-guide.md

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,23 @@ module which can be added to your `MODULE.bazel` file as a dependency.
4242

4343
### CMake
4444

45+
<details>
46+
<summary>Removed backward compatible proto interface libraries.</summary>
47+
48+
If your application links directly to one of these decommissioned proto
49+
libraries, the CMakeLists.txt should be updated with the preferred proto library
50+
name.
51+
52+
| Library | Decommissioned Proto Library | Preferred Proto Library |
53+
| -------------------------- | ----------------------------------- | -------------------------------------- |
54+
| google/cloud/dialogflow_es | cloud_dialogflow_v2_protos | google-cloud-cpp::dialogflow_es_protos |
55+
| google/cloud/logging | logging_type_type_protos | google-cloud-cpp::logging_protos |
56+
| google/cloud/speech | cloud_speech_protos | google-cloud-cpp::speech_protos |
57+
| google/cloud/texttospeech | cloud_texttospeech_protos | google-cloud-cpp::texttospeech_protos |
58+
| google/cloud/trace | devtools_cloudtrace_v2_trace_protos | google-cloud-cpp::trace_protos |
59+
60+
</details>
61+
4562
### Common
4663

4764
<details>
@@ -487,6 +504,122 @@ internal legacy files.
487504

488505
</details>
489506

507+
<details>
508+
<summary>Removed <code>bigtable::AdminClient</code> and <code>bigtable::TableAdmin</code></summary>
509+
510+
The `bigtable::AdminClient` class and `bigtable::TableAdmin` class have been
511+
replaced with `bigtable_admin::BigtableTableAdminClient`.
512+
513+
**Before:**
514+
515+
```cpp
516+
517+
std::shared_ptr<bigtable::AdminClient> admin_client =
518+
bigtable::MakeAdminClient("project-id");
519+
auto table_admin = std::make_unique<bigtable::TableAdmin>(
520+
admin_client, "instance-id");
521+
522+
// Drop a selection of rows by key prefix.
523+
auto result = table_admin.DropRowByPrefix("table-id", "row-key-prefix");
524+
525+
// Drop all rows.
526+
result = table_admin.DropAllRows("table-id");
527+
```
528+
529+
**After:**
530+
531+
```cpp
532+
#include "google/cloud/bigtable/admin/bigtable_table_admin_client.h"
533+
534+
auto table_admin = bigtable_admin::BigtableTableAdminClient(
535+
bigtable_admin::MakeBigtableAdminConnection());
536+
auto table_name = bigtable::TableName("project-id", "instance-id", "table-id");
537+
538+
// Drop a selection of rows by key prefix.
539+
google::bigtable::admin::v2::DropRowRangeRequest drop_rows_by_prefix;
540+
drop_rows_by_prefix.set_name(table_name);
541+
drop_rows_by_prefix.set_row_key_prefix("row-key-prefix");
542+
auto result = table_admin.DropRowRange(drop_rows_by_prefix);
543+
544+
// Drop all rows.
545+
google::bigtable::admin::v2::DropRowRangeRequest drop_all_rows;
546+
drop_all_rows.set_name(table_name);
547+
drop_all_rows.set_delete_all_data_from_table(true);
548+
result = table_admin.DropRowRange(drop_all_rows);
549+
```
550+
551+
</details>
552+
553+
<details><summary><code>WaitForConsistency</code> is now a free function</summary>
554+
555+
With the removal of the `bigtable::TableAdmin` class, `WaitForConsistency` has
556+
been moved to `bigtable_admin::BigtableTableAdminClient::WaitForConsistency`.
557+
558+
**Before:**
559+
560+
```cpp
561+
562+
std::shared_ptr<bigtable::AdminClient> admin_client =
563+
bigtable::MakeAdminClient("project-id");
564+
auto table_admin = std::make_unique<bigtable::TableAdmin>(
565+
admin_client, "instance-id");
566+
567+
auto token = table_admin.GenerateConsistencyToken("table-id");
568+
if (!token) throw std::runtime_error(token.status().message());
569+
auto result = table_admin.WaitForConsistency("table-id", *token);
570+
```
571+
572+
**After:**
573+
574+
```cpp
575+
#include "google/cloud/bigtable/admin/bigtable_table_admin_client.h"
576+
577+
auto connection = bigtable_admin::MakeBigtableAdminConnection();
578+
auto table_admin = bigtable_admin::BigtableTableAdminClient(connection);
579+
auto table_name = bigtable::TableName("project-id", "instance-id", "table-id");
580+
581+
auto token = table_admin.GenerateConsistencyToken(table_name);
582+
if (!token) throw std::runtime_error(token.status().message());
583+
584+
google::bigtable::admin::v2::CheckConsistencyRequest wait_request;
585+
wait_request.set_name(table_name);
586+
wait_request.set_consistency_token(token->consistency_token());
587+
auto wait_response = table_admin.WaitForConsistency(wait_request).get();
588+
```
589+
590+
</details>
591+
592+
<details>
593+
<summary>Removed <code>bigtable::InstanceAdminClient</code> and <code>bigtable::InstanceAdmin</code></summary>
594+
595+
The `bigtable::InstanceAdminClient` class and `bigtable::InstanceAdmin` class
596+
have been replaced with `bigtable_admin::BigtableInstanceAdminClient`.
597+
598+
**Before:**
599+
600+
```cpp
601+
auto instance_admin_client = bigtable::MakeInstanceAdminClient("project-id");
602+
auto instance_admin =
603+
std::make_unique<bigtable::InstanceAdmin>(instance_admin_client);
604+
605+
auto clusters = instance_admin->ListClusters();
606+
```
607+
608+
**After:**
609+
610+
```cpp
611+
#include "google/cloud/bigtable/admin/bigtable_instance_admin_client.h"
612+
613+
auto instance_admin =
614+
std::make_unique<bigtable_admin::BigtableInstanceAdminClient>(
615+
bigtable_admin::MakeBigtableInstanceAdminConnection());
616+
617+
auto clusters = instance_admin->ListClusters(
618+
InstanceName("project-id", "instance-id"));
619+
```
620+
621+
</details>
622+
490623
### Pubsub
491624
492625
<details>
@@ -936,6 +1069,35 @@ void UseRawClient(google::cloud::storage::Client client) {
9361069

9371070
</details>
9381071

1072+
<details>
1073+
<summary>Removed <code>storage_experimental::GrpcPluginOption</code> and <code>storage_experimental::DefaultGrpcClient</code></summary>
1074+
1075+
The `storage_experimental::GrpcPluginOption` is no longer necessary. Instead of
1076+
calling `storage_experimental::DefaultGrpcClient` now call
1077+
`storage::MakeGrpcClient`
1078+
1079+
**Before:**
1080+
1081+
```cpp
1082+
#include "google/cloud/storage/grpc_plugin.h"
1083+
namespace gc = ::google::cloud;
1084+
1085+
auto options = gc::Options{}
1086+
.set<gc::storage_experimental::GrpcPluginOption>("media");
1087+
auto client = gc::storage_experimental::DefaultGrpcClient(options);
1088+
```
1089+
1090+
**After:**
1091+
1092+
```cpp
1093+
#include "google/cloud/storage/grpc_plugin.h"
1094+
namespace gc = ::google::cloud;
1095+
1096+
auto client = gc::storage::MakeGrpcClient();
1097+
```
1098+
1099+
</details>
1100+
9391101
<details>
9401102
<summary>Removed deprecated <code>Oauth2CredentialsOption</code></summary>
9411103

0 commit comments

Comments
 (0)