Django + APP ENGINE (GAE) - Не обнаружен локальный .env или GOOGLE_CLOUD_PROJECT. Секреты не найдены

Я хочу развернуть на App Engine приложение Django. Я создал и настроил SECRET MANAGER в GAE и когда я хочу получить этот секрет из моего SETTINGS.PY, он выдает ошибку 'No local .env or GOOGLE_CLOUD_PROJECT detected. Секреты не найдены'.

Если я создаю .env локально, он работает, но я хочу получить секретную информацию из GAE.

SETTING.PY

env_file = os.path.join(BASE_DIR, ".env")

if os.path.isfile(env_file):
   # Use a local secret file, if provided

   env.read_env(env_file)
# ...
elif os.environ.get("GOOGLE_CLOUD_PROJECT", None):
   # Pull secrets from Secret Manager
   project_id = os.environ.get("GOOGLE_CLOUD_PROJECT")

   client = secretmanager.SecretManagerServiceClient()
   settings_name = os.environ.get("SETTINGS_NAME", "secret-django-phi")
   name = f"projects/{project_id}/secrets/{settings_name}/versions/latest"
   payload = client.access_secret_version(name=name).payload.data.decode("UTF-8")

   env.read_env(io.StringIO(payload))
else:
   raise Exception("No local .env or GOOGLE_CLOUD_PROJECT detected. No secrets found.")

REQUIREMENTS.txt

google-cloud-secret-manager==1.0.0
django-environ==0.4.5

SECRET MANAGER, который я загружаю на GAE как .env файл

db_ip=x
db_name=x
db_user=x
db_pass=x
SECRET_KEY=*a lot of characters*

Вернуться на верх