將 Pub/Sub 訂閱項目連結至 Cloud Run 服務
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
使用 Terraform 建立 Pub/Sub 訂閱項目,訂閱 Cloud Run 服務
程式碼範例
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。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)."]]