问题描述
在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)。