gpt4 book ai didi

azure - 有没有办法增加 Azure 事件网格系统主题交付操作超时时间?

转载 作者:行者123 更新时间:2023-12-03 06:14:20 37 4
gpt4 key购买 nike

我正在使用 Azure 事件网格系统主题订阅来订阅存储帐户 (Microsoft.Storage.BlobCreated) 中的事件,并触发函数应用将 Blob 从一个容器复制到另一个容器。

少数 blob 尺寸较大(平均 15 GB)。因此,每当创建新文件时,事件网格触发器都会调用函数应用程序并将数据复制到目标。但在大型 blob 场景中,函数应用程序运行较长的持续时间来完成任务(超过 3 分钟),在这种情况下,事件网格将其视为超时的传递操作,由于这种重复,会重试再次传递相同的事件,另一个副本已启动。

根据 azure Event Grid Retry Schedule 的文档。 3 分钟后,它会重试传递事件。

那么有没有办法增加事件网格系统主题的订阅传递操作超时时间?

诊断错误消息:

{ "time": "2023-06-07T12:06:21.2004399Z", "resourceId": "/SUBSCRIPTIONS/MY-SUBSCRIPTION-ID/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.EVENTGRID/SYSTEMTOPICS/MY-TOPIC_NAME", "eventSubscriptionName": "my-event-subscriptions", "category": "DeliveryFailures", "operationName": "Deliver", "message": "outcome=Aborted, latencyInMs=180015, id=fbafd92c-d2c9-4845-a993-d9d6e457ec24, outputEventSystemId=d81de23d-a28d-452a-9ca6-832e8984d36f, state=Filtered, deliveryTime=6/7/2023 12:14:21 PM, deliveryCount=5, probationCount=1, deliverySchema=EventGridEvent, trackedSystemTopicState=CreatedExplicitlyByUser, eventSubscriptionDeliverySchema=EventGridEvent, outputEventFields=InputEvent| EventSubscriptionId| DeliveryTime| DeliveryCount| State| Id| ProbationCount| LastDeliveryOutcome| DeliverySchema| LastDeliveryAttemptTime| SystemId| UseMappedResourceArmIdForBilling| TrackedSystemTopicState, outputEventFieldCount=13, requestExpiration=6/7/2023 12:06:21 PM, delivered=False id=2d5a0090-d01f-000b-3636-990044063809, inputEventSystemId=693d9d67-03c4-4a26-98d5-e79f913f098c publishTime=6/7/2023 11:50:54 AM, eventTime=6/7/2023 11:50:53 AM, eventType=Microsoft.Storage.BlobCreated, deliveryTime=1/1/0001 12:00:00 AM, filteringState=FilteringPending, inputSchema=EventGridEvent, publisher=MICROSOFT-STORAGE-STORAGEACCOUNTS.WESTUS-1.EVENTGRID.AZURE.NET, size=1382, subject=/blobServices/default/containers/source-container/blobs/source=agilitek/year=2023/month=06/day=07/set=eloqua.emailsend/uuid=444a11a1-6b29-4952-afac-256269990599/994d4369-5c7c-47b6-ba61-19d26b051965.parquet, inputEventFields=Id| PublishTime| SerializedBody| EventType| Topic| Subject| FilteringHashCode| SystemId| Publisher| FilteringTopic| TopicCategory| DataVersion| MetadataVersion| InputSchema| EventTime| FilteringPolicy, inputEventFieldCount=16, type=AzureFunction, subType=NotApplicable, supportsBatching=False, aadIntegration=False, managedIdentityType=None, armId=/subscriptions/MY-SUBSCRIPTION-ID/resourceGroups/MY-RESOURCE-GROUP/providers/Microsoft.Web/sites/MY-FUNCTION-APP/functions/EventGridTrigger, deliveryResponse=, httpStatusCode=InternalServerError, errorType=UnexpectedError, errorMessage=An unexpected error has occurred. Please report the x-ms-request-id header value to our forums for assistance or raise a support ticket., errorMessage=The operation timed out after: 00:03:00"}

注意:我的解决方案避免了 blob 触发器,因为它输入 fileInputStream。

最佳答案

我认为增加超时只是一种解决方法,而不是实际的解决方案。

您可以使用 Azure 队列和另一个函数应用来处理队列消息,而不是直接在此函数应用中处理事件。

然后您的第一个功能应用程序将从事件网格接收事件,并将其放入队列中。因此,事件网格不会发生超时。

您的第二个功能应用程序将按照自己的速度处理消息(复制 blob)。

关于azure - 有没有办法增加 Azure 事件网格系统主题交付操作超时时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76424590/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com