我在我的powershell函数应用程序中写了以下内容:
param($Timer)
$currentUTCtime = (Get-Date).ToUniversalTime()
if ($Timer.IsPastDue) {
Write-Host "PowerShell timer is running late!"
}
# Write an information log with the current time.
Write-Host "PowerShell timer trigger function ran! TIME: $currentUTCtime"
$connectionString = "<connectionstring>"
$querystr = "select * from MyTable
Invoke-Sqlcmd -ConnectionString $connectionString -Query $querystr -OutputSqlErrors $true
requirements.psd1具有以下内容:
@{
'Az' = '10.*'
}
当我运行它的时候,它给出了一个错误:
ERROR: The term 'Invoke-Sqlcmd' is not recognized as a name of a cmdlet, function, script file, or executable program.
System.Management.Automation.CommandNotFoundException
我需要在文件中包含什么才能使此工作?
2条答案
按热度按时间bt1cpqcv1#
Invoke-Sqlcmd
Cmdlet是SqlServer
模块的一部分。因此,最终的requirements.psd1
文件应该是这样的:w46czmvw2#
在本地创建Powershell Azure函数并将其部署到Azure functionapp。
要遵循的步骤:
1.打开命令提示符=>使用命令
az login
登录到Azure。1.使用
npm i -g azure-functions-core-tools@4 --unsafe-perm true
命令安装Azure function core tools
。1.使用命令创建Azure函数:
创建函数的文件:
需要安装
SqlServer module
才能解决。Install-Module sqlserver
**安装Sqlserver module
:Get-Command -Module SqlServer
**检查Invoke-sqlcmd
是否在已安装的SqlServer module
中可用。Import-Module sqlserver
**导入模块:然后如 *@Abdul Niyas P M * 提到的,在
requirements.psd1
中添加'SqlServer' = '22.*'
。按照上面的步骤,我在我的环境中运行了相同的代码。
回复: