Cloud Run 서비스에 Pub/Sub 구독 연결
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Terraform을 사용하여 Cloud Run 서비스의 Pub/Sub 구독 만들기
코드 샘플
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 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)."]]