From 04b378f74677eb774211527f1cfa16ada25dd3db Mon Sep 17 00:00:00 2001 From: Kyrre Havik Date: Fri, 13 Oct 2023 08:41:22 +0200 Subject: [PATCH] doc: skrevet om alle fire operators --- README.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 504273b..bca345f 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,54 @@ Enkelt wrapperbibliotek rundt [KubernetesPodOperator](https://airflow.apache.org ## Våre operators -### Python operator +Alle våre operators lar deg klone et repo på forhånd, bare legg det til med `repo="navikt/`. +Vi har også støtte for å installere Python pakker ved oppstart av Airflow task, spesifiser `requirements.txt`-filen din med `requirements_path="/path/to/requirements.txt"`. + +### Quarto operator + +Denne kjører Quarto render for deg. + +```python +from airflow import DAG +from airflow.utils.dates import days_ago +from dataverk_airflow import quarto_operator -Vi tilbyr en operator som lar deg kjøre både Jupyter notebooks, eller Python-scripts. -Begge operatorene lar deg klone et repo og kjøre en notebook fil eller et Python-script. -Internt i operatoren finner den ut om det er et Python-script eller en notebook som skal kjøres. +with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag: + t1 = quarto_operator(dag=dag, + name="", + repo="navikt/", + quarto={ + "path": "/path/to/index.qmd", + "env": "dev/prod", + "id":"uuid", + "token": + "quarto-token" + }, + slack_channel="<#slack-alarm-kanal>") +``` + +### Notebook operator + +Denne lar deg kjøre en Jupyter notebook. + +```python +from airflow import DAG +from airflow.utils.dates import days_ago +from dataverk_airflow import notebook_operator + + +with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") as dag: + t1 = notebook_operator(dag=dag, + name="", + repo="navikt/", + nb_path="/path/to/notebook.ipynb", + slack_channel="<#slack-alarm-kanal>") +``` + +### Python operator + +Denne lar deg kjøre vilkårlig Python-scripts. ```python from airflow import DAG @@ -21,7 +63,7 @@ with DAG('navn-dag', start_date=days_ago(1), schedule_interval="*/10 * * * *") a t1 = python_operator(dag=dag, name="", repo="navikt/", - script_path="", + script_path="/path/to/script.py", slack_channel="<#slack-alarm-kanal>") ```