如何使用PowerShell命令运行Azure Function?
如何用PowerShell直接运行Azure Function
HTTP触发的函数
对于HTTP触发的Azure Function,可直接通过PowerShell调用函数的触发URL来运行,步骤如下:
- 从Azure门户获取函数的触发URL(需包含访问密钥,如函数键或主机键)
- 执行对应PowerShell命令:
# 调用GET类型的HTTP函数 Invoke-RestMethod -Uri "https://<function-app-name>.azurewebsites.net/api/<function-name>?code=<access-key>" -Method Get # 调用POST类型的HTTP函数(需传递请求体) $body = @{ "param1" = "value1" "param2" = "value2" } | ConvertTo-Json Invoke-RestMethod -Uri "https://<function-app-name>.azurewebsites.net/api/<function-name>?code=<access-key>" -Method Post -Body $body -ContentType "application/json"
非HTTP触发的函数(如Timer、Blob、Queue触发)
这类函数无直接HTTP端点,可通过以下两种方式手动触发:
- 使用Azure Functions Core Tools:先安装Core Tools,再在PowerShell中执行:
# 本地启动函数应用并触发非HTTP函数(Timer函数需临时修改CRON表达式实现立即执行) func start --build # 直接在云端触发指定函数 func azure functionapp invoke <function-app-name> <function-name>
- 通过Azure资源操作触发:使用
Invoke-AzResourceAction命令调用函数的运行动作,需指定资源ID:
$resourceId = "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/sites/<function-app-name>/functions/<function-name>" Invoke-AzResourceAction -ResourceId $resourceId -Action "run" -Force
注意:触发非HTTP函数前,需确保函数应用处于运行状态(可通过Start-AzFunctionApp -Name "function-name" -ResourceGroupName "resource-group-name"启动)。
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

