来自 Azure 批处理服务的定期 stdout 和 stderr

Periodic stdout and stderr from azure batch service

我正在 运行在 Azure 数据工厂中设置一个管道,我正在使用一个自定义单元格来 运行 一个 Azure 批次 activity。

我运行的Azure批处理作业真的很大,我想监控我在那个作业中的哪个阶段。在远程 VM 上,我通常使用 python.

中的 logging 模块来执行此操作

我可以在作业完成时获取作业状态(即所有日志记录信息),但我想在 运行 完成作业时获取它。

我该怎么做?

Batch自动将任务目录下的任务stdout/stderr抓取到stdout.txtstderr.txt中。如果需要,请确保 periodically flush your streams。您在这里有两个选择:

  1. 在您的程序中实施逻辑(作为批处理任务执行)以定期将这些文件导出到您可以查看的其他地方(例如 Azure 存储 Blob)。
  2. 在您的客户端上实施逻辑以定期调用 GetFile 并检索 stdout.txtstderr.txt 的新偏移量 (ocp-range header)。如果使用这些而不是 REST,各种语言 SDK 都有方便的 API。