Airflow中GCSToGCSOperator能否用通配符匹配指定格式文件?
使用GCSToGCSOperator匹配指定CSV文件的方案
可以的,*_abcd_*.csv这个通配符写法完全能满足你的需求。
GCSToGCSOperator的source_object参数原生支持*通配符,用来匹配GCS中的对象文件名。这个写法会精准匹配所有**文件名包含_abcd_且后缀为.csv**的文件,正好对应你提到的134_abcd_2023.csv这类目标文件。
给你一个实际使用的代码示例:
from airflow.providers.google.cloud.transfers.gcs_to_gcs import GCSToGCSOperator # 定义复制任务 copy_abcd_csv_task = GCSToGCSOperator( task_id="copy_target_csv_files", source_bucket="your-source-bucket-name", source_object="*_abcd_*.csv", destination_bucket="your-destination-bucket-name", # 可选:如果需要将文件放到目标桶的子目录,可设置destination_object # destination_object="processed_files/", move_object=False, # False表示复制,True表示移动(源文件会被删除) )
需要注意的两个点:
- 如果目标文件存储在源桶的子目录下,比如
raw_data/*_abcd_*.csv,要在通配符前加上对应的路径前缀 - 确保Airflow使用的服务账号拥有源存储桶的读取权限和目标存储桶的写入权限
内容的提问来源于stack exchange,提问作者helloworld1999
相关产品推荐
相关产品推荐

