我有一个azure函数(f1),它使http调用另一个具有http触发器的azure函数(f2)。两者都是用java编写的,我使用的是简单的HttpClient。这是代码块。
HttpClient client = HttpClientBuilder.create().build();
HttpGet httpRequest = new HttpGet("https://test.azurewebsites.net/api/test");
HttpResponse response = client.execute(httpRequest);;
我在浏览器中测试了f2,它给出了预期的响应。但是当我运行f1时它继续加载并最终抛出一个错误
指定的CGI应用程序遇到错误,服务器终止了该过程。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用持久功能中的功能链来完成此操作。
函数链是指以特定顺序执行一系列函数的模式。通常,一个函数的输出需要应用于另一个函数的输入。
值“F1”,“F2”是功能应用程序中其他功能的名称。
public static async Task<object> Run(DurableOrchestrationContext ctx)
{
try
{
var x = await ctx.CallActivityAsync<object>("F1");
return await ctx.CallActivityAsync<object>("F2", x);
}
catch (Exception)
{
// error handling/compensation goes here
}
}
查看此参考文档 -