Azure Http触发函数调用

时间:2017-11-23 22:50:37

标签: c# azure azure-functions azure-function-app-proxy

我想要一个Http Trigger函数来调用另一个Http Trigger函数。 基本上,我试图通过URL(HTTP请求)访问触发器1,触发器1将调用触发器2。 我想的是为Trigger 2添加修复URL,所以你只需要调用Trigger 1。 任何想法如何做到这一点?

using System.Net;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    log.Info("C# HTTP trigger function processed a request.");

    // parse query parameter
    string name = req.GetQueryNameValuePairs()
        .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
        .Value;

    // Get request body
    dynamic data = await req.Content.ReadAsAsync<object>();

    // Set name to query string or body data
    name = name ?? data?.name;

    return name == null
        ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
        : req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我认为您应该使用Durable Functions代替:

public static async Task<object> Run(DurableOrchestrationContext ctx)
{
    var x = await ctx.CallActivityAsync<object>("YourOtherFunctionName");
    // Rest of Function code
}