我正在 Azure 数据工厂中运行管道,并使用自定义单元来运行 Azure 批处理事件。
我运行的 azure 批处理作业非常大,我想监控我处于该作业的哪个阶段。在远程虚拟机上,我通常使用 python
中的 logging
模块来执行此操作。
我能够在作业完成时获取作业的状态(即所有日志记录信息),但我想在运行作业时获取它。
我该怎么做?
最佳答案
Batch 自动将任务目录中的任务的 stdout/stderr 捕获到 stdout.txt
和 stderr.txt
中。确保您periodically flush your streams , 如果需要的话。您在这里有两个选择:
- 在程序中实现逻辑(作为批处理任务执行),定期将这些文件导出到您可以查看的其他位置(例如 Azure 存储 Blob)。
- 在您的客户端上实现逻辑以定期调用 GetFile并检索
stdout.txt
或stderr.txt
的新偏移量(ocp-range
header )。如果使用 API 代替 REST,各种语言 SDK 都具有便利的 API。
关于azure - 来自 azure 批处理服务的定期 stdout 和 stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66579648/