在Azure耐用函数上调用CreateCheckStatusResponse时,Azurite未给出与Azure存储模拟



我有一个Azure耐用功能,如下所示:

[FunctionName("Function1_HttpStart")]
public async Task<IActionResult> HttpStart(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")]
HttpRequest req,
[DurableClient] IDurableOrchestrationClient starter,
ILogger log)
{

//code to get requestBodyContent from req hidden
var instanceId = await starter.StartNewAsync("MyOtherFunction", requestBodyContent);
return starter.CreateCheckStatusResponse(req, instanceId);
}

在最后一行中,对CreateCheckStatusResponse的调用按Azure Storage Emulator中的预期返回HTTP 202,持久函数将以预期结果执行。

当我在由一个函数容器和一个Azurite容器组成的Docker编排中运行相同的代码时,持久函数仍然会执行,并产生预期结果,但CreateCheckStatusResponse返回HTTP 500。

我想了解为什么HTTP返回代码在两种不同的环境中表现不同。

AppInsights没有显示任何问题。在阅读文档时,除非我们专门设置了第三个布尔参数,否则该方法不应该返回500。

使用.NETCore 3.1
Azure功能V3

所以我找到了一个解决方案-问题不是Azurite,这在OP中无关紧要。
在docker中托管持久函数时会出现问题
我在这篇文章中找到了答案。

只需添加以下配置:

WEBSITE_HOSTNAME=localhost:30042

最新更新