Created
January 23, 2022 10:48
-
-
Save CribberSix/eb17c5283a5dc27df699e1139a59816f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import datetime | |
from airflow import DAG | |
from airflow.operators.python_operator import PythonOperator | |
from airflow.hooks.S3_hook import S3Hook | |
def upload_file(ds, **kwargs): | |
with open("/tmp/test.txt", "w") as fp: | |
# Creating the content and flushing it. | |
fp.write("Testfile contents.") | |
fp.flush() | |
# Upload generated file to Minio | |
s3 = S3Hook('myminio_connection') | |
s3.load_file("/tmp/test.txt", | |
key="test/my-test-upload-file.txt", | |
bucket_name="miniobucket") | |
def read_file_content(ds, **kwargs): | |
# Reading the existing file from minio | |
s3 = S3Hook('myminio_connection') | |
contents = s3.read_key(key="test/testfile.txt" | |
,bucket_name="miniobucket") | |
print(f"File contents: '{contents}'.") | |
with DAG(dag_id='hello_minio_python_operator', | |
start_date=datetime(2021, 9, 5), | |
schedule_interval=None, | |
catchup=False, | |
tags=['minio'], | |
) as dag: | |
# Create a task to call your processing function | |
t1 = PythonOperator( | |
task_id='upload_file_task', | |
provide_context=True, | |
python_callable=upload_file | |
) | |
t2 = PythonOperator( | |
task_id='read_file_content_task', | |
provide_context=True, | |
python_callable=read_file_content | |
) | |
# first upload the file, then read the other file. | |
t1 > t2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment