Skip to content

Latest commit

 

History

History

run

Google Cloud Run Python Samples

Open in Cloud Shell

This directory contains samples for Google Cloud Run. Cloud Run runs stateless containers on a fully managed environment or in your own GKE cluster.

Samples

SampleDescriptionDeploy
Hello World ➥QuickstartRun on Google Cloud
Cloud Pub/SubHandling Pub/Sub push messagesRun on Google Cloud
Cloud SQL (MySQL)Use MySQL with Cloud Run-
Cloud SQL (Postgres)Use Postgres with Cloud Run-
DjangoDeploy Django on Cloud Run-
Identity PlatformAuthenticate users and connect to a Cloud SQL postgreSQL databasesRun on Google Cloud

For more Cloud Run samples beyond Python, see the main list in the Cloud Run Samples repository.

Setup

  1. Set up for Cloud Run development

  2. Clone this repository:

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git 

    Note: Some samples in the list above are hosted in other repositories. They are noted with the symbol "➥".

How to run a sample locally

  1. Install docker locally

  2. Build the sample container:

    export SAMPLE=<SAMPLE_NAME> cd $SAMPLE docker build --tag $SAMPLE . 
  3. Run containers locally

    With the built container:

    PORT=8080 && docker run --rm -p 8080:${PORT} -e PORT=${PORT} $SAMPLE 

    Overriding the built container with local code:

    PORT=8080 && docker run --rm \ -p 8080:${PORT} -e PORT=${PORT} \ -v $PWD:/app $SAMPLE 

    Injecting your service account key for access to GCP services:

    # Set the name of the service account key within the container export SA_KEY_NAME=my-key-name-123 PORT=8080 && docker run --rm \ -p 8080:${PORT} \ -e PORT=${PORT} \ -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/${SA_KEY_NAME}.json \ -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/${SA_KEY_NAME}.json:ro \ -v $PWD:/app $SAMPLE 
    • Use the --volume (-v) flag to inject the credential file into the container (assumes you have already set your GOOGLE_APPLICATION_CREDENTIALS environment variable on your machine)

    • Use the --environment (-e) flag to set the GOOGLE_APPLICATION_CREDENTIALS variable inside the container

    Learn more about testing your container image locally.

Deploying

  1. Set an environment variable with your GCP Project ID
export GOOGLE_CLOUD_PROJECT=<PROJECT_ID> 
  1. Submit a build using Google Cloud Build
gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/${SAMPLE} 
  1. Deploy to Cloud Run
gcloud run deploy $SAMPLE --image gcr.io/${GOOGLE_CLOUD_PROJECT}/${SAMPLE} 

See Building containers and Deploying container images for more information.

close