This is an automated email from the ASF dual-hosted git repository.

eladkal pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 84c882a1d07 Fix DAG bundle retrieval from S3 (#57178)
84c882a1d07 is described below

commit 84c882a1d0799ed6aa7011baf471dca407f1e78c
Author: Manabu McCloskey <[email protected]>
AuthorDate: Thu Oct 23 18:40:06 2025 -0700

    Fix DAG bundle retrieval from S3 (#57178)
    
    Signed-off-by: Manabu McCloskey <[email protected]>
---
 providers/amazon/src/airflow/providers/amazon/aws/hooks/s3.py | 2 ++
 providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py       | 1 +
 2 files changed, 3 insertions(+)

diff --git a/providers/amazon/src/airflow/providers/amazon/aws/hooks/s3.py 
b/providers/amazon/src/airflow/providers/amazon/aws/hooks/s3.py
index 7575b9a3af6..e24779d5e51 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/s3.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/s3.py
@@ -1774,6 +1774,8 @@ class S3Hook(AwsBaseHook):
         local_s3_objects = []
         s3_bucket = self.get_bucket(bucket_name)
         for obj in s3_bucket.objects.filter(Prefix=s3_prefix):
+            if obj.key.endswith("/"):
+                continue
             obj_path = Path(obj.key)
             local_target_path = 
local_dir.joinpath(obj_path.relative_to(s3_prefix))
             if not local_target_path.parent.exists():
diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py 
b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
index b275d0b0f55..2f94b79f2ca 100644
--- a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py
@@ -1800,6 +1800,7 @@ class TestAwsS3Hook:
 
         s3_client.put_object(Bucket=s3_bucket, Key="dag_01.py", Body=b"test 
data")
         s3_client.put_object(Bucket=s3_bucket, Key="dag_02.py", Body=b"test 
data")
+        s3_client.put_object(Bucket=s3_bucket, Key="subproject1/", Body=b"")
         s3_client.put_object(Bucket=s3_bucket, Key="subproject1/dag_a.py", 
Body=b"test data")
         s3_client.put_object(Bucket=s3_bucket, Key="subproject1/dag_b.py", 
Body=b"test data")
 

Reply via email to