0

我正在尝试使用 nifi GetFTP 读取大型机文件,这些文件以“JS.XXXX.FLAT.XXXXDB”的形式给出,其中 JS、XXX、FLAT 是目录,并且该文件被文件“XXXXDB”的绝对文件路径引用" 而不是 "/" 我们有 "." 这里。

Nifi 无法从系统中提取这些文件,而我可以从常规 ftp、python ftp 客户端读取。

请帮助我知道有没有一种方法可以在 nifi 中读取这些文件。

我尝试过使用 GetFTP、GetSFTP、ListFTP/FetchFTP,但它们似乎都无法从后端识别这些文件。

在 Python 脚本中我尝试了这个并且它有效。

def ftp_data_file(data_file, ftp_file_nm):
    print("calling ftp_data_file")
    writefile = open(data_file, "w")
    print("file open for writing:"+data_file)
    # Transfer mode ASCII, replacing special chars with space
    chars = re.escape(string.punctuation)
    ftp.retrlines('RETR ' + ftp_file_nm, lambda s, w=writefile.write: w(re.sub(r'[^a-zA-Z0-9 ' + chars + '\n]', ' ', s) + '\n'))
    writefile.close()
4

0 回答 0