Udostępnij za pośrednictwem


Zarządzanie zadaniami Apache Flink® w HDInsight na klastrach AKS

Ważny

Usługa Azure HDInsight w usłudze AKS została wycofana 31 stycznia 2025 r. Dowiedz się więcej w tym ogłoszeniu.

Aby uniknąć nagłego kończenia obciążeń, należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure.

Ważny

Ta funkcja jest obecnie dostępna w wersji zapoznawczej. Dodatkowe warunki użytkowania platformy Microsoft Azure zawierają więcej warunków prawnych, które dotyczą funkcji platformy Azure w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje na temat tej konkretnej wersji zapoznawczej, zobacz Azure HDInsight w usłudze AKS w wersji zapoznawczej informacji. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie na AskHDInsight z dodatkowymi szczegółami i śledź nas, aby otrzymywać więcej aktualizacji na społeczności Azure HDInsight.

Usługa HDInsight na AKS udostępnia funkcję do zarządzania zadaniami Apache Flink® i przesyłania ich bezpośrednio za pośrednictwem portalu Azure (interfejsu przyjaznego dla użytkownika) oraz ARM REST API.

Ta funkcja umożliwia użytkownikom wydajną kontrolę i monitorowanie zadań apache Flink bez konieczności głębokiej wiedzy na poziomie klastra.

Korzyści

  • uproszczone zarządzanie zadaniami: dzięki natywnej integracji narzędzia Apache Flink w witrynie Azure Portal użytkownicy nie potrzebują już obszernej wiedzy na temat klastrów Flink do przesyłania i monitorowania zadań oraz zarządzania nimi.

  • User-Friendly interfejs API REST: usługa HDInsight w usłudze AKS udostępnia przyjazny dla użytkownika interfejs API REST ARM do przesyłania i zarządzania zadaniami Flink. Użytkownicy mogą przesyłać zadania Flink z dowolnej usługi platformy Azure przy użyciu tych interfejsów API REST.

  • Aktualizacje zadań bez wysiłku i zarządzanie stanem: natywna integracja z Azure Portal zapewnia bezproblemowe doświadczenie aktualizowania zadań i przywracania ich do ostatniego zapisanego stanu (punkt zapisu). Ta funkcja zapewnia ciągłość i integralność danych w całym cyklu życia zadania.

  • Automatyzowanie zadania Flink przy użyciu potoku platformy Azure: Używając HDInsight na AKS, użytkownicy Flink mają dostęp do przyjaznego interfejsu ARM Rest API, dzięki czemu mogą bezproblemowo zintegrować operacje zadań Flink w swoim potoku Azure. Niezależnie od tego, czy uruchamiasz nowe zadania, aktualizujesz uruchomione zadania, czy wykonujesz różne operacje zadań, to usprawnione podejście eliminuje ręczne kroki. Umożliwia wydajne zarządzanie klastrem Flink.

Warunki wstępne

Przed przesłaniem zadań i zarządzaniem nimi z poziomu portalu lub interfejsów API REST istnieją pewne wymagania wstępne.

  • Utwórz katalog na podstawowym koncie przechowywania klastra, aby przekazać plik jar zadania.

  • Jeśli użytkownik chce zrobić punkty zapisywania, utwórz katalog na koncie pamięci masowej dla punktów zapisywania zadań.

    Zrzut ekranu przedstawia strukturę katalogu.

Kluczowe funkcje i operacje

  • Nowe przesyłanie zadań: użytkownicy mogą bez wysiłku przesyłać nowe zadania Flink, eliminując potrzebę złożonych konfiguracji lub narzędzi zewnętrznych.

  • Zatrzymywanie i uruchamianie zadań przy użyciu punktów zapisywania: Użytkownicy mogą bezpiecznie zatrzymywać i uruchamiać zadania Flink z poprzedniego stanu (Savepoint). Punkty kontrolne zapewniają zachowanie postępu zadania, umożliwiając płynne wznawianie.

  • Aktualizacje zadań: Użytkownik może zaktualizować uruchomione zadanie po zaktualizowaniu pliku JAR na koncie magazynowym. Ta aktualizacja automatycznie przejmie punkt zapisywania i uruchom zadanie przy użyciu nowego pliku jar.

  • aktualizacje bezstanowe: przeprowadzanie nowego ponownego uruchamiania zadania jest uproszczone za pomocą aktualizacji bezstanowych. Ta funkcja umożliwia użytkownikom zainicjowanie czystego ponownego uruchomienia z wykorzystaniem zaktualizowanego jar-a zadania.

  • zarządzanie programem Savepoint: w danym momencie użytkownicy mogą tworzyć punkty zapisywania dla uruchomionych zadań. Te punkty zapisu można wyświetlać i używać ich do ponownego uruchamiania zadania z określonego punktu kontrolnego w razie potrzeby.

  • Anuluj: spowoduje to trwałe anulowanie zadania.

  • Usuń: Usuń rekord z historii zadań.

Opcje zarządzania zadaniami w HDInsight na platformie AKS

Usługa HDInsight na AKS udostępnia sposoby zarządzania zadaniami Flink.

Zarządzanie zadaniami w portalu Azure

Aby uruchomić zadanie Flink z portalu, przejdź do:

Portal — HDInsight> w puli klastrów AKS — Klaster Flink> — Ustawienia> — Zadania Flink>

Zrzut ekranu przedstawia sposób uruchamiania zadania

  • Nowe zadanie: Aby przesłać nowe zadanie, przekaż pliki jar dotyczące zadania do konta magazynowego i utwórz katalog punktu zapisu. Ukończ szablon przy użyciu niezbędnych konfiguracji, a następnie prześlij zadanie.

    Zrzut ekranu przedstawia sposób tworzenia nowego zadania.

    szczegóły właściwości :

    Własność Opis Wartość domyślna Obowiązkowy
    Nazwa zadania Unikatowa nazwa zadania. Jest on wyświetlany w portalu. Nazwa zadania powinna być zapisana małą literą. Tak
    Ścieżka jar Ścieżka do przechowywania pliku jar zadania. Użytkownicy powinni utworzyć katalog w przestrzeni dyskowej klastra i przesłać plik JAR zadania. Tak
    Klasa Entry Klasa wejściowa dla zadania, z którego rozpoczyna się wykonywanie zadania. Tak
    Argumenty Argument dla głównego programu zadania. Rozdziel wszystkie argumenty spacjami. Nie
    Równoległość Równoległość zadania. 2 Tak
    savepoint.directory Katalog punktów zapisu dla zadania. Zaleca się, aby użytkownicy utworzyli nowy katalog dla punktu zapisywania zadań na koncie magazynu. abfs://<container>@<account>/<deployment-ID>/savepoints Nie

    Po uruchomieniu zadania stan zadania na portalu to URUCHOMIONY.

  • Zatrzymaj: Zadanie zatrzymania nie wymaga żadnego parametru, użytkownik może zatrzymać zadanie, wybierając akcję.

    Zrzut ekranu pokazuje, jak użytkownik może zatrzymać zadanie.

    Po zatrzymaniu zadania stan zadania w portalu jest ZATRZYMANY.

  • Start: Ta akcja uruchamia zadanie z punktu zapisywania. Aby uruchomić zadanie, wybierz zatrzymane zadanie i uruchom je.

    Zrzut ekranu przedstawia sposób uruchamiania zadania użytkownika.

    Wypełnij szablon przepływu wymaganymi opcjami i uruchom go. Użytkownicy muszą wybrać punkt zapisywania, z którego użytkownik chce uruchomić zadanie. Domyślnie wybierany jest ostatni udany punkt zapisu.

    Zrzut ekranu pokazuje, jak wypełnić szablon przepływu.

    szczegóły nieruchomości:

    Własność Opis Wartość domyślna Obowiązkowy
    Argumenty Argument programu głównego zadania. Wszystkie argumenty powinny być oddzielone spacją. Nie
    Ostatni punkt zapisywania Ostatnie pomyślne wykonanie punktu zapisywania przed zatrzymaniem zadania. Ta opcja będzie używana domyślnie, jeśli nie zostanie wybrany punkt zapisywania. Nie można edytować
    Nazwa punktu zapisywania Użytkownicy mogą wyświetlić listę dostępnych punktów zapisywania dla zadania i wybrać jeden, aby uruchomić zadanie. Nie

    Po uruchomieniu zadania stan zadania w portalu będzie URUCHOMIONY.

  • Update: aktualizacja pomaga ponownie uruchamiać zadania przy użyciu zaktualizowanego kodu zadania. Użytkownicy muszą zaktualizować najnowszy plik JAR dla zadania w lokalizacji przechowywania i zaktualizować zadanie z portalu. Ta aktualizacja zatrzymuje zadanie z punktem zapisywania i uruchamia się ponownie przy użyciu najnowszego pliku jar.

    Zrzut ekranu przedstawia sposób ponownego uruchamiania zadań przy użyciu zaktualizowanego kodu zadania.

    Szablon do aktualizowania zadania.

    Zrzut ekranu przedstawia szablon do aktualizacji zadania.

    Po zaktualizowaniu zadania stan zadania w portalu to "URUCHOMIONE".

  • aktualizacja bezstanowa: To zadanie jest jak aktualizacja, ale obejmuje ponowne uruchomienie pracy z najnowszym kodem.

    Zrzut ekranu przedstawia nowe ponowne uruchomienie zadania przy użyciu najnowszego kodu.

    Szablon do aktualizowania zadania.

    Zrzut ekranu przedstawia szablon aktualizowania zadania bezstanowego.

    Szczegóły nieruchomości:

    Własność Opis Wartość domyślna Obowiązkowy
    Argumenty Argument głównego programu zadania. Oddziel wszystkie argumenty spacją. Nie

    Po zaktualizowaniu zadania, status zadania na portalu to "URUCHOMIONY".

  • pl-PL: Savepoint: Utwórz savepoint dla zadania Flink.

    Zrzut ekranu przedstawia punkt zapisywania zadania Flink.

    Program Savepoint jest czasochłonnym procesem i zajmuje trochę czasu. Stan akcji zadania jest wyświetlany jako w toku.

    Zrzut ekranu przedstawia stan akcji zadania.

  • Anuluj: To zadanie pozwala użytkownikowi na przerwanie zadania.

    Zrzut ekranu przedstawia sposób, w jaki użytkownik może zakończyć zadanie.

  • Usuń: Usuń dane pracy z portalu.

    Zrzut ekranu pokazuje, jak użytkownik może usunąć dane zadania z portalu.

  • Wyświetl szczegóły zadania: Aby wyświetlić szczegóły zadania, użytkownik może kliknąć nazwę zadania, podaje szczegółowe informacje o zadaniu i ostatnim wyniku akcji.

    Zrzut ekranu przedstawia sposób wyświetlania szczegółów zadania.

    W przypadku każdej akcji, która zakończyła się niepowodzeniem, ten kod json zadania zawiera szczegółowe wyjątki i przyczyny niepowodzenia.

zarządzanie zadaniami przy użyciu interfejsu API REST

Usługa HDInsight na AKS obsługuje przyjazne dla użytkownika interfejsy API REST ARM do przesyłania zadań i zarządzania nimi. Korzystając z tego interfejsu API REST Flink, można bezproblemowo zintegrować operacje zadań Flink z usługą Azure Pipeline. Niezależnie od tego, czy uruchamiasz nowe zadania, aktualizujesz uruchomione zadania, czy wykonujesz różne operacje zadań, usprawnione podejście eliminuje ręczne kroki i umożliwia efektywne zarządzanie klastrem Flink.

Podstawowy format adresu URL dla interfejsu API REST

Zobacz następujący adres URL dla interfejsu API REST, użytkownicy muszą zastąpić subskrypcję, grupę zasobów, pulę klastrów, nazwę klastra i wersję interfejsu API usługi HDInsight w usłudze AKS przed jej użyciem. 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}}

Za pomocą tego interfejsu API REST użytkownicy mogą inicjować nowe zadania, zatrzymywać zadania, uruchamiać zadania, tworzyć punkty zapisywania, anulować zadania i usuwać zadania. Obecna wersja API to 2023-06-01-preview.

Uwierzytelnianie interfejsu API REST

Aby uwierzytelnić użytkowników interfejsu API REST ARM Flink, należy uzyskać token typu bearer lub token dostępu dla zasobu ARM. Aby uwierzytelnić REST API Azure ARM (Azure Resource Manager) przy użyciu jednostki usługi, możesz wykonać następujące kroki:

  • Utwórz główny obiekt usługi.

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

  • Nadaj właścicielowi uprawnienia do dostawcy usług dla klastra flink.

  • Zaloguj się jako użytkownik usługi.

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

  • Uzyskiwanie tokenu dostępu.

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

    $tok = $token.accesstoken

    Użytkownicy mogą używać tokenu w wyświetlonym adresie URL.

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

Uwierzytelnianie przy użyciu tożsamości zarządzanej: Użytkownicy mogą korzystać z zasobów obsługujących tożsamość zarządzaną w celu wykonywania wywołań interfejsu API REST zadania. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją tożsamości zarządzanej.

LISTA interfejsów API i parametrów

  • Nowe zadanie: interfejs REST API do przesyłania nowego zadania do Flink.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania :

    { 
        "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>" 
            } 
         } 
    }
    

    szczegóły dotyczące właściwości treści JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    rodzaj pracy Typ zadania. Powinno to być "FlinkJob" Tak
    jobName Unikatowa nazwa zadania. Jest on wyświetlany w portalu. Nazwa zadania powinna być napisana małymi literami. Tak
    akcja Wskazuje typ operacji w zadaniu. Zawsze powinno to być "NOWE" przy nowym uruchomieniu zadania. Tak
    katalog jobJar Ścieżka przechowywania dla katalogu plików jar zadania. Użytkownicy powinni utworzyć katalog w magazynie klastra i przesłać plik JAR zadania. Tak
    jarName Nazwa pliku zadań jar. Tak
    entryClass Klasa początkowa dla zadania, od której rozpoczyna się jego wykonywanie. Tak
    args Argument głównego programu zadania. Oddzielaj argumenty spacją. Nie
    Równoległość Równoległość zadania. 2 Tak
    savepoint.directory Zapisz katalog dla zadania. Zaleca się, aby użytkownicy utworzyli nowy katalog dla punktu zapisywania zadań na koncie magazynu. abfs://<container>@<account>/<deployment-ID>/savepoints Nie

    Przykład:

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

  • Zatrzymaj zadanie: interfejs API REST umożliwiający zatrzymanie aktualnie działającego zadania.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    Szczegóły właściwości ciała JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    rodzaj pracy Typ zadania. Powinno to być "FlinkJob" Tak
    Nazwa zadania Nazwa zadania, która jest używana do uruchamiania zadania Tak
    akcja Powinno to być "STOP" Tak

    Przykład:

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

  • Rozpocznij zadanie: API REST, aby uruchomić zatrzymane zadanie.

    Opcja Wartość
    Metoda Poczta
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    Szczegóły właściwości dla treści JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Nazwa zadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja Powinno być słowo "START" Tak
    nazwaPunktuZapisu Zapisz nazwę punktu, aby uruchomić zadanie. Jest to właściwość opcjonalna. Domyślnie operacja uruchamiania wybiera ostatni udany punkt zapisu. Nie

    Przykład :

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

  • zadanie aktualizacji: interfejs API REST do aktualizowania bieżącego uruchomionego zadania.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    szczegóły właściwości dla treści JSON :

    Własność Opis Wartość domyślna Obowiązkowy
    typ pracy Typ zadania. Powinno to być "FlinkJob" Tak
    NazwaZadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja Powinno to być zawsze "UPDATE" dla uruchamiania nowego zadania. Tak
    args Argumenty JVM zadania Nie
    nazwaPunktuZapisu Zapisz nazwę punktu, aby uruchomić zadanie. Jest to opcjonalna właściwość, domyślnie operacja uruchamiania wybierze ostatni udany punkt zapisu. Nie

    Przykład:

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

  • zadanie aktualizacji bezstanowej: interfejs API REST na potrzeby aktualizacji bezstanowej.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    szczegóły właściwości treści JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    Typ pracy Typ zadania. Powinno to być "FlinkJob" Tak
    Nazwa zadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja Powinno to być zawsze "STATELESS_UPDATE" przy uruchamianiu nowego zadania. Tak
    args Argumenty JVM dla zadań Nie

    Przykład:

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

  • Savepoint: REST API do wyzwalania punktu zapisywania dla zadania.

    Opcja Wartość
    Metoda Post
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    Szczegółowe dane dotyczące treści JSON :

    Własność Opis Wartość domyślna Obowiązkowy
    typ pracy Typ zadania. Powinno to być "FlinkJob" Tak
    nazwa zadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja Powinno to być zawsze "SAVEPOINT" dla uruchamiania nowego zadania. Tak

    Przykład:

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

  • Lista punktów zapisywania: Interfejs API REST do wyświetlania listy wszystkich punktów zapisywania z katalogu savepoint.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    szczegóły właściwości treści JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    rodzajPracy Typ zadania. Powinno to być "FlinkJob" Tak
    nazwaZadania Nazwa zadania, która jest używana do uruchamiania zadania Tak
    akcja Powinno to być "LIST_SAVEPOINT" Tak

    Przykład:

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

  • Anuluj: API REST do anulowania zadania.

    Opcja Wartość
    Metoda wpis
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    szczegóły atrybutów dla treści JSON:

    Własność Opis Wartość domyślna Obowiązkowy
    typ pracy Typ zadania. Powinna to być FlinkJob Tak
    Nazwa zadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja To powinno być ANULUJ. Tak

    Przykład :

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

  • Usuń: interfejs API REST do usunięcia zadania.

    Opcja Wartość
    Metoda POST
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    Treść żądania

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

    szczegóły właściwości dla elementu JSON :

    Własność Opis Wartość domyślna Obowiązkowy
    typ pracy Typ zadania. Powinno to być "FlinkJob" Tak
    nazwaZadania Nazwa zadania używana do uruchamiania zadania. Tak
    akcja Powinna to być wartość DELETE. Tak

    Przykład:

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

  • Lista zadań: Interfejs REST API do wyświetlania listy wszystkich zadań i statusu bieżącej akcji.

    Opcja Wartość
    Metoda POBIERZ
    Adres 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}}
    Nagłówek Authorization = "Bearer $token"

    dane wyjściowe:

    { 
      "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" 
          } 
       }
      ]
    }
    

Notatka

Gdy jakakolwiek akcja jest w toku, akcjaResult będzie wskazywać ją z wartością "IN_PROGRESS" Po pomyślnym zakończeniu zostanie wyświetlona wartość "SUCCESS", a w przypadku niepowodzenia będzie to "NIEPOWODZENIE".

Odniesienie