Skip to content

Instantly share code, notes, and snippets.

@pareekayush6
Last active September 20, 2023 22:06
Show Gist options
  • Select an option

  • Save pareekayush6/b886b8f3596e7240186bb1aaad417a35 to your computer and use it in GitHub Desktop.

Select an option

Save pareekayush6/b886b8f3596e7240186bb1aaad417a35 to your computer and use it in GitHub Desktop.
S3keysensor example
from airflow.sensors.s3_key_sensor import S3KeySensor
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.utils.dates import days_ago
default_args = {
'owner': 'airflow',
'start_date': days_ago(1),
'email_on_failure': True,
'email_on_retry': False,
'retries': 2,
'retry_delay': timedelta(minutes=5),
'execution_timeout': timedelta(hours=3),
'depends_on_past': False
}
dag = DAG(
's3_test',
start_date=days_ago(1),
max_active_runs=1,
schedule_interval='* 8 * * *',
default_args=default_args,
catchup=False
)
start = DummyOperator(
dag=dag,
task_id='start'
)
s3_key = S3KeySensor(
task_id='s3_key',
bucket_key='/test/test_2021.csv',
aws_conn_id='aws_test',
poke_interval=0,
timeout=10,
soft_fail=True,
bucket_name='dp-external-repository',
verify=False)
end = DummyOperator(
dag=dag,
task_id='end'
)
start >> s3_key >> end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment