这个问题可能是由于ADF-GetMetadata活动默认从数据存储中读取文件信息而不是检索实际文件路径引起的,因此即使文件不存在,也会报告其存在。
为了解决该问题,可以使用以下代码段来检查文件是否存在:
@Activity(name='Check file exists', outputs=[OutputPath(path='fileExists', type=BoolTypeInfo())]) def check_file_exists(file_path): import os from typing import Tuple file_exists = os.path.isfile(file_path) return file_exists,
在ADF管道中调用上述代码段,因此在运行ADF之前先调用此活动,以确保文件存在。如果文件不存在,则处理管道中的平面文件会失败,会出现错误。因此,在执行任何平面文件处理活动之前,可以执行这个问题的解决方法。