Update Lite Reservation
Stay organized with collections
Save and categorize content based on your preferences.
Update a Pub/Sub Lite reservation
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# Update Lite Reservation\n\nUpdate a Pub/Sub Lite reservation\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Create and manage Lite reservations](/pubsub/lite/docs/reservations)\n\nCode sample\n-----------\n\n### Go\n\n\nTo authenticate to Pub/Sub Lite, 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 import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \t\"cloud.google.com/go/pubsublite\"\n )\n\n func updateReservation(w io.Writer, projectID, region, reservationID string, throughputCapacity int) error {\n \t// projectID := \"my-project-id\"\n \t// region := \"us-central1\"\n \t// reservationID := \"my-reservation-id\"\n \t// throughputCapacity := 8\n \tctx := context.Background()\n \tclient, err := pubsublite.NewAdminClient(ctx, region)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"pubsublite.NewAdminClient: %w\", err)\n \t}\n \tdefer client.Close()\n\n \treservationPath := fmt.Sprintf(\"projects/%s/locations/%s/reservations/%s\", projectID, region, reservationID)\n \tconfig := pubsublite.https://cloud.google.com/go/docs/reference/cloud.google.com/go/pubsublite/latest/index.html#cloud_google_com_go_pubsublite_ReservationConfigToUpdate{\n \t\tName: reservationPath,\n \t\tThroughputCapacity: throughputCapacity,\n \t}\n \tupdatedCfg, err := client.UpdateReservation(ctx, config)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"client.UpdateReservation got err: %w\", err)\n \t}\n \tfmt.Fprintf(w, \"Updated reservation: %#v\\n\", updatedCfg)\n \treturn nil\n }\n\n### Java\n\n\nTo authenticate to Pub/Sub Lite, 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 import com.google.api.gax.rpc.https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.rpc.NotFoundException.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClient.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClientSettings.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.CloudRegion.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ProjectNumber.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.ReservationName.html;\n import com.google.cloud.pubsublite.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ReservationPath.html;\n import com.google.cloud.pubsublite.proto.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.Reservation.html;\n import java.util.concurrent.ExecutionException;\n\n public class UpdateReservationExample {\n public static void main(String... args) throws Exception {\n // TODO(developer): Replace these variables before running the sample.\n long projectNumber = Long.parseLong(\"123456789\");\n String cloudRegion = \"your-cloud-region\";\n String reservationId = \"your-reservation-id\";\n // Each unit of throughput capacity supports up to 1 MiB/s of published messages or\n // 2 MiB/s of subscribed messages.\n int throughputCapacity = 8;\n\n updateReservationExample(projectNumber, cloudRegion, reservationId, throughputCapacity);\n }\n\n public static void updateReservationExample(\n long projectNumber, String cloudRegion, String reservationId, int throughputCapacity)\n throws Exception {\n\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ReservationPath.html reservationPath =\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ReservationPath.html.newBuilder()\n .setProject(https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ProjectNumber.html.of(projectNumber))\n .setLocation(https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.CloudRegion.html.of(cloudRegion))\n .setName(https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.ReservationName.html.of(reservationId))\n .build();\n\n com.google.protobuf.FieldMask fieldMask =\n com.google.protobuf.FieldMask.newBuilder().addPaths(\"throughput_capacity\").build();\n\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.Reservation.html reservation =\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.Reservation.html.newBuilder()\n .setName(reservationPath.https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.ReservationPath.html#com_google_cloud_pubsublite_ReservationPath_toString__())\n .setThroughputCapacity(throughputCapacity)\n .build();\n\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClientSettings.html adminClientSettings =\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClientSettings.html.newBuilder().setRegion(https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.CloudRegion.html.of(cloudRegion)).build();\n\n try (https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClient.html adminClient = https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.AdminClient.html.create(adminClientSettings)) {\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.Reservation.html reservationBeforeUpdate = adminClient.getReservation(reservationPath).get();\n System.out.println(\"Before update: \" + reservationBeforeUpdate.getAllFields());\n\n https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.Reservation.html reservationAfterUpdate =\n adminClient.updateReservation(reservation, fieldMask).get();\n System.out.println(\"After update: \" + reservationAfterUpdate.getAllFields());\n } catch (ExecutionException e) {\n try {\n throw e.getCause();\n } catch (https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.rpc.NotFoundException.html notFound) {\n System.out.println(\"This reservation is not found.\");\n } catch (Throwable throwable) {\n throwable.printStackTrace();\n }\n }\n }\n }\n\n### Python\n\n\nTo authenticate to Pub/Sub Lite, 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 from google.api_core.exceptions import NotFound\n from google.cloud.pubsublite import https://cloud.google.com/python/docs/reference/pubsublite/latest/google.cloud.pubsublite.admin_client.AdminClient.html, Reservation\n from google.cloud.pubsublite.types import https://cloud.google.com/python/docs/reference/pubsublite/latest/google.cloud.pubsublite.types.CloudRegion.html, https://cloud.google.com/python/docs/reference/pubsublite/latest/google.cloud.pubsublite.types.ReservationPath.html\n from google.protobuf.field_mask_pb2 import FieldMask\n\n # TODO(developer):\n # project_number = 1122334455\n # cloud_region = \"us-central1\"\n # reservation_id = \"your-reservation-id\"\n # Each unit of throughput capacity supports up to 1 MiB/s of published messages\n # or 2 MiB/s of subscribed messages. Must be a positive integer.\n # throughput_capacity = 8\n\n cloud_region = CloudRegion(cloud_region)\n reservation_path = ReservationPath(project_number, cloud_region, reservation_id)\n\n # Defines which fields to update in the reservation.\n field_mask = FieldMask(paths=[\"throughput_capacity\"])\n\n reservation = Reservation(\n name=str(reservation_path), throughput_capacity=throughput_capacity\n )\n\n client = AdminClient(cloud_region)\n try:\n response = client.https://cloud.google.com/python/docs/reference/pubsublite/latest/google.cloud.pubsublite.admin_client.AdminClient.html#google_cloud_pubsublite_admin_client_AdminClient_get_reservation(reservation_path)\n print(f\"Before update: {response}\")\n\n response = client.https://cloud.google.com/python/docs/reference/pubsublite/latest/google.cloud.pubsublite.admin_client.AdminClient.html#google_cloud_pubsublite_admin_client_AdminClient_update_reservation(reservation, field_mask)\n print(f\"After update: {response}\")\n except NotFound:\n print(f\"{reservation_path} is not found.\")\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=pubsublite)."]]