Azure data factory Azure数据工厂WebHook在1分钟后失败

Azure data factory Azure数据工厂WebHook在1分钟后失败,azure-data-factory,Azure Data Factory,我们有几个Azure函数,它们调用API端点的时间大于230秒(从ADF调用Azure函数的最大运行时间)。我们发现的解决方法是使用Webhook活动和callBackUri。但无论出于何种原因,webhook总是在00:01:01失败,并出现BadRequest错误: BadRequestError: 如果函数在那一分钟内完成,则回调正常工作并运行良好 WebHook的超时设置为10分钟(00:10:00),但在1分钟后,它将引发BadRequest错误。Azure功能继续在后台运行,并将成

我们有几个Azure函数,它们调用API端点的时间大于230秒(从ADF调用Azure函数的最大运行时间)。我们发现的解决方法是使用Webhook活动和callBackUri。但无论出于何种原因,webhook总是在00:01:01失败,并出现BadRequest错误:

BadRequestError:

如果函数在那一分钟内完成,则回调正常工作并运行良好

WebHook的超时设置为10分钟(00:10:00),但在1分钟后,它将引发BadRequest错误。Azure功能继续在后台运行,并将成功完成其任务,但我的管道现在已中断,无法继续下一步


我不能使用持久的Azure函数,因为Python Azure函数还不支持持久的Azure函数。

经过进一步调查,预计会出现1分钟超时错误。读取文档时,对于长时间运行的调用,活动希望在一分钟内得到202(已接受)响应

有关异步请求-应答模式(以及示例c#代码)的详细信息,请参见:

我通过使用-Timeout参数在Azure函数本身中使用了一个变通方法。详情如下:

下面是运行代码示例:

$Body = @{
            callbackUri = $Request.Body.callBackUri;
        } | ConvertTo-Json
try{
    # This API will be responsible for issuing the call back after it has finished the long running process
    $output = Invoke-RestMethod -Method Post -Body $Body -Uri $funcapp2Url -ContentType 'application/json' -TimeoutSec 1
}
catch {
    Write-Output $_
}

# Return HTTP 202 immediately
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::Accepted
    Body = "Wait for callback"
}) -Clobber

Web活动或Azure功能活动的默认超时时间似乎为7天,因此不确定是否需要webhook解决方案。在配置默认超时设置的ADF中,尝试使用web活动或azure functions活动初始化azure功能时,是否遇到与超时相关的任何特定错误?文档中声明“azure功能在230秒后超时,而不管functionTimeout设置如何”因此,需要对持久功能进行变通和推荐。您最终是如何修改func应用程序的?您是否立即返回202,然后进行处理并最终调用回调URI?我被困在这里了。