Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Anwendungsideen für die Apache Airflow API

Die Workflowmanagement-Plattform Apache Airflow bietet nicht nur eine umfangreiche Weboberfläche für die Steuerung und Überwachung erstellter Automatisierungen in Form von Workflows, sondern ebnet mit der ausgebauten REST API weiteren Anwendungsideen den Weg. Insbesondere Entwickler*innen aus den Bereichen Business Intelligence, Data Engineering und Machine Learning gestalten durch die Verwendung der REST API das Workflowmanagement nach ihren Wünschen. In diesem Blogbeitrag stellen wir Ihnen die Airflow API vor und geben Ihnen wichtige Hinweise bezüglich der sicheren Konfiguration von Airflow und der Nutzung der Endpunkte. Lassen Sie sich auch von unseren Anwendungsideen zu einer Umsetzung inspirieren.

Anwendungsideen:

Zunächst möchten wir Ihnen einige Anwendungsszenarien vorstellen, die durch die ausgebaute API von Apache Airflow ermöglicht werden:

  • Bedarfsgerechtes Starten des Workflows

Schon als die experimentelle API als einziger Zugriffspunkt von außen diente, war ein Hauptanwendungszweck das Starten von Workflows nach Ereignissen in externen Systemen und Prozessen. Im Machine Learning Bereich wird beispielsweise ein erneutes Training gestartet, falls die Performance des produktiven Modells unter einen Schwellwert rutscht. Das Starten - losgelöst von einem festen Ausführungsintervall - kann seit Airflow 2.2 auch über die TimeTables gelöst werden.

  • Änderung von Variablen im Zuge der Fehlerüberbrückung

Sind die Workflows in Airflow entsprechend gestaltet, dass das Zielsystem der Datenworkflows über eine Kürzel in einer internen Variablen ausgewählt wird, kann im Falle eines Fehlers die entsprechende Variable mit einem API-Request neu gesetzt werden um den Traffic kurzfristig im Rahmen einer Fehlerbehandlung umzuleiten.

  • Automatisches Benutzermanagement

Über die API sind Benutzerprofile erstellbar (POST), abrufbar (GET) und veränderbar (PATCH). Dies ist die Grundlage für ein automatisches Benutzermanagement, in dem beispielsweise das initiale Benutzeranlegen auf dem Test- und Produktivsystem über die API stattfindet. Um Airflow mit Ihrem zentralen Benutzerverzeichnis zu verknüpfen, ist es nicht notwendig, eigene Integrationsskripte gegen die REST API zu programmieren. Für diesen Zweck können verschiedenste standardisierte Authentifizierungsprotokolle direkt über das zugrunde liegende Flask Framework konfiguriert werden.

 

  • Basis für erweiterte Anwendungen 

Die meisten Funktionen der Weboberfläche werden auch über die REST API abgebildet. Dies macht es leicht möglich eigene Anwendungen auf Airflow aufzubauen. Möchten Sie beispielsweise eine light-Version einer Web-App zur Triggerung und Überwachung der Workflows per iFrame in SAC einbinden, ist dies über die Funktionen der API möglich.

  • Synchrone und asynchrone Systemverknüpfung 

Die beidseitige Verknüpfung von Systemen ist über die API leicht realisierbar. So sind die Prozessketten im SAP BW und die Workflows in Airflow sowohl asynchron als auch synchron verknüpfbar. Mehr darüber erfahren Sie in unserem Blogbeitrag zum Thema.

Wie werden diese Anwendungsideen mit Apache Airflow umgesetzt? Im nächsten Abschnitt wird der technische Rahmen der RESTful API betrachtet.

Gestaltung der REST API

Seit Apache Airflow 2.0 (Dezember 2020) ist die API ihren experimentellen Status entwachsen und geeignet für den produktiven Betrieb. Das bedeutet, dass künftige Weiterentwicklungen der API die bestehenden Endpunkte nicht beeinflussen werden. Der verwendete Spezifikation ist dabei OpenAPI 3.

Der Output eines API-Requests liefert Informationen im JSON-Format zurück, während die hinterlegten Endpunkte auch den Input als JSON-Objekt erwarten.

Airflow API endpoint

Das Löschen von Task Instanzen als beispielhafter POST-Endpunkt und Schema der benötigte Informationen
wie der Datumsbereich (start_date und end_date)

Dokumentation 

Mit der Weiterentwicklung der API hat sich nicht nur die Anzahl der Endpunkte erhöht, sondern auch die Qualität der Dokumentation. Während die experimentelle API Entwickler*innen vor einen wesentlichen Aufwand an Trial-and-Error stellte, um benötigte Input-Informationen korrekt zu übergeben und den Output effizient weiterzunutzen, findet sich in der Dokumentation der neuen API von Airflow jeder Endpunkt im vollem Umfang wieder. 


Laden Sie sich das Whitepaper herunter und entdecken Sie das Potenzial von Apache Airflow

NextLyitcs Whitepaper Apache Airflow DE


Sicherheit 

Für die Verwendung der REST API sind einige Einstellungen in der Konfigurationsdatei der Airflow Installation vorzunehmen. Für das Freischalten muss ein Authentifizierungsbackend (AUTH_BACKEND) angegeben werden. Die Standardeinstellung airflow.api.auth.backend.deny_all lehnt dabei alle Anfragen standardmäßig ab. Darüber hinaus stehen bekannte Optionen für eine Authentifizierung zur Verfügung. Beispielsweise kann Kerberos oder die HTTP Basic Authentifizierung über die Nutzer in der Airflow DB ausgewählt werden. Wenn das Airflow Benutzermanagement mit einem OAuth2 Verzeichnisdienst verknüpft ist, können auch höherwertige Token-basierte Authentifizierungs-- und Autorisierungsmechanismen für die REST API genutzt werden.

Die hervorragende Anpassbarkeit von Airflow ist dadurch gewährleistet, dass Sie hier ein eigenes Backend nach Bedarf erstellen und hinterlegen können. Mit der Einstellung enable_experimental_api = True  kann die veraltete API aktiviert werden. Bis auf die Kompalibilität zur Airflow 1 entstehen jedoch keine weiteren Vorteile, da die Endpunkte in der überarbeiteten API alle enthalten sind.

Endpunkte

Die verfügbaren Endpunkte beschreiben beinahe alle Funktionen, die durch die Weboberfläche und das CLI von Airflow bereitgestellt werden. Aufgaben (Tasks), Workflows (DAGs), Benutzer, Variablen und Verbindungen werden flexibel über die API verwaltet. Im folgenden Abschnitt sollen einige verbreitete Endpunkte und ein konkretes Code-Beispiel zur Verwendung der API vorgestellt werden.

Verwendung der API

Abschließend sollen die Endpunkte und die Verwendung der API im Code-Beispiel vorgestellt werden. Da die Liste an Endpunkten beinah den vollen Funktionsumfang von Airflow umschließt, möchten wir Ihnen an dieser Stelle einen Überblick über die wichtigsten Endpunkte geben. In der Dokumentation der Schnittstelle sind jeweils genau Informationen zu den erwarteten Input der PATCH und POST Endpunkte hinterlegt. 

GET-Requests

Hier werden insbesondere Informationen zu den generellen Workflows, Workflowläufen, Aufgaben, Variablen, Benutzern und Verbindungen zurückgeben. Aber auch die Log-Dateien und die Konfigurationsdatei, sowie die Statusabfrage des Schedulers und des Webservers sind hier zugänglich. 

GET_Airflow_API_de

POST-Requests

Um in Apache Airflow Aktionen aus der Ferne auszuführen, stehen viele POST-Endpunkte bereit. Hier können Sie einen Workflokflow starte, neue Verbindungen und Variablen anlegen und den Status von Aufgaben setzen.

POST_Airflow_API_de

Neben den GET- und POST-Request gibt es auch eine Vielzahl an PATCH-Requests, welche Sie in der offiziellen Dokumentation finden.

Ist die Verwendung der API in den Einstellungen von Airflow freigeschaltet, ist der API-Call über jedes System möglich, welches HTTP-Requests unterstützt. Für die ersten Versuche eignet sich das Programm Postman oder Sie können folgendes Code-Beispiel in der Programmiersprache Python abändern und ausführen. Hier müssen Sie entsprechende die URL ihrer Airflow-Instanz und autorisierte Benutzerdaten angeben.

import requests

from requests.auth import HTTPBasicAuth




# user in airflow db or defined backend

auth = HTTPBasicAuth(user, pw)




# add additional parameters

data = {"conf": dag_config}




r = requests.post(url + '/api/v1/dags/ExampleWorkflow/dagRuns', auth=auth, headers=headers, json=data)




# save dag_run_id if successfull request

if r.json()["state"] == "success":

    dag_id = r.json()["dag_run_id"]

Zusammenfassend bietet die stabile API von Apache Airflow eine sichere und umfangreiche Basis für spannende Anwendungsfälle und mit einer erhöhten Benutzerfreundlichkeit und Anpassbarkeit der zugrundeliegenden Einstellungen.

Haben Sie weitere Fragen zu Apache Airflow als Workflowmanagementsystem oder benötigen Sie einen Umsetzungspartner für spannende Anwendungsszenarien? 

Wir unterstützen Sie gerne von der Problemanalyse bis zur technischen Umsetzung.
Treten Sie noch heute mit uns in Kontakt!

Erfahren Sie mehr über Apache Airflow

,

avatar

Luise Wiesalla

Luise Wiesalla ist seit 2019 als Werkstudentin / studentische Beraterin im Bereich Data Analytics und Machine Learning bei der NextLytics AG tätig. Sie hat Erfahrung mit Full-Stack-Data-Science-Projekten und dem Einsatz der open-source Workflow-Management-Lösung Apache Airflow. Ihre Freizeit verbringt sie gerne damit, ihre Umgebung zu erkunden und in Bewegung zu sein.

Sie haben eine Frage zum Blog?
Fragen Sie Luise Wiesalla

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Verwandte Beiträge

Letzte Beiträge