我在C#中设置了一个非常简单的Azure功能来响应HttpTrigger
。当我在Microsoft Azure instructions之后本地运行该函数时,我所回复的只是一个空的404响应。
我正在使用安装了Visual Studio 2017 v15.3 Preview扩展程序的Azure Function Tools。这是我的Azure功能的代码:
[FunctionName("Func1")]
public static async Task<object> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, WebHookType = "genericJson")]
HttpRequestMessage req,
TraceWriter log)
{
return req.CreateResponse(HttpStatusCode.OK);
}
当我在本地运行它时(通过右键单击VS项目并进入Debug&gt;启动新实例),它似乎启动就好了。我的功能已被识别,并且为其指定的URL为http://localhost:7071/api/Func1
但是,当我获取或POST到上面的URL(Content-Type标头设置为“application / json”)时,我得到一个空的404响应。 Azure Functions CLI控制台输出:
[6/12/2017 12:26:12 PM]执行HTTP请求:{
[6/12/2017 12:26:12 PM]“requestId”:“ae247ea6-c055-40f5-a09c-40ea207cc785”,
[6/12/2017 12:26:12 PM]“方法”:“获取”,
[6/12/2017 12:26:12 PM]“uri”:“/ api / Func1”
[6/12/2017 12:26:12 PM]}
[6/12/2017 12:26:12 PM]执行HTTP请求:{
[6/12/2017 12:26:12 PM]“requestId”:“ae247ea6-c055-40f5-a09c-40ea207cc785”,
[6/12/2017 12:26:12 PM]“方法”:“获取”,
[6/12/2017 12:26:12 PM]“uri”:“/ api / Func1”,
[6/12/2017 12:26:12 PM]“authorizationLevel”:“匿名”
[6/12/2017 12:26:12 PM]}
[6/12/2017 12:26:12 PM]回复详情:{
[6/12/2017 12:26:12 PM]“requestId”:“ae247ea6-c055-40f5-a09c-40ea207cc785”,
[6/12/2017 12:26:12 PM]“status”:“NotFound”
[6/12/2017 12:26:12 PM]}
为什么我会收到404,我该如何解决?
答案 0 :(得分:7)
您需要指定methods
参数,例如
[HttpTrigger(AuthorizationLevel.Anonymous, "GET")]