SFTP 传感器¶
在使用 SFTP 协议的服务器上查找特定文件或匹配特定模式的文件。如需获取有关此传感器的更多信息,请访问 SFTPSensor
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时使用。
@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 服务器上文件是否存在
sftp_sensor_with_async = SFTPSensor(
task_id="sftp_operator_async", path=FULL_FILE_PATH, poke_interval=10, deferrable=True
)