Azure 函数命令行在授权级别设置为 "Function" 的情况下进行本地测试时失败



我在项目中定义了几个函数,我一直将它们发布到Azure,以便进行测试。我更喜欢使用本地命令行实用程序,并将Postman指向我的"localhost"路径。

[FunctionName("NetworkNodes")]
public static async Task<HttpResponseMessage> NetworkNodes([HttpTrigger(AuthorizationLevel.Function, "get", Route = "{DomainName}/{ApiKey}/{NodeId}")]HttpRequestMessage req, TraceWriter log)
{
return req.CreateResponse(HttpStatusCode.OK, "Testing");
}

我可以让函数响应,但它们总是返回HTTP500错误,因为它们都被设置为需要一个函数键才能执行。

在本地测试时是否可以使用伪函数键,或者如何在不更改代码以在本地执行的情况下满足AuthorizationLevel的要求?

实现这一点的正确方法是使用Azure函数代理。您甚至可以在本地抽象函数的授权级别(和令牌(。使用func.exe通过点击此视频中描述的代理定义进行本地测试:

https://youtu.be/9J_vpXPbpkc

最新更新