我们可以使用自定义模型类来传递HttpRequestMessage和其他必需的参数,然后将该模型类作为OrchestrationClient.StartNewAsync的输入参数传递。以下是示例代码:
public class HttpRequestModel
{
public HttpRequestMessage RequestMessage { get; set; }
public string OtherParameter { get; set; }
}
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req,
[OrchestrationClient] DurableOrchestrationClient starter
)
{
var model = new HttpRequestModel
{
RequestMessage = req,
OtherParameter = "some other data"
};
string instanceId = await starter.StartNewAsync("OrchestratorFunction", model);
}
[FunctionName("OrchestratorFunction")]
public static async Task OrchestratorFunction(
[OrchestrationTrigger] DurableOrchestrationContext context
)
{
var httpRequestModel = context.GetInput();
var httpRequestMessage = httpRequestModel.RequestMessage;
// do something with the httpRequestMessage object
}