Freigeben über


Apache Flink® Job Management in HDInsight auf AKS-Clustern

Hinweis

Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.

Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.

Wichtig

Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.

HDInsight auf AKS bietet eine Funktion zur Verwaltung und Übermittlung von Apache Flink®-Aufträgen direkt über das Azure-Portal (benutzerfreundliche Oberfläche) und ARM Rest APIs.

Mit dieser Funktion können Benutzer ihre Apache Flink-Aufträge effizient steuern und überwachen, ohne tiefgreifende Kenntnisse auf Clusterebene zu benötigen.

Vorteile

  • Vereinfachte Auftragsverwaltung: Mit der nativen Integration von Apache Flink im Azure-Portal benötigen Benutzer keine umfangreichen Kenntnisse von Flink-Clustern mehr, um Aufträge zu übermitteln, zu verwalten und zu überwachen.

  • Benutzerfreundliche REST-API-: HDInsight on AKS bietet benutzerfreundliche ARM-Rest-APIs zum Senden und Verwalten von Flink-Aufträgen. Benutzer können Flink-Aufträge von jedem Azure-Dienst mit diesen Rest-APIs übermitteln.

  • Mühelose Auftragsaktualisierungen und Zustandsverwaltung: Die systemeigene Azure-Portalintegration bietet eine problemlose Erfahrung zum Aktualisieren von Aufträgen und zum Wiederherstellen des letzten gespeicherten Zustands (Sicherungspunkt). Diese Funktionalität stellt die Kontinuität und Datenintegrität während des gesamten Auftragslebenszyklus sicher.

  • Automatisierung von Flink-Aufträgen mithilfe der Azure Pipeline: Durch HDInsight on AKS haben Flink-Benutzer Zugriff auf eine benutzerfreundliche ARM-REST-API, womit Sie Flink Auftragsvorgänge nahtlos in Ihre Azure Pipeline integrieren können. Ganz gleich, ob Sie neue Aufträge starten, ausgeführte Aufträge aktualisieren oder verschiedene Auftragsvorgänge ausführen, dieser optimierte Ansatz beseitigt manuelle Arbeitsschritte. Es ermöglicht Ihnen, Ihren Flink-Cluster effizient zu verwalten.

Voraussetzungen

Es gibt einige Voraussetzungen vor dem Übermitteln und Verwalten von Aufträgen über Portal- oder Rest-APIs.

  • Erstellen Sie ein Verzeichnis im primären Speicherkonto des Clusters, um das Auftragsglas hochzuladen.

  • Wenn der Benutzer Sicherungspunkte übernehmen möchte, erstellen Sie ein Verzeichnis im Speicherkonto für Auftragssicherungspunkte.

    Screenshot der Verzeichnisstruktur.

Wichtige Funktionen und Vorgänge

  • Neue Auftragsübermittlung: Benutzer können mühelos einen neuen Flink übermitteln, ohne dass komplexe Konfigurationen oder externe Tools erforderlich sind.

  • Beenden und Starten von Aufträgen mit Sicherungspunkten: Benutzer können ihre Flink-Aufträge ordnungsgemäß beenden und von ihrem vorherigen Status (Savepoint) starten. Savepoints stellen sicher, dass der Auftragsfortschritt erhalten bleibt, sodass nahtlose Wiederaufnahme möglich ist.

  • Auftragsaktualisierungen: Der Benutzer kann den ausgeführten Auftrag nach dem Aktualisieren des Jar-Speicherkontos aktualisieren. Dieses Update übernimmt automatisch den Sicherungspunkt und startet den Auftrag mit einem neuen Jar.

  • Zustandslose Updates: Das Ausführen eines neuen Neustarts für einen Auftrag wird durch zustandslose Updates vereinfacht. Mit dieser Funktion können Benutzer einen sauberen Neustart mit aktualisierten Auftrags-Jar initiieren.

  • Savepoint-Verwaltung: Benutzer können zu einem bestimmten Zeitpunkt Sicherungspunkte für ihre ausgeführten Aufträge erstellen. Diese Sicherungspunkte können aufgelistet und verwendet werden, um den Auftrag nach Bedarf von einem bestimmten Prüfpunkt neu zu starten.

  • Abbrechen: Dadurch wird der Auftrag dauerhaft abgebrochen.

  • Löschen: Datensatz „Auftragsverlauf löschen“.

Optionen zum Verwalten von Aufträgen in HDInsight on AKS

HDInsight on AKS bietet Möglichkeiten zum Verwalten von Flink-Aufträgen.

Auftragsverwaltung über das Azure-Portal

Gehen Sie zum Ausführen des Flink-Auftrags über das Portal zu:

Portal -> HDInsight on AKS-Clusterpool -> Flink Cluster --> Einstellungen --> Flink-Aufträge

Screenshot, der zeigt, wie Sie einen Auftrag `flink` ausführen.

  • Neuer Auftrag: Um einen neuen Auftrag zu übermitteln, laden Sie die Auftrags-Jars in das Speicherkonto hoch, und erstellen Sie ein Savepoint-Verzeichnis. Füllen Sie die Vorlage mit den erforderlichen Konfigurationen aus, und übermitteln Sie dann den Auftrag.

    Screenshot der Erstellung eines neuen Auftrags.

    Eigenschaftsdetails:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    Auftragsname Eindeutiger Name für den Auftrag. Dieser wird im Portal angezeigt. Der Auftragsname sollte klein geschrieben sein. Ja
    Jar-Pfad Speicherpfad für Auftrags-Jar. Benutzer sollten ein Verzeichnis im Clusterspeicher erstellen und die Auftrags-Jar hochladen. Ja
    Einstiegsklasse Einstiegsklasse für den Auftrag, von dem die Auftragsausführung gestartet wird. Ja
    Args Argument für das Hauptprogramm des Auftrags. Trennen Sie mehrere Argumente durch Leerzeichen. Nein
    Grad der Flink-Parallelität des Auftrags. 2 Ja
    savepoint.directory Sicherungspunkt-Verzeichnis für den Auftrag. Es wird empfohlen, dass Benutzerinnen und Benutzer ein neues Verzeichnis für den Auftragssicherungspunkt im Speicherkonto anlegen. abfs://<container>@<account>/<deployment-ID>/savepoints No

    Sobald der Auftrag gestartet wurde, ist der Auftragsstatus im Portal RUNNING.

  • Stop: Auftrag stoppen erfordert keinen Parameter. Benutzerinnen und Benutzer können den Auftrag durch Auswahl der Aktion stoppen.

    Screenshot, der zeigt, wie eine Benutzerin oder ein Benutzer einen Auftrag stoppen kann.

    Sobald der Auftrag gestoppt wurde, ist der Auftragsstatus im Portal STOPPED.

  • Start: Diese Aktion startet den Auftrag am Sicherungspunkt. Um den Auftrag zu starten, wählen Sie den gestoppten Auftrag aus, und starten Sie ihn.

    Screenshot, der zeigt, wie eine Benutzerin oder ein Benutzer den Auftrag startet.

    Füllen Sie die Flow-Vorlage mit den erforderlichen Optionen aus, und starten Sie ihn. Benutzer müssen den Sicherungspunkt auswählen, von dem der Benutzer den Auftrag starten möchte. Standardmäßig dauert es den letzten erfolgreichen Sicherungspunkt.

    Screenshot, der zeigt, wie Sie die Flow-Vorlage ausfüllen.

    Eigenschaftsdetails:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    Args Argument für das Hauptprogramm des Auftrags. Alle Argumente sollten durch ein Leerzeichen getrennt werden. Nein
    Letzter Sicherungspunkt Der letzte erfolgreiche Sicherungspunkt vor dem Beenden des Auftrags. Dies wird standardmäßig verwendet, wenn kein Sicherungspunkt ausgewählt ist. Nicht bearbeitbar
    Name des Sicherungspunkts Benutzer können den verfügbaren Sicherungspunkt für den Auftrag auflisten und einen auswählen, um den Auftrag zu starten. Nein

    Sobald der Auftrag gestartet wurde, ist der Auftragsstatus im Portal wird ausgeführt.

  • Update: Update hilft beim Neustart von Aufträgen mit aktualisiertem Auftragscode. Benutzer müssen die neuesten Auftrags-Jar am Speicherort aktualisieren und den Auftrag über das Portal aktualisieren. Dieses Update stoppt den Auftrag mit savepoint und beginnt erneut mit dem neuesten Jar.

    Screenshot, der zeigt, wie Sie Aufträge mit aktualisiertem Auftragscode neu starten.

    Vorlage für den Aktualisierungsauftrag.

    Screenshot der Vorlage zur Aktualisierung eines Auftrags.

    Sobald der Auftrag aktualisiert wurde, ist der Auftragsstatus im Portal „Wird ausgeführt“.

  • Zustandslose Aktualisierung: Dieser Auftrag ist wie ein Update, erfordert jedoch einen neuen Neustart des Auftrags mit dem neuesten Code.

    Screenshot des Neustarts des Auftrags mit dem aktuellsten Code.

    Vorlage für den Aktualisierungsauftrag.

    Screenshot der Vorlage für die Aktualisierung eines zustandslosen Auftrags.

    Eigenschaftsdetails:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    Args Argument für das Hauptprogramm des Auftrags. Trennen Sie alle Argumente durch Leerzeichen. Nein

    Sobald der Auftrag aktualisiert wurde, ist der Auftragsstatus im Portal „Wird ausgeführt“.

  • Sicherungspunkt: Den Sicherungspunkt für den Flink-Auftrag übernehmen.

    Screenshot des Sicherungspunkts für den Flink-Auftrag.

    Der Speicherpunkt ist zeitaufwändig und dauert einige Zeit. Der Status der Auftragsaktion wird in Bearbeitung angezeigt.

    Screenshot des Status der Auftragsaktion.

  • Abbrechen: Dieser Auftrag hilft dem Benutzer, den Auftrag zu beenden.

    Screenshot der zeigt, wie eine Benutzerin oder ein Benutzer den Auftrag beenden kann.

  • Löschen: Auftragsdaten aus dem Portal löschen.

    Screenshot, der zeigt, wie eine Benutzerin oder ein Benutzer Auftragsdaten aus dem Portal löschen kann.

  • Auftragsdetails anzeigen: Um den Auftragsdetails anzuzeigen, kann der Benutzer auf den Auftragsnamen klicken, es enthält die Details zum Auftrag und zum letzten Aktionsergebnis.

    Screenshot, der zeigt, wie Sie Auftragsdetails anzeige.

    Für jede fehlgeschlagene Aktion werden in diesem Auftrags-Json detaillierte Ausnahmen und Gründe für den Fehler angegeben.

Auftragsverwaltung mithilfe von Rest-API

HDInsight auf AKS unterstützt benutzerfreundliche ARM Rest APIs zum Übermitteln und Verwalten von Aufträgen. Mithilfe dieser Flink-REST-API können Sie Flink-Auftragsvorgänge nahtlos in Ihre Azure-Pipeline integrieren. Ganz gleich, ob Sie neue Aufträge starten, ausgeführte Aufträge aktualisieren oder verschiedene Auftragsvorgänge ausführen, dieser optimierte Ansatz beseitigt manuelle Arbeitsschritte und ermöglicht es Ihnen, Ihre Flink-Cluster effizient zu verwalten.

Basis-URL-Format für Rest-API

Sehen Sie sich die folgende URL für die Rest-API an. Benutzerinnen und Benutzer müssen Abonnement, Ressourcengruppe, Cluster-Pool, Clustername und HDInsight auf AKS API-Version in dieser ersetzen, bevor Sie sie verwenden. https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runjob?api-version={{API_VERSION}}

Mit dieser REST-API können Benutzer neue Aufträge initiieren, Aufträge anhalten, Aufträge starten, Sicherungspunkte erstellen, Aufträge abbrechen und Aufträge löschen. Die aktuelle API_VERSION lautet 2023-06-01-preview.

Rest-API-Authentifizierung

Um Flink ARM Rest API-Benutzer zu authentifizieren, müssen Sie das Bearer-Token oder Access-Token für die ARM-Ressource erhalten. Um Azure ARM (Azure Resource Manager) REST API mit einem Dienstprinzipal zu authentifizieren, können Sie die folgenden allgemeinen Schritte ausführen:

  • Erstellen Sie einen Dienstprinzipal.

    az ad sp create-for-rbac --name <your-SP-name>

  • Erteilen Sie SP-Berechtigungen für flink Cluster.

  • Melden Sie sich mit dem Dienstprinzipal an.

    az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>

  • Rufen Sie einen Zugriffstoken ab.

    $token = az account get-access-token --resource=https://management.azure.com/ | ConvertFrom-Json

    $tok = $token.accesstoken

    Benutzer können den Token in der angezeigten URL verwenden.

    $data = Invoke-RestMethod -Uri $restUri -Method GET -Headers @{ Authorization = "Bearer $tok" }

Authentifizierung mit verwalteter Identität: Benutzer können Ressourcen nutzen, die verwaltete Identität unterstützen, um Aufrufe an die Auftrags-REST-API auszuführen. Weitere Einzelheiten entnehmen Sie bitte der Dokumentation zur verwalteten Identität.

LISTE der APIs und Parameter

  • Neuer Auftrag: Rest-API zum Senden eines neuen Auftrags an Flink.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext:

    { 
        "properties": { 
            "jobType": "FlinkJob", 
            "jobName": "<JOB_NAME>", 
            "action": "NEW", 
            "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
            "jarName": "<JOB_JAR_NAME>", 
            "entryClass": "<JOB_ENTRY_CLASS>", 
            “args”: ”<JOB_JVM_ARGUMENT>”
            "flinkConfiguration": { 
                "parallelism": "<JOB_PARALLELISM>", 
                "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>" 
            } 
         } 
    }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Eindeutiger Name für den Auftrag. Dieser wird im Portal angezeigt. Der Auftragsname sollte klein geschrieben sein. Ja
    action Er gibt den Vorgangstyp für den Auftrag an. Er sollte immer auf „NEU“ eingestellt sein, wenn Sie einen neuen Auftrag starten. Ja
    jobJarDirectory Speicherpfad für das Job-Jar-Verzeichnis. Benutzer sollten ein Verzeichnis im Clusterspeicher erstellen und die Auftrags-Jar hochladen. Ja
    jarName Der Name des Auftragsjars. Ja
    entryClass Einstiegsklasse für den Auftrag, von dem die Auftragsausführung gestartet wird. Ja
    args Argument für das Hauptprogramm des Auftrags. Trennen Sie mehrere Argumente durch Leerzeichen. Nein
    Grad der Flink-Parallelität des Auftrags. 2 Ja
    savepoint.directory Sicherungspunkt-Verzeichnis für den Auftrag. Es wird empfohlen, dass Benutzerinnen und Benutzer ein neues Verzeichnis für den Auftragssicherungspunkt im Speicherkonto anlegen. abfs://<container>@<account>/<deployment-ID>/savepoints No

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Auftrag stoppen: Rest-API zum Beenden des aktuellen ausgeführten Auftrags.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

       {
          "properties": {
            "jobType": "FlinkJob",
            "jobName": "<JOB_NAME>",
            "action": "STOP"
          }
        }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird Ja
    action Er sollte „STOP“ lauten. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Startauftrag: Rest-API zum Starten des STOPP-Auftrags.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

       {
          "properties": {
             "jobType": "FlinkJob",
             "jobName": "<JOB_NAME>",
             "action": "START",
             "savePointName": "<SAVEPOINT_NAME>"
          }
        }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte „START“ lauten Ja
    savePointName Sicherungspunktname, um den Auftrag zu starten. Es ist eine optionale Eigenschaft, standardmäßig dauert der Startvorgang den letzten erfolgreichen Sicherungspunkt. No

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Aktualisierungsauftrag: Rest-API für die Aktualisierung eines laufenden Auftrags.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”,
              "savePointName": "<SAVEPOINT_NAME>"
          }
      }
    
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte immer auf „UPDATE“ eingestellt sein, wenn Sie einen neuen Auftrag starten. Ja
    args Auftrag JVM Argumente Nein
    savePointName Sicherungspunktname, um den Auftrag zu starten. Es handelt sich um eine optionale Eigenschaft. Standardmäßig wird der Startvorgang mit dem letzten erfolgreichen Sicherungspunkt durchgeführt. No

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Zustandsloser Aktualisierungsauftrag: Rest-API für zustandslose Aktualisierungen.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "STATELESS_UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”
          }
      }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte immer auf „STATELESS_UPDATE“ eingestellt sein, wenn Sie einen neuen Auftrag starten. Ja
    args Auftrag JVM Argumente Nein

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Sicherungspunkt: REST-API zum Auslösen des Sicherungspunkts für den Auftrag.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "SAVEPOINT"
          }
      }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte immer auf „SAVEPOINT“ eingestellt sein, wenn Sie einen neuen Auftrag starten. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Sicherungspunkt auflisten: Rest-API, um den gesamten Sicherungspunkt aus dem Sicherungspunkt-Verzeichnis auflisten zu können.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "LIST_SAVEPOINT"
          }
      }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird Ja
    action Er sollte „LIST_SAVEPOINT“ lauten Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Abbrechen: Rest API, um den Auftrag abzubrechen.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "CANCEL"
          }
      }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Es sollte FlinkJob sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte „CANCEL“ lauten. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Löschen: Rest-API zum Löschen des Auftrags.

    Option Wert
    Methode NACHRICHT
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "DELETE"
          }
      }
    

    Eigenschaftsdetails für JSON-Text:

    Eigenschaft Beschreibung Standardwert Obligatorisch.
    jobType Auftragstyp. Er sollte „FlinkJob“ lauten. Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    action Er sollte „DELETE“ lauten. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Listenaufträge: Rest-API, um alle Aufträge und den Status der aktuellen Aktion auflisten.

    Option Wert
    Methode GET
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs?api-version={{API_VERSION}}
    Header Autorisierung = „Bearer $token“

    Ausgabe:

    { 
      "value": [ 
          { 
              "id": "/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs/job1", 
              "properties": { 
                  "jobType": "FlinkJob", 
                  "jobName": "job1", 
                  "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
                  "jarName": "<JOB_JAR_NAME>", 
                  "action": "STOP", 
                  "entryClass": "<JOB_ENTRY_CLASS>", 
                  "flinkConfiguration": { 
                      "parallelism": "2", 
                      "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s" 
                  }, 
                  "jobId": "20e9e907eb360b1c69510507f88cdb7b", 
                  "status": "STOPPED", 
                  "jobOutput": "Savepoint completed. Path: <JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5", 
                  "actionResult": "SUCCESS", 
                  "lastSavePoint": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5" 
          } 
       }
      ]
    }
    

Hinweis

Wenn eine Aktion ausgeführt wird, zeigt „actionResult“ dies mit dem Wert „IN_PROGRESS“. Bei erfolgreichem Abschluss wird „SUCCESS“ angezeigt, und im Falle eines Fehlers wird „FAILED“ angezeigt.

Verweis