Freigeben über


REST-API-Funktionen für Apache Airflow-Aufträge in Fabric Data Factory

Hinweis

Ein Apache Airflow-Auftrag wird von Apache Airflow unterstützt.

Fabric Data Factory bietet einen leistungsstarken Satz von APIs, mit denen Sie Ihre Apache Airflow-Aufträge einfach automatisieren und verwalten können. Sie können eine Verbindung mit verschiedenen Datenquellen und Diensten herstellen und Ihre Workflows mit nur wenigen Codezeilen erstellen, aktualisieren oder überwachen. Die APIs decken alles ab, von der Erstellung und Bearbeitung von Apache Airflow-Aufträgen bis hin zur Nachverfolgung – sodass Sie Ihre Daten reibungslos fließen lassen können, ohne den Aufwand zu vermeiden.

API-Anwendungsfälle für Apache Airflow-Aufträge

Die APIs für Apache Airflow-Aufträge in Fabric Data Factory können in verschiedenen Szenarien verwendet werden:

  • Automatisierte Bereitstellung: Automatisieren Sie die Bereitstellung von Apache Airflow Jobs in verschiedenen Umgebungen (Entwicklung, Test, Produktion) mithilfe von CI/CD-Praktiken.
  • Überwachung und Warnungen: Richten Sie automatisierte Überwachungs- und Alarmsysteme ein, um den Status von Apache Airflow-Aufträgen nachzuverfolgen und Benachrichtigungen zu erhalten, wenn Fehler oder Leistungsprobleme auftreten.
  • Fehlerbehandlung: Implementieren Sie benutzerdefinierte Fehlerbehandlungs- und Wiederholungsmechanismen, um sicherzustellen, dass Apache Airflow-Aufträge reibungslos ausgeführt und von Fehlern wiederhergestellt werden.

Grundlegendes zu APIs

Um die APIs für Apache Airflow Jobs in Fabric Data Factory effektiv zu nutzen, ist es wichtig, die wichtigsten Konzepte und Komponenten zu verstehen:

  • Endpunkte: Die API-Endpunkte bieten Zugriff auf verschiedene Apache Airflow Job-Vorgänge, z. B. Erstellen, Aktualisieren und Löschen von Apache Airflow-Aufträgen.
  • Authentifizierung: Sicherer Zugriff auf die APIs mithilfe von Authentifizierungsmechanismen wie OAuth oder API-Schlüsseln.
  • Anforderungen und Antworten: Grundlegendes zur Struktur von API-Anforderungen und -Antworten, einschließlich der erforderlichen Parameter und der erwarteten Ausgabe.
  • Rate limits: Seien Sie sich der Beschränkungen bewusst, die auf die Nutzung der API auferlegt werden, um zu vermeiden, dass die erlaubte Anzahl von Anfragen überschritten wird.

CRUD-Unterstützung

CRUD steht für Create, Read, Update und Delete, bei denen es sich um die vier grundlegenden Vorgänge handelt, die für Daten ausgeführt werden können. In Fabric Data Factory werden die CRUD-Vorgänge über die Fabric-API für Data Factory unterstützt. Mit diesen APIs können Benutzer ihre Apache Airflow-Aufträge programmgesteuert verwalten. Hier sind einige wichtige Punkte zur CRUD-Unterstützung:

  • Erstellen: Erstellen Sie neue Apache Airflow-Jobs mit der API.
  • Lesen: Abrufen von Informationen zu vorhandenen Apache Airflow-Aufträgen.
  • Update: Aktualisieren vorhandener Apache Airflow-Aufträge.
  • Löschen: Apache Airflow-Aufträge löschen, die nicht mehr benötigt werden.

Die primäre Online-Referenzdokumentation für Microsoft Fabric-REST-APIs finden Sie in Microsoft Fabric-REST-API-Referenzen .

Zusätzliche APIs, die in Apache Airflow-Aufträgen angeboten werden

Zusätzlich zu CRUD-APIs gibt es eine Reihe zusätzlicher betrieblicher APIs, die für Apache Airflow Jobs angeboten werden:

  • Dateiverwaltungs-APIs
  • Poolverwaltungs-APIs
  • Arbeitsbereichseinstellungen-APIs

Erste Schritte mit REST-APIs für Apache Airflow-Aufträge

In den folgenden Dokumentationen wird beschrieben, wie Sie Apache Airflow-Aufträge und betriebsbereite Anwendungsfälle mithilfe der Fabric Data Factory-APIs erstellen, aktualisieren und verwalten.

Ein Autorisierungstoken holen

Bevor Sie die anderen REST-APIs verwenden, müssen Sie über das Bearertoken verfügen.

Von Bedeutung

Stellen Sie in den folgenden Beispielen sicher, dass das Wort "Bearer" (mit einem Leerzeichen) vor dem Zugriffstoken selbst steht. Wenn Sie einen API-Client verwenden und "Bearer-Token" als Authentifizierungstyp auswählen, wird "Bearer" automatisch für Sie eingefügt und erfordert nur die Bereitstellung des Zugriffstokens.

Option 1: Mithilfe von MSAL.Net

Im Abschnitt Get Token der Fabric-API-Schnellstartanleitung finden Sie ein Beispiel zum Abrufen des MSAL-Autorisierungstokens.

Verwenden Sie MSAL.Net, um ein Microsoft Entra ID-Token für den Fabric-Dienst mit den folgenden Bereichen abzurufen: Workspace.ReadWrite.All, Item.ReadWrite.All. Weitere Informationen zum Tokenerwerb mithilfe von MSAL.Net finden Sie unter Tokenerwerb – Microsoft Authentication Library für .NET.

Kopieren Sie das Token aus der AccessToken-Eigenschaft , und ersetzen Sie den <Zugriffstokenplatzhalter> in den folgenden Beispielen durch das Token.

Option 2: Verwenden des Fabric-Portals

Melden Sie sich beim Fabric-Portal für den Mandanten an, auf dem Sie testen möchten, und drücken Sie F12, um den Entwicklermodus des Browsers einzugeben. Führen Sie in der Konsole dort Folgendes aus:

powerBIAccessToken

Kopieren Sie das Token, und ersetzen Sie den <Zugriffstokenplatzhalter> in den folgenden Beispielen durch das Token.

Erstellen eines Apache Airflow-Auftrags

Erstellen Sie einen Apache Airflow-Auftrag in einem angegebenen Arbeitsbereich.

Beispiel für eine Anforderung:

URI: POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items

Header:

{
  "Authorization": "Bearer <access-token>",
  "Content-Type": "application/json"
}

Nutzdaten:

{
  "displayName": "My Apache Airflow Job",
  "description": "My Apache Airflow Job description",
  "type": "ApacheAirflowJob"
}

Beispielantwort:

{
  "id": "<artifactId>",
  "type": "ApacheAirflowJob",
  "displayName": "My Apache Airflow Job",
  "description": "My Apache Airflow Job description",
  "workspaceId": "<workspaceId>"
}

Erstellen eines Apache Airflow-Auftrags mit Definition

Erstellen Sie einen Apache Airflow-Auftrag mit einer öffentlichen Definition in einem angegebenen Arbeitsbereich. Weitere Details zum Erstellen eines Apache Airflow-Auftrags mit Definition finden Sie unter Microsoft Fabric REST API.

Beispiel für eine Anforderung:

URI: POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items

Header:

{
  "Authorization": "Bearer <access-token>",
  "Content-Type": "application/json"
}

Nutzdaten:

{
  "displayName": " My Apache Airflow Job",
  "description": "My Apache Airflow Job description",

  "type": "ApacheAirflowJob",
  "definition": { 
    "parts": [ 
      {
        "path": "ApacheAirflowJob.json",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      }
    ] 
  }
}

Beispielantwort:

{
  "id": "<Your artifactId>",
  "type": "ApacheAirflowJob",
  "displayName": "My Apache Airflow Job",
  "description": "My Apache Airflow Job description",
  "workspaceId": "<Your workspaceId>"
}

Apache Airflow-Auftrag abrufen

Gibt Eigenschaften des angegebenen Apache Airflow-Auftrags zurück.

Beispiel für eine Anforderung:

URI: GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}

Header:

{
  "Authorization": "Bearer <access-token>"
}

Beispielantwort:

{
  "id": "<Your artifactId>",
  "type": "ApacheAirflowJob",
  "displayName": "My Apache Airflow Job",
  "description": "My Apache Airflow Job description",
  "workspaceId": "<Your workspaceId>"
}

Apache Airflow-Auftrag mit Definition abrufen

Gibt die Elementdefinition des Apache Airflow-Auftrags zurück. Weitere Details zum Abrufen eines Apache Airflow-Auftrags mit Definition finden Sie in der Microsoft Fabric-REST-API.

Beispiel für eine Anforderung:

URI: POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/getDefinition

Header:

{
  "Authorization": "Bearer <access-token>"
}

Beispielantwort:

{
  "definition": {
    "parts": [
      {
        "path": "ApacheAirflowJob.json",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      }
    ]
  }
}

Apache Airflow-Auftrag aktualisieren

Aktualisiert die Eigenschaften des Apache Airflow-Auftrags.

Beispiel für eine Anforderung:

URI: PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}

Header:

{
  "Authorization": "Bearer <access-token>",
  "Content-Type": "application/json"
}

Nutzdaten:

{
  "displayName": "My Apache Airflow Job updated",
  "description": "My Apache Airflow Job description updated",
  "type": "ApacheAirflowJob"
}

Beispielantwort:

{
  "id": "<Your artifactId>",
  "type": "ApacheAirflowJob",
  "displayName": "My Apache Airflow Job updated",
  "description": "My Apache Airflow Job description updated",
  "workspaceId": "<Your workspaceId>"
}

Apache Airflow-Auftrag mit Definition aktualisieren

Aktualisiert die Elementdefinition des Apache Airflow-Auftrags. Weitere Details zum Aktualisieren eines Apache Airflow-Auftrags mit Definition finden Sie in der Microsoft Fabric-REST-API.

Beispiel für eine Anforderung:

URI: POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition

Header:

{
  "Authorization": "Bearer <access-token>",
  "Content-Type": "application/json"
}

Nutzdaten:

{
  "displayName": "My Apache Airflow Job",
  "type": "ApacheAirflowJob",
  "definition": {
    "parts": [ 
      {
        "path": "ApacheAirflowJob.json",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "{apacheAirflowJobPayload}",
        "payloadType": "InlineBase64"
      }
    ]
  }
}

Beispielantwort:

200 OK

Apache Airflow-Auftrag löschen

Löscht den angegebenen Apache Airflow-Auftrag.

Beispiel für eine Anforderung:

URI: DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}

Header:

{
  "Authorization": "Bearer <access-token>"
}

Beispielantwort:

200 OK

Dateiverwaltungs-APIs

Apache Airflow-Auftragsdatei abrufen

Gibt die Job-Datei von Apache Airflow nach Pfad zurück.

Anforderungs-URI: GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true

Beispielergebnisse:

200 OK

Erstellen/Aktualisieren der Apache Airflow-Auftragsdatei

Erstellt oder aktualisiert eine Apache Airflow Job-Datei.

Anforderungs-URI: PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true

Anforderungsnutzlast:

PYTHON files (DAGs), should be UTF-8 encoded

Beispielergebnisse:

200 OK

Apache Airflow-Auftragsdatei löschen

Löscht die angegebene Apache Airflow Job-Datei.

Anforderungs-URI: DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true

Beispielergebnisse:

200 OK

Apache Airflow-Auftragsdateien auflisten

Listet die Dateien auf, die in der angegebenen Apache Airflow Job-Datei enthalten sind.

Anforderungs-URI: GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files?rootPath=”my_folder”&continuationToken={token}?preview=true

Beachten Sie, dass rootPath und continutationToken optional sind.

Beispielergebnisse:

{
"files": [
{ filePath:string, sizeInBytes: int },
  ],
 "continuationToken": "LDEsMTAwMDAwLDA%3D "
"continuationUri": "https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files?continuationToken='LDEsMTAwMDAwLDA%3D'"
}  

Unterstützung des Dienstprinzipalnamens (Service Principal Name, SPN)

Der Dienstprinzipalname (SERVICE Principal Name, SPN) wird für Apache Airflow-Aufträge in Fabric Data Factory unterstützt.

  • Authentifizierung: Airflow verwendet einen Dienstprinzipal zum Authentifizieren ausgehender API-Aufrufe (z. B. für Azure-Dienste oder andere gesicherte Endpunkte). Dadurch können DAGs unbeaufsichtigt ausgeführt werden, während sichergestellt wird, dass nur genehmigte Identitäten auf downstream-Ressourcen zugreifen können.
  • Konfiguration: Um einen SPN mit Airflow zu verwenden, erstellen Sie einen Dienstprinzipal in Azure Active Directory, und erteilen Sie ihm die erforderlichen Berechtigungen für den Zieldienst. Wenn Ihr Airflow-DAG beispielsweise von Azure Data Lake Storage liest oder darin schreibt, muss dem Service Principal die entsprechenden Speicherrollen zugewiesen werden (z. B. Storage Blob Data Reader oder Beitragender).
  • Verbindung: Beim Konfigurieren von Airflow-Verbindungen in Fabric Data Factory können Sie auf einen Dienstprinzipal verweisen, indem Sie die Mandanten-ID, die Client-ID und den geheimen Clientschlüssel angeben. Diese Anmeldeinformationen werden dann von Airflow-Operatoren und Hooks verwendet, wenn authentifizierte API-Aufrufe getätigt werden.
  • Sicherheit: Die Verwendung von SPNs verhindert das direkte Einbetten von Benutzeranmeldeinformationen in DAG-Code- oder Konfigurationsdateien. Außerdem vereinfacht es die Rotation von Anmeldeinformationen, die Zugriffsüberwachung und den Zugriffsentzug, ohne dass Änderungen an der Airflow-DAG-Logik erforderlich sind.

Ausführlichere Informationen zum Einrichten und Verwenden von SPNs in Fabric Data Factory finden Sie unter SPN-Unterstützung in Data Factory.

Weitere Informationen zu APIs in Apache Airflow-Aufträgen in Fabric Data Factory finden Sie in den folgenden Inhalten: