首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用气流FileSensor感知多个文件?

如何使用气流FileSensor感知多个文件?
EN

Stack Overflow用户
提问于 2022-03-22 05:01:46
回答 1查看 625关注 0票数 1

我正在创建一个守护程序。我试图从本地文件夹中感测多个文件,但无法感测文件夹中的所有文件。正确的逻辑应该是什么?

代码语言:javascript
复制
sensing_task=FileSensor(task_id='senseFile',
                        filepath='dags/source/*.csv',
                        poke_interval=10,
                        fs_conn_id='fs_my_conn')

在执行时,它实际上是搜索"*.csv“文件,而不是模式。

EN

回答 1

Stack Overflow用户

发布于 2022-03-22 05:38:13

看来你可能需要定义你自己的传感器。看看文件传感器的源代码,您可能会做这样的事情来实现全局化。

代码语言:javascript
复制
class GlobSensor(BaseSensorOperator):
    template_fields = ('filepath',)
    ui_color = '#91818a'

    @apply_defaults
    def __init__(self, filepath, fs_conn_id='fs_default', *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.filepath = filepath
        self.fs_conn_id = fs_conn_id

    def poke(self, context):
        hook = FSHook(self.fs_conn_id)
        basepath = hook.get_path()
        full_path = os.path.join(basepath, self.filepath)
        self.log.info('Poking for glob %s', full_path)
        return len(glob.glob(full_path)) > 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71567116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档