【Azure 应用服务】Azure Powershell Function 出错 The term 'Connect-AzAccount' is not recognized
问题描述
在Azure Function中,执行Powershell的Function脚本时,先后出现
1:[Error] ERROR: The term 'Connect-AzAccount' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again
2:[Error] ERROR: The term 'Set-AzApplicationGatewayAutoscaleConfiguration' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again
问题解答
以上错误,和在本地执行Powershell命令一样,就是缺少命令对应的Powershell 模块。 只是PowerShell Function的module配置在文件 requirements.psd1 中, 这个文件在创建Powershell Function时候会自动生成在WWWROOT目录下,可以通过Kudu站点(https://<your function app name>.scm.chinacloudsites.cn/),或者是 App Service Editer 页面进行修改。
如下图:
而 Connect-AzAccount 对应的module为 az.Accounts, Set-AzApplicationGatewayAutoscaleConfiguration 对应的module为 Az.Network。
只要把这两个Modul加入到 requirements.psd1文件中后,重启Function App即可(重启的目的是为了让Funciton App所在实例安装 Poweshell Module)。
参考资料
Connect-AzAccount : https://learn.microsoft.com/en-us/powershell/module/az.accounts/connect-azaccount?view=azps-9.1.0当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!