我必须将文件从S3移动到GCS。我的问题是星期一他们上传文件从星期一,但也周六和周日,这些文件有不同的日期。例如:stack_20220430.csv、stack_20220501.csv。我需要用同样的气流移动这些文件,可以吗?我使用的是S3ToGCSOperator:
S3ToGCSOperator(
task_id="move_files_s3_to_gcs",
bucket=config["s3_params"]["s3_source_bucket"],
prefix=config["s3_params"]["s3_source_prefix"],
delimiter="/",
dest_gcs=config["gcs_params"]["gcs_destination"],
aws_conn_id=config["s3_params"]["s3_connector_name"],
)
显然,问题在于prefix的值是固定的。我可以为{{ds}}分配一个范围吗?
S3ToGCSOperator
复制/移动您提供的bucket/key中的所有文件。它通过列出所有这些文件,然后迭代每个文件并将其复制到GCS。
prefix
是模板化的字段,所以你可以使用{{ ds }}
。
您始终可以继承S3ToGCSOperator
,并根据您的特定需求自定义操作符的行为。