Azure HTTP Trigger本地正常云端传参返回401错误求助
问题原因及解决方法
问题根源
你设置的AuthorizationLevel.Function意味着访问该Azure函数必须携带函数访问密钥,本地运行时Azure Functions Core Tools会自动注入密钥,所以无需手动提供;但部署到Azure后,未携带密钥的请求会被拦截,返回401未授权。
解决方式
方式一:临时改为匿名访问(仅测试场景)
修改HttpTrigger的授权级别为AuthorizationLevel.Anonymous,重新部署即可无需密钥访问:
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
注意:生产环境不建议使用匿名授权,存在安全风险。
方式二:携带函数密钥访问
- 登录Azure门户,找到你的函数应用
webhookcircles - 进入目标函数
httphook,点击右上角的获取函数URL - 复制包含密钥的完整URL,格式类似:
https://webhookcircles.azurewebsites.net/api/httphook?code=XXX&function=webhook
将其中的code=XXX参数加到你的请求里,即可正常访问。
方式三:使用主机密钥(适用于同一应用下多函数共享)
如果不想为单个函数单独管理密钥,可进入函数应用的设置 > 函数密钥 > 主机密钥,复制主密钥,在请求中携带code=主机密钥参数,同样可以访问该函数。
内容的提问来源于stack exchange,提问作者innom
相关产品推荐
相关产品推荐

