Airflow SQSSensor jsonpath消息过滤参数正确配置组合求解
问题原因
报错核心是两个问题:一是传入了SQSSensor不支持的参数名,二是JSONPath表达式不符合待匹配的消息结构。
正确配置说明
- 参数名修正:你使用的
message_filtering_config、message_filtering_match_values是错误参数名,SQSSensor对应的合法参数为filter_config、match_values - JSONPath修正:待匹配消息中
Model是顶层字符串字段,不是数组,不需要[*]通配符,正确的JSONPath为$.Model
修正后代码示例
model_operator = SQSSensor( task_id='model_operator', dag=dag, sqs_queue='https://sqs.somewhere/somequeue.fifo', aws_conn_id='aws_default', message_filtering='jsonpath', filter_config='$.Model', match_values=['level1'], mode='reschedule' )
如果后续你需要匹配Model为数组的场景,可以把JSONPath调整为$.Model[*],即可匹配数组内任意元素等于level1的消息。
内容的提问来源于stack exchange,提问作者alital
相关产品推荐
相关产品推荐

