Azure Timer Trigger Java函数手动触发持续返回400 Bad Request求助
解决Azure Timer Trigger函数手动HTTP触发返回400 Bad Request的问题
核心问题排查与解决方案
1. 必须携带授权密钥请求头
Azure Functions的admin触发端点需要授权,必须在请求头中添加x-functions-key,值为函数应用的主密钥或主机密钥:
- 密钥可从Azure门户的「函数应用 → 密钥 → 主密钥/主机密钥」获取
- 本地运行时,可从
local.settings.json文件中找到FUNCTIONS_KEY(或_master密钥)
2. 确保请求体格式正确
对于无输入参数的Java Timer Trigger函数,正确的请求体只需满足合法JSON格式即可,推荐使用:
{}{"input": null}
注意:你之前尝试的{"input": test}是错误格式,test未加双引号会导致JSON解析失败,直接返回400,无输入需求时忽略input字段即可。
3. 验证端点路径正确性
确认触发URL的函数名与代码中@FunctionName注解的名称完全一致(区分大小写):
- 例如代码中是
@FunctionName("DailyCleanupTimer"),URL必须为https://<hostname>/admin/functions/DailyCleanupTimer
示例请求(curl)
curl -X POST https://your-function-app.azurewebsites.net/admin/functions/YourTimerFunction \ -H "x-functions-key: YOUR_MASTER_KEY" \ -H "Content-Type: application/json" \ -d "{}"
内容的提问来源于stack exchange,提问作者Jithin
相关产品推荐
相关产品推荐

