更新精简版预留
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
更新 Pub/Sub 精简版预留
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Python
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。
如需了解详情,请参阅为本地开发环境设置身份验证。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","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)."]]