Azure CLIを使って仮想アプリケーションとディレクトリを変更する
チュートリアル:Azure で PHP と MySQL アプリを構築する | 仮想アプリケーション パスを設定する を参考に仮想ディレクトリを変更しようとしたらつまずいた。 どうやらURLが正しくないみたい。
az resource update --name yourproject --resource-group yourprojectrg --namespace Microsoft.Web --resource-type config --parent sites/<app_name> --set properties.virtualApplications[0].physicalPath="site\wwwroot\public" --api-version 2015-06-01 Operation failed with status: 'Not Found'. Details: 404 Client Error: Not Found for url: https://management.azure.com/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourcegroups/yourprojectrg/providers/Microsoft.Web/sites/yourproject/config/yourproject?api-version=2015-06-01
Resource Explorerから該当のリクエストURLを確認したところリソースIDの形式がマッチしてない模様。
https://management.azure.com/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/yourprojectrg/providers/Microsoft.Web/sites/yourproject/config/web?api-version=2018-02-01
力技ですが、az resource update
コマンドでidsオプションでリソースIDを指定することで対応した。
※合わせてapi versionの日付も修正
subscription_id=$(az account show --query id) az resource update --ids "/subscriptions/${subscription_id}/resourceGroups/yourprojectrg/providers/Microsoft.Web/sites/yourproject/config/web" --set properties.virtualApplications[0].physicalPath="site\wwwroot\public" --api-version 2018-02-01
期待通りになっている。
上記を使えば追加もできそう。