🦐

【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