こんばんはエンジニアの眠れない夜です。
Cloud RunでGoogleのSecretマネージャーを使うときの勘所のメモです。
- 設定した名前が環境変数のキーとして登録される
- 設定した値はすべて、キーのバリュー(Str)に登録される
キー(名前)をenvで登録した場合
SecretManagerの値にJSON形式で保存していた場合、このように環境変数のキーenv
の値として、String形式で取得できる。
JSONで取り出す処理
# 環境変数をすべてプリント
for key, value in os.environ.items():
if key == "env":
json_data = json.loads(value)
print('json_data:', json_data)
環境変数とSecretマネージャーの両方から取得を切り替えられるようにする関数
def get_env_value(key: str, default: str = None) -> str:
if key == "env":
json_data = json.loads(value)
return json_data.get(key)
else:
return os.environ.get(key, default)
課題
キー他院医の編集ができないため、本番と開発用のENVファイルがあると管理が複雑になる。
結論
Cloud Runを使うときの環境変数は初めの登録が面倒ではあるが、「変数」として登録したほうが管理が楽になる。
コメントを残す