当我在本地运行Azure功能时,为什么会得到404?

时间:2017-06-12 12:57:54

标签: azure azure-functions

我在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,我该如何解决?

1 个答案:

答案 0 :(得分:7)

您需要指定methods参数,例如

[HttpTrigger(AuthorizationLevel.Anonymous, "GET")]