SFTP 传感器

在使用 SFTP 协议的服务器上查找特定文件或匹配特定模式的文件。如需获取有关此传感器的更多信息,请访问 SFTPSensor

tests/system/sftp/example_sftp_sensor.py[source]

sftp_with_operator = SFTPSensor(task_id="sftp_operator", path=FULL_FILE_PATH, poke_interval=10)

我们也可以使用 TaskFlow API。它接受与 SFTPSensor 相同的参数,并额外接受 -

python_callable(可选)

在匹配传感器条件的文件被找到后将执行的可调用对象。这使您能够使用自定义逻辑处理找到的文件。该可调用对象将接收

  • 来自 op_args 的位置参数

  • 来自 op_kwargs 的关键字参数,并自动添加 files_found(如果提供了且非空的 op_kwargs),其内容为匹配传感器条件的文件列表

可调用对象的返回值会连同 files_found 列表一起存储在 XCom 中,可通过 {\"files_found\": [...] , \"decorator_return_value\": <callable_return_value>} 访问。

op_args(可选)

在调用您的可调用对象时会展开的定位参数列表(可模板化)。仅在提供 python_callable 时使用。

op_kwargs(可选)

将在您的函数中展开的关键字参数字典(可模板化)。如果提供且非空,则在调用可调用对象时会自动向该字典中加入 files_found 列表。仅在提供 python_callable 时使用。

tests/system/sftp/example_sftp_sensor.py[source]

@task.sftp_sensor(
    task_id="sftp_sensor",
    path=FULL_FILE_PATH,
    poke_interval=10,
)
def sftp_sensor_decorator():
    print("Files were successfully found!")
    # add your logic
    return "done"

在可延迟模式下检查 SFTP 服务器上文件是否存在

tests/system/sftp/example_sftp_sensor.py[source]

sftp_sensor_with_async = SFTPSensor(
    task_id="sftp_operator_async", path=FULL_FILE_PATH, poke_interval=10, deferrable=True
)

此条目是否有帮助?