gpt4 book ai didi

c# - 重试 Azure 表中的批量操作

转载 作者:行者123 更新时间:2023-12-03 02:48:49 31 4
gpt4 key购买 nike

我正在尝试通过 Azure 数据工厂将数据从 Azure 数据湖存储插入到 Azure 表。 Azure Data Lake 文件中的数据与最终 Azure 表接收器的架构相同。

ADF 管道包含从 Azure Data Lake 存储复制到 Azure 表的单个复制事件。但 ADF 管道有时会因节流而发生故障。我无法承担重新运行整个管道的费用,因为这需要几个小时。

我只想重试失败的批处理。但我不认为这是 Azure 表中提供的选项。

我找到了SinkRetryCountSinkRetryWait作为 AzureTableSink 类的两个参数,但我猜想(因为文档没有正确提及)这将用于完整的管道。

我有两个问题:

  1. SinkRetryCount 和 SinkRetryWait 的实际含义是什么?
  2. 如果批处理失败,是否可以通过设置参数或在 ADF 管道中制作不同的事件图来重试批处理?

最佳答案

您是否尝试过以下操作:

  • 如果您的进程第一步确保了干净的状态,类似于命令设计模式的撤消(但更简单),那么您的进程可以重新执行。

    • 通过第 1 条,您可以在管道事件中安全地使用“重试”,并且重试之间有足够的时间。
    • 这是 ADFv1 或 v2 兼容方法

引用:https://learn.microsoft.com/en-us/azure/data-factory/v1/data-factory-create-pipelines

  • 如果是 ADFv2,那么您有更多选择,并且可以有更复杂的逻辑来处理错误:

    • 对于失败的事件,将其包装在直到成功循环中,并确保包含执行限制。

    • 您可以在循环中添加更多事件来处理故障并记录、通知或解决由于您无法控制的外部因素而导致的已知故障情况。

  • 您还可以使用异步通信来将来的流程执行,将成功信息保存到中央存储中。然后稍后执行“如果”我已经成功,则在事件之前停止处理。

    • 这对于更通用的管道来说非常强大,因为您可以选择从哪里开始

在 ee 重试处检查重试 https://learn.microsoft.com/en-us/azure/data-factory/data-factory-create-pipelines .

Retry: Number of retries before the data processing for the slice is marked as Failure. Activity execution for a data slice is retried up to the specified retry count. The retry is done as soon as possible after the failure.

希望有帮助。

关于c# - 重试 Azure 表中的批量操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57183034/

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