将 Pub/Sub 订阅连接到 Cloud Run 服务
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
使用 Terraform 创建 Pub/Sub 订阅以连接至 Cloud Run 服务
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 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,["# Connect a Pub/Sub subscription to a Cloud Run services\n\nUses Terraform to create a Pub/Sub subscription to a Cloud Run service\n\nCode sample\n-----------\n\n### Terraform\n\n\nTo learn how to apply or remove a Terraform configuration, see\n[Basic Terraform commands](/docs/terraform/basic-commands).\n\n\nFor more information, see the\n[Terraform provider reference documentation](https://registry.terraform.io/providers/hashicorp/google/latest/docs).\n\n data \"google_project\" \"project\" {\n }\n\n # Enable Cloud Run API\n resource \"google_project_service\" \"cloudrun_api\" {\n service = \"run.googleapis.com\"\n disable_on_destroy = false\n }\n\n resource \"google_cloud_run_v2_service\" \"default\" {\n name = \"pubsub-tutorial\"\n location = \"us-central1\"\n\n deletion_protection = false # set to true to prevent destruction of the resource\n\n template {\n containers {\n image = \"us-docker.pkg.dev/cloudrun/container/hello\" # Replace with newly created image gcr.io/\u003cproject_id\u003e/pubsub\n }\n }\n depends_on = [google_project_service.cloudrun_api]\n }\n\n resource \"google_service_account\" \"sa\" {\n account_id = \"cloud-run-pubsub-invoker\"\n display_name = \"Cloud Run Pub/Sub Invoker\"\n }\n\n resource \"google_cloud_run_service_iam_binding\" \"binding\" {\n location = google_cloud_run_v2_service.default.location\n service = google_cloud_run_v2_service.default.name\n role = \"roles/run.invoker\"\n members = [\"serviceAccount:${google_service_account.sa.email}\"]\n }\n\n resource \"google_project_service_identity\" \"pubsub_agent\" {\n provider = google-beta\n project = data.google_project.project.project_id\n service = \"pubsub.googleapis.com\"\n }\n\n resource \"google_project_iam_binding\" \"project_token_creator\" {\n project = data.google_project.project.project_id\n role = \"roles/iam.serviceAccountTokenCreator\"\n members = [\"serviceAccount:${google_project_service_identity.pubsub_agent.email}\"]\n }\n\n resource \"google_pubsub_topic\" \"default\" {\n name = \"pubsub_topic\"\n }\n\n resource \"google_pubsub_subscription\" \"subscription\" {\n name = \"pubsub_subscription\"\n topic = google_pubsub_topic.default.name\n push_config {\n push_endpoint = google_cloud_run_v2_service.default.uri\n oidc_token {\n service_account_email = google_service_account.sa.email\n }\n attributes = {\n x-goog-version = \"v1\"\n }\n }\n depends_on = [google_cloud_run_v2_service.default]\n }\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=cloudrun)."]]