PlayFab で Azure Functions を使う場合、リポジトリにコミットしたくない情報は環境変数として管理することが必要です。
この記事では、Azure Functions で環境変数を設定する方法について解説しています。
「サーバー側」と「ローカル側」の2種類で環境変数の設定が必要になるので、注意してください。
では、さっそく見ていきましょう。
Azure Functions で環境変数を設定する方法
サーバー側の環境変数を設定する
Azure Functions にアクセスして実行するときに使える環境変数を登録します。
Azure 公式ドキュメントのアプリケーションの設定にも記載がありますが、Azure ポータルから登録することができます。
まずは、Azure ポータルで「func」と検索し、「関数アプリ」を見つけてクリックします。
環境変数を登録したいアプリを選びます。
左のバーを下にスクロールして、「構成」を選びます。
すると環境変数を登録する画面が出てくるので、「新しいアプリケーション設定」を選びましょう。
今回は「PLAYFAB_TITLE_ID」という環境変数を登録してみます。
名前と値を入力したらOKしましょう。
ここで終わりではありません。
最後に必ず「保存」をしましょう。
ここで登録した「PLAYFAB_TITLE_ID」は、他の記事で使うことになるので残しておきましょう。
また、シークレットキーとして使用する「PLAYFAB_DEV_SECRET_KEY」も合わせて登録をしておくことをおすすめします。
これで、サーバー側の環境変数の設定は完了です。
ローカル側の環境変数を設定する
デバッグをする場合は、ローカルで環境変数を設定する必要があります。
Azure Functions の機能を使ってプロジェクトを作成した場合は、「local.settings.json」というファイルができているはずです。
ローカルの場合は、「local.settings.json」に環境変数を登録していきます。
「Key:Value」の形式で登録することができます。
今回は、PLAYFAB_TITLE_ID と PLAYFAB_DEV_SECRET_KEY を登録してみました。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"PLAYFAB_DEV_SECRET_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // ←ここ!!
"PLAYFAB_TITLE_ID": "XXXXX" // ←ここ!!
}
}
ローカルの場合は、これで準備が整いました。
環境変数の呼び出し方
公式ドキュメントにも記載がありますが、「System.Environment.GetEnvironmentVariable」から取得することができます。
System.Environment.GetEnvironmentVariable("PLAYFAB_TITLE_ID", EnvironmentVariableTarget.Process);
まとめ
Azure Functions で環境変数を設定する方法について解説しました。
秘密にしておきたい情報を普通のクラスの定数として管理してしまうと、public なリポジトリにコミットしてしまうことになります。
情報が悪用されないようにするためにも、環境変数を使うようにしましょう。
最後にまとめを残しておきますね。
- Azure ポータルから設定できる
- Azure Functions を呼び出したときに使用する
- local.settings.json で設定する
- デバッグの際に使用する
PlayFab のことをもっと皆さんに知ってもらいたくて、合計500ページ以上にもなる書籍を5冊に分けて執筆しました。
私の知識をすべて詰め込んでいるので、ゲーム開発をさらに加速させたい方はぜひご覧ください。