GoogleのAPIを使うのに必要なサービスアカウントを環境変数で管理する
サービスアカウント=jsonファイル
jsonファイルの中身を環境変数に設定する(str型)
jsonファイルを持ち歩かなくて済む(デプロイしやすい)
使うときにstrかdictかは、合わせて使うライブラリによる
base64 encodeも合わせて実施する
k8sでも使われている(鍵の証明書をbase64でencodeして使っている)
b64encode: bytes -> エンコードされたbytes
b64decode: エンコードされたbytes -> デコードされたbytes
strのencodeやbytesのdecode、encoding引数のデフォルト値は"utf-8"
(今回の)手順
1. サービスアカウントのファイルを1行にまとめたファイルを作る(まとめていて気付いたが、不要だった)
2. サービスアカウントのjsonを読み込む(辞書型)
3. 文字列として出力し、bytesに変換する
4. base64でencode
code:python
with open("path/to/service_account.json", encoding="utf8") as f:
credentials_json = json.load(f)
base64.b64encode(json.dumps(credentials_json).encode())
base64 encodeしてできた文字列を環境変数に設定する
情報の取り出し方
環境変数を読み込む
base64でdecode(bytes型になる)
str型にdecode
(jsonでdict型にする場合もある)