🦐
【Azure】AppServiceの環境変数をAzCLIで確認する方法
使用コマンド3選
az webapp config appsettings list \
--name <AppService名> \
--resource-group <リソースグループ名>
az webapp config appsettings list \
--name <AppService名> \
--resource-group <リソースグループ名> \
--query "[].{Name:name,Value:value}" \
-o table
az webapp config connection-string list \
--name <AppService名> \
--resource-group <リソースグループ名>
記事の内容
Azure App Serviceでは、アプリケーションの設定値(環境変数)は「アプリ設定(App Settings)」として管理されています。
本記事では、Az CLI(Azure CLI)を使って環境変数を一括確認する方法を、実務で使える形で整理します。
前提
- Azure CLI がインストール済み
- Azure にログイン済み
az login
App Serviceの環境変数とは
App Serviceにおける「環境変数」は主に以下で構成されます:
| 種別 | 内容 |
|---|---|
| App Settings | アプリ用の環境変数 |
| Connection Strings | DB接続などの構成情報 |
| システム環境変数 | Azureが内部で設定する値 |
※ CLIで直接取得できるのは主に「App Settings」と「Connection Strings」です。
方法①:App Settings(環境変数)を一覧取得
az webapp config appsettings list \
--name <AppService名> \
--resource-group <リソースグループ名>
出力例(JSON)
[
{
"name": "ENV",
"value": "production"
},
{
"name": "API_KEY",
"value": "xxxxx"
}
]
方法②:見やすく整形して出力
az webapp config appsettings list \
--name <AppService名> \
--resource-group <リソースグループ名> \
--query "[].{Name:name,Value:value}" \
-o table
出力例
Name Value
-------- --------
ENV production
API_KEY xxxxx
方法③:Connection Stringsも確認する
az webapp config connection-string list \
--name <AppService名> \
--resource-group <リソースグループ名>
方法④:Key Vault参照の注意点
App Settingsに以下のような設定がある場合:
@Microsoft.KeyVault(SecretUri=https://xxx.vault.azure.net/secrets/xxx)
方法⑤:複数App Serviceをまとめて確認
リソースグループ内のApp Serviceを列挙してループ処理
for app in $(az webapp list \
--resource-group <RG名> \
--query "[].name" -o tsv); do
echo "=== $app ==="
az webapp config appsettings list \
--name $app \
--resource-group <RG名> \
--query "[].{Name:name,Value:value}" \
-o table
done
よくあるハマりポイント
① スロットの設定を見ていない
デプロイスロットがある場合:
--slot <スロット名>
を付けないと本番設定しか見えません。
② 権限不足
エラー例:
AuthorizationFailed
- この場合Reader以上の権限が必要
③ 値が空に見える
原因:
- Key Vault参照
- スロット設定
- 環境ごとの差異
まとめ
| 方法 | 用途 |
|---|---|
| az webapp config appsettings list | 環境変数の基本取得 |
| --query + table | 見やすく整形 |
| connection-string list | 接続文字列確認 |
| ループ処理 | 複数Appの一括確認 |
Discussion