无法从java中的vs代码在本地运行azure函数
我在用VS代码调用java开发的azure函数时遇到了这个问题。除了run命令外,一切都很顺利。当我运行命令“mvn azure functions:run”时,它会正确启动。但是我没能从邮递员那里找到它。这是我的密码无法从java中的vs代码在本地运行azure函数,java,azure,maven,visual-studio-code,azure-functions,Java,Azure,Maven,Visual Studio Code,Azure Functions,我在用VS代码调用java开发的azure函数时遇到了这个问题。除了run命令外,一切都很顺利。当我运行命令“mvn azure functions:run”时,它会正确启动。但是我没能从邮递员那里找到它。这是我的密码 public class Function { @FunctionName("hello") public HttpResponseMessage hello(@HttpTrigger(name = "req", methods = {"get", "post"}
public class Function {
@FunctionName("hello")
public HttpResponseMessage hello(@HttpTrigger(name = "req", methods = {"get", "post"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage req,
final ExecutionContext context) {
context.getLogger().info("Java HTTP triger processed a request.");
String query = req.getQueryParameters().get("name").toString();
return req.createResponse(200, "hELLO "+query);
}
}
更新: 感谢Satya Panigrahy的分享,解决方案是运行mvn generate生成azure函数。顺便说一下,azure函数工具没有java语言的模板。有关更多信息,请查看此文档: 原始答案: 请查看此官方模板: 我认为
HttpRequestMessage
没有名为createResponse
的方法。如果您想实现,请尝试以下代码,在我这方面效果很好:
package com.function;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
public class Function {
@FunctionName("hello")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> req,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
String query = req.getQueryParameters().get("name").toString();
return req.createResponseBuilder(HttpStatus.OK).body("hELLO " + query).build();
}
}
package.com.function;
导入java.util.*;
导入com.microsoft.azure.functions.annotation.*;
导入com.microsoft.azure.functions.*;
公共类函数{
@函数名(“你好”)
公共HttpResponseMessage运行(
@HttpTrigger(name=“req”,methods={HttpMethod.GET,HttpMethod.POST},authLevel=AuthorizationLevel.ANONYMOUS)HttpRequestMessage req,
最终执行(上下文){
context.getLogger().info(“JavaHTTP触发器处理了一个请求。”);
字符串查询=req.getQueryParameters().get(“name”).toString();
返回req.createResponseBuilder(HttpStatus.OK).body(“hELLO”+query.build();
}
}
请尝试一下,如果您遇到一些问题,请告诉我。更新: 感谢Satya Panigrahy的分享,解决方案是运行mvn generate生成azure函数。顺便说一下,azure函数工具没有java语言的模板。有关更多信息,请查看此文档: 原始答案: 请查看此官方模板: 我认为
HttpRequestMessage
没有名为createResponse
的方法。如果您想实现,请尝试以下代码,在我这方面效果很好:
package com.function;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
public class Function {
@FunctionName("hello")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> req,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
String query = req.getQueryParameters().get("name").toString();
return req.createResponseBuilder(HttpStatus.OK).body("hELLO " + query).build();
}
}
package.com.function;
导入java.util.*;
导入com.microsoft.azure.functions.annotation.*;
导入com.microsoft.azure.functions.*;
公共类函数{
@函数名(“你好”)
公共HttpResponseMessage运行(
@HttpTrigger(name=“req”,methods={HttpMethod.GET,HttpMethod.POST},authLevel=AuthorizationLevel.ANONYMOUS)HttpRequestMessage req,
最终执行(上下文){
context.getLogger().info(“JavaHTTP触发器处理了一个请求。”);
字符串查询=req.getQueryParameters().get(“name”).toString();
返回req.createResponseBuilder(HttpStatus.OK).body(“hELLO”+query.build();
}
}
请尝试一下,如果您遇到一些问题,请告诉我。请尝试一下我答案中的代码。请看一下官方模板:嗨,有更新吗?你现在能算出来吗?请试一下我答案中的代码。请看一下官方模板:嗨,有更新吗?你现在能解决这个问题吗?我删除了所有内容,并使用maven命令“mvn generate”创建了一个azure函数,令人惊讶的是,它居然成功了。java的创建方式与您在这里提到的类似。但当我使用VS Code命令创建时,它产生了问题。我必须深入挖掘。我会让你知道为什么一个工作而另一个不工作。@SatyaPanigrahy任何更新请让我知道。我会更新我的答案。@SatyaPanigrahy事实上,即使使用vs代码创建azure函数,也需要运行mvn生成,因为azure函数工具没有java模板,所以我们需要使用mvn生成模板。确切地说,我们已经运行了maven生成模板。现在我知道azure函数工具没有java模板。我会记下来以备将来使用。非常感谢。@SatyaPanigrahy嗨,Satya。我在回答中更新了您的解决方案,可以吗?这将帮助其他遇到类似问题的人。:)我删除了所有内容,并使用maven命令“mvn generate”创建了一个azure函数,令人惊讶的是,这起作用了。java的创建方式与您在这里提到的类似。但当我使用VS Code命令创建时,它产生了问题。我必须深入挖掘。我会让你知道为什么一个工作而另一个不工作。@SatyaPanigrahy任何更新请让我知道。我会更新我的答案。@SatyaPanigrahy事实上,即使使用vs代码创建azure函数,也需要运行mvn生成,因为azure函数工具没有java模板,所以我们需要使用mvn生成模板。确切地说,我们已经运行了maven生成模板。现在我知道azure函数工具没有java模板。我会记下来以备将来使用。非常感谢。@SatyaPanigrahy嗨,Satya。我在回答中更新了您的解决方案,可以吗?这将帮助其他遇到类似问题的人。:)