Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ackeecz/terraform-gcp-cloud-run_pubsub_to_bq
Cloud Run subscribes itself to given topic and inserts each message to BigQuery table.
https://github.com/ackeecz/terraform-gcp-cloud-run_pubsub_to_bq
bigquery gcp pubsub terraform
Last synced: 4 days ago
JSON representation
Cloud Run subscribes itself to given topic and inserts each message to BigQuery table.
- Host: GitHub
- URL: https://github.com/ackeecz/terraform-gcp-cloud-run_pubsub_to_bq
- Owner: AckeeCZ
- Created: 2022-02-27T19:55:49.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-07T01:18:02.000Z (2 months ago)
- Last Synced: 2024-09-07T03:50:58.105Z (2 months ago)
- Topics: bigquery, gcp, pubsub, terraform
- Language: HCL
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# PubSub Topic Subscriber to BigQuery
Cloud Run subscribes itself to given topic and inserts each message to BigQuery table.
## Docker image
Before use, build & push docker image in `./code` folder.
```bash
cd code
docker build . -t gcr.io/PROJECT/pubsub-to-bq-consumer:latest
docker push gcr.io/PROJECT/pubsub-to-bq-consumer:latest
```## Before you do anything in this module
Install pre-commit hooks by running following commands:
```shell script
brew install pre-commit terraform-docs
pre-commit install
```## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |## Providers
| Name | Version |
|------|---------|
| [google](#provider\_google) | n/a |
| [random](#provider\_random) | n/a |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [google_cloud_run_service.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_service) | resource |
| [google_cloud_run_service_iam_policy.noauth](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_service_iam_policy) | resource |
| [google_project_iam_member.sa_bigquery](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/project_iam_member) | resource |
| [google_project_iam_member.sa_token_creator](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/project_iam_member) | resource |
| [google_pubsub_subscription.default](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/pubsub_subscription) | resource |
| [google_pubsub_topic_iam_member.sa_subscriber](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/pubsub_topic_iam_member) | resource |
| [google_service_account.sa](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/service_account) | resource |
| [random_string.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
| [google_iam_policy.noauth](https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/iam_policy) | data source |
| [google_project.project](https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/project) | data source |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [bigquery\_table](#input\_bigquery\_table) | `table_id` cloud function variable of the target table | `string` | n/a | yes |
| [project](#input\_project) | n/a | `string` | n/a | yes |
| [region](#input\_region) | n/a | `string` | n/a | yes |
| [topic\_name](#input\_topic\_name) | Topic name to consume messages from | `any` | n/a | yes |## Outputs
No outputs.