Error handling 如何接收管道数据流作业失败的根本原因

Error handling 如何接收管道数据流作业失败的根本原因,error-handling,google-cloud-dataflow,apache-beam,Error Handling,Google Cloud Dataflow,Apache Beam,我正在数据流中运行我的管道。我想使用数据流作业的id收集所有错误消息。我使用的是ApacheBeam2.3.0和Java8 DataflowPipelineJob DataflowPipelineJob=((DataflowPipelineJob)条目.getValue()); 字符串jobId=dataflowPipelineJob.getJobId(); DataflowClient=DataflowClient.create(选项); Job Job=client.getJob(jobId

我正在数据流中运行我的管道。我想使用数据流作业的id收集所有错误消息。我使用的是ApacheBeam2.3.0和Java8

DataflowPipelineJob DataflowPipelineJob=((DataflowPipelineJob)条目.getValue());
字符串jobId=dataflowPipelineJob.getJobId();
DataflowClient=DataflowClient.create(选项);
Job Job=client.getJob(jobId);

有没有办法只从管道接收错误消息?

读取数据流日志消息的编程支持还不是很成熟,但有几个选项:

  • 由于您已经有了
    DataflowPipelineJob
    实例,因此可以使用接受参数的重载来过滤和捕获错误消息。您可以看到
    DataflowPipelineJob
    如何在自己的实现中使用它

  • 或者,您可以使用Dataflow REST API查询作业日志:。API采用了一个
    minimumImportance
    参数,允许您仅查询错误

  • 请注意,在这两种情况下,可能会出现错误消息,这些消息不是致命的,也不会直接导致作业失败