Skip to main content

App Engine

App Engine Standard uses the default App Engine service account bound to your app. Useful for simple APIs that don't need custom networking.

When to choose App Engine​

  • Simple web APIs without custom networking requirements
  • ~$0 on the F1 free tier for low-traffic apps
  • You prefer gcloud app deploy over container workflows

app.yaml​

runtime: python314
entrypoint: uvicorn main:app --host 0.0.0.0 --port $PORT

env_variables:
GCP_PROJECT: "my-project"

Deploy​

gcloud app deploy

Grant service account permissions​

Grant the App Engine default service account the roles it needs:

gcloud projects add-iam-policy-binding my-project \
--member "serviceAccount:my-project@appspot.gserviceaccount.com" \
--role "roles/secretmanager.secretAccessor"

ADC automatically uses the App Engine default service account — no key files or GOOGLE_APPLICATION_CREDENTIALS needed. Your Python code is identical to the Cloud Run secrets pattern.

Next steps​