Udostępnij za pośrednictwem


Zarządzanie zadaniami apache Flink® w usłudze HDInsight w klastrach usługi AKS

Uwaga

Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.

Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.

Ważne

Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.

Usługa HDInsight w usłudze AKS udostępnia funkcję do zarządzania zadaniami apache Flink® i przesyłania ich bezpośrednio za pośrednictwem witryny Azure Portal (interfejsu przyjaznego dla użytkownika) i interfejsów API REST usługi ARM.

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

Świadczenia

  • 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 w celu przesyłania i monitorowania zadań oraz zarządzania nimi.

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

  • Bezproblemowe aktualizacje zadań i zarządzanie stanami: natywna integracja witryny Azure Portal zapewnia bezproblemowe środowisko aktualizowania zadań i przywracania ich do ostatniego zapisanego stanu (savepoint). Ta funkcja zapewnia ciągłość i integralność danych w całym cyklu życia zadania.

  • Automatyzowanie zadania Flink przy użyciu potoku platformy Azure: przy użyciu usługi HDInsight w usłudze AKS użytkownicy Flink mają dostęp do przyjaznego dla użytkownika interfejsu API REST usługi ARM. Możesz bezproblemowo zintegrować operacje zadań Flink w usłudze Azure Pipeline. 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.

Wymagania 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 magazynu klastra, aby przekazać plik jar zadania.

  • Jeśli użytkownik chce podjąć punkty zapisywania, utwórz katalog na koncie magazynu dla punktów zapisywania zadań.

    Zrzut ekranu przedstawiający strukturę katalogu.

Kluczowe funkcje i operacje

  • Przesyłanie nowego zadania: użytkownicy mogą bez wysiłku przesyłać nowe łącze 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ć swoje zadania z poprzedniego stanu (Savepoint). Punkty zapisywania zapewniają zachowanie postępu zadania, umożliwiając bezproblemowe wznawianie.

  • Aktualizacje zadań: użytkownik może zaktualizować uruchomione zadanie po zaktualizowaniu pliku jar na koncie magazynu. 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 przy użyciu zaktualizowanego pliku jar zadania.

  • Zarządzanie programem SavePoint: w dowolnym momencie użytkownicy mogą tworzyć punkty zapisywania dla uruchomionych zadań. Te punkty zapisywania można wyświetlać i używać ich do ponownego uruchamiania zadania z określonego punktu kontrolnego zgodnie z potrzebami.

  • Anuluj: spowoduje to trwałe anulowanie zadania.

  • Usuń: usuń rekord historii zadań.

Opcje zarządzania zadaniami w usłudze HDInsight w usłudze AKS

Usługa HDInsight w usłudze AKS udostępnia sposoby zarządzania zadaniami Flink.

Zarządzanie zadaniami w witrynie Azure Portal

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

Portal —> usługa HDInsight w puli klastrów usługi AKS —> klaster Flink —> Ustawienia —> zadania

Zrzut ekranu przedstawia sposób uruchamiania zadania

  • Nowe zadanie: Aby przesłać nowe zadanie, przekaż pliki jar zadania do konta magazynu i utwórz katalog savepoint. 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łaściwości Description Wartość domyślna Obowiązkowy
    Nazwa zadania Unikatowa nazwa zadania. Jest on wyświetlany w portalu. Nazwa zadania powinna być w małej ostatniej. Tak
    Ścieżka jar Ścieżka magazynu dla pliku jar zadania. Użytkownicy powinni utworzyć katalog w magazynie klastra i przekazać plik JAR zadania. Tak
    Entry, klasa Klasa entry dla zadania, z którego rozpoczyna się wykonywanie zadania. Tak
    Args Argument głównego programu zadania. Rozdziel wszystkie argumenty spacjami. Nie.
    Równoległości prostych 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.

    Po uruchomieniu zadania stan zadania w portalu jest uruchomiony.

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

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

    Po zatrzymaniu zadania stan zadania w portalu jest zatrzymany.

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

    Zrzut ekranu przedstawiający 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 trwa ostatni udany punkt zapisywania.

    Zrzut ekranu przedstawiający sposób wypełniania szablonu przepływu.

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

    Właściwości Description Wartość domyślna Obowiązkowy
    Args Argument głównego programu 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.

  • Aktualizacja: aktualizacja ułatwia ponowne uruchamianie zadań przy użyciu zaktualizowanego kodu zadania. Użytkownicy muszą zaktualizować najnowszy plik jar zadania w lokalizacji magazynu 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 przedstawiający szablon aktualizowania zadania.

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

  • Aktualizacja bezstanowa: to zadanie jest jak aktualizacja, ale obejmuje nowe ponowne uruchomienie zadania z najnowszym kodem.

    Zrzut ekranu przedstawiający nowe ponowne uruchomienie zadania przy użyciu najnowszego kodu.

    Szablon do aktualizowania zadania.

    Zrzut ekranu przedstawiający szablon aktualizowania zadania bezstanowego.

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

    Właściwości Description Wartość domyślna Obowiązkowy
    Args Argument głównego programu zadania. Oddziel wszystkie argumenty spacją. Nie.

    Po zaktualizowaniu zadania stan zadania w portalu jest uruchomiony.

  • Savepoint: Weź punkt zapisywania dla zadania Flink.

    Zrzut ekranu przedstawiający 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 przedstawiający stan akcji zadania.

  • Anuluj: to zadanie ułatwia użytkownikowi zakończenie zadania.

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

  • Usuń: usuń dane zadania z portalu.

    Zrzut ekranu przedstawiający sposób usuwania danych zadań przez użytkownika 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 przedstawiający 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 w usłudze AKS obsługuje przyjazne dla użytkownika interfejsy API REST usługi ARM do przesyłania zadania i zarządzania nim. 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. Bieżąca API_VERSION to 2023-06-01-preview.

Uwierzytelnianie interfejsu API REST

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

  • Utwórz jednostkę usługi.

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

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

  • Zaloguj się przy użyciu jednostki 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ń do 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 API REST do przesyłania nowego zadania do funkcji Flink.

    Opcja Wartość
    Method POST
    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 właściwości treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Unikatowa nazwa zadania. Jest on wyświetlany w portalu. Nazwa zadania powinna być w małej ostatniej. Tak
    action Wskazuje typ operacji w zadaniu. Powinno to być zawsze "NOWE" dla nowego uruchomienia zadania. Tak
    jobJarDirectory Ścieżka magazynu dla katalogu jar zadania. Użytkownicy powinni utworzyć katalog w magazynie klastra i przekazać plik JAR zadania. Tak
    jarName Nazwa pliku jar zadania. Tak
    entryClass Klasa entry dla zadania, z którego rozpoczyna się wykonywanie zadania. Tak
    args Argument głównego programu zadania. Oddzielaj argumenty spacją. Nie.
    Równoległości prostych 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 bieżącego uruchomionego zadania.

    Opcja Wartość
    Method POST
    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 treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania, która jest używana do uruchamiania zadania Tak
    action Powinna to być wartość "STOP" Tak

    Przykład:

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

  • Zadanie uruchamiania: interfejs API REST, aby uruchomić zadanie ZATRZYMANE.

    Opcja Wartość
    Method POST
    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 treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinna to być wartość "START" Tak
    savePointName Zapisz nazwę punktu, aby uruchomić zadanie. Jest to właściwość opcjonalna. Domyślnie operacja uruchamiania trwa ostatnio udany punkt zapisywania. 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ść
    Method POST
    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 treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinno to być zawsze "UPDATE" dla nowego uruchomienia zadania. Tak
    args Argumenty JVM zadania Nie.
    savePointName Zapisz nazwę punktu, aby uruchomić zadanie. Jest to opcjonalna właściwość, domyślnie operacja uruchamiania będzie trwać ostatnio udany punkt zapisywania. Nie.

    Przykład:

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

  • Zadanie aktualizacji bezstanowej: interfejs API REST dla aktualizacji bezstanowej.

    Opcja Wartość
    Method POST
    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łaściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinno to być zawsze "STATELESS_UPDATE" dla nowego uruchomienia zadania. Tak
    args Argumenty JVM zadania Nie.

    Przykład:

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

  • Savepoint: interfejsy API REST wyzwalające punkt zapisywania dla zadania.

    Opcja Wartość
    Method POST
    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óły właściwości treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinno to być zawsze "SAVEPOINT" dla nowego uruchomienia zadania. Tak

    Przykład:

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

  • Punkt zapisywania listy: interfejs API REST umożliwiający wyświetlenie listy wszystkich punktów zapisywania z katalogu savepoint.

    Opcja Wartość
    Method POST
    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łaściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania, która jest używana do uruchamiania zadania Tak
    action Powinna to być wartość "LIST_SAVEPOINT" Tak

    Przykład:

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

  • Anuluj: interfejs API REST, aby anulować zadanie.

    Opcja Wartość
    Method POST
    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 właściwości treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinien to być FlinkJob Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinna to być wartość 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ść
    Method POST
    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 treści JSON:

    Właściwości Description Wartość domyślna Obowiązkowy
    jobType Typ zadania. Powinno to być "FlinkJob" Tak
    Jobname Nazwa zadania używana do uruchamiania zadania. Tak
    action Powinna to być wartość DELETE. Tak

    Przykład:

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

  • Zadania listy: interfejs API REST umożliwiający wyświetlenie listy wszystkich zadań i stanu bieżącej akcji.

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

    Wyjście:

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

Uwaga

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".

Odwołanie