Skip to main content
prefect-gcp helps you leverage the capabilities of Google Cloud Platform (GCP) in your workflows. For example, you can run flow on Vertex AI or Cloud Run, read and write data to BigQuery and Cloud Storage, retrieve secrets with Secret Manager.

Getting Started

Prerequisites

Install prefect-gcp

Install or update to the latest version of the prefect-gcp library and dependencies.
If using BigQuery, Cloud Storage, Secret Manager, or Vertex AI, see additional installation options. To install with all additional functionality, use the following command:

Register newly installed block types

Register the block types in the module to make them available for use.

Authenticate using a GCP Credentials block

Authenticate with a service account to use prefect-gcp services.
  1. Refer to the GCP service account documentation to create and download a service account key file.
  2. Copy the JSON contents.
  3. Use the Python code below, replace the placeholders with your information.
service_account_info vs service_account_fileThe advantage of using service_account_info, instead of service_account_file, is that it is accessible across containers.If service_account_file is used, the provided file path must be available in the container executing the flow.
Alternatively, GCP can authenticate without storing credentials in a block. See the Third-pary Secrets docs for an analogous example that uses AWS Secrets Manager and Snowflake.

Run flows on Google Cloud Run or Vertex AI

Run flows on Google Cloud Run or Vertex AI to dynamically scale your infrastructure. See the Google Cloud Run Worker Guide for a walkthrough of using Google Cloud Run to run workflows with a hybrid work pool. If you’re using Prefect Cloud, Google Cloud Run push work pools provide all the benefits of Google Cloud Run along with a quick setup and no worker needed.

Use Prefect with Google BigQuery

Read data from and write to Google BigQuery within your Prefect flows. Be sure to install prefect-gcp with the BigQuery extra. This code creates a new dataset in BigQuery, define a table, insert rows, and fetch data from the table:

Use Prefect with Google Cloud Storage

Interact with Google Cloud Storage. Be sure to install prefect-gcp with the Cloud Storage extra. The code below uses prefect_gcp to upload a file to a Google Cloud Storage bucket and download the same file under a different file name.
Upload and download directoriesGcsBucket supports uploading and downloading entire directories.

Save secrets with Google Secret Manager

Read and write secrets with Google Secret Manager. Be sure to install prefect-gcp with the Secret Manager extra. The code below writes a secret to the Secret Manager, reads the secret data, and deletes the secret.

Access Google credentials or clients from GcpCredentials

You can instantiate a Google Cloud client, such as bigquery.Client. Note that a GcpCredentials object is NOT a valid input to the underlying BigQuery client - use the get_credentials_from_service_account method to access and pass a google.auth.Credentials object.
To access the underlying client, use the get_client method from GcpCredentials.

Resources

For assistance using GCP, consult the Google Cloud documentation. Refer to the prefect-gcp API documentation linked in the sidebar to explore all the capabilities of the prefect-gcp library.

Additional installation options

Additional installation options for GCP services are shown below.

To use Cloud Storage

To use BigQuery

To use Secret Manager

To use Vertex AI