Compartir vía


Administración de trabajos de Apache Flink® en HDInsight en clústeres de AKS

Importante

Azure HDInsight en AKS se retiró el 31 de enero de 2025. Conozca más con este anuncio.

Debe migrar las cargas de trabajo a microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo.

Importante

Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en versión beta, en versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte información sobre la versión preliminar de Azure HDInsight en AKS. Para preguntas o sugerencias de características, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.

HDInsight en AKS proporciona una característica para administrar y enviar trabajos de Apache Flink® directamente a través de Azure Portal (interfaz fácil de usar) y las API rest de ARM.

Esta característica permite a los usuarios controlar y supervisar eficazmente sus trabajos de Apache Flink sin necesidad de conocimientos profundos de nivel de clúster.

Beneficios

  • administración simplificada de trabajos: con la integración nativa de Apache Flink en Azure Portal, los usuarios ya no necesitan un amplio conocimiento de los clústeres de Flink para enviar, administrar y supervisar trabajos.

  • User-Friendly API REST: HDInsight en AKS presenta API REST de ARM fáciles de usar para enviar y administrar trabajos de Flink. Los usuarios pueden enviar trabajos de Flink desde cualquier servicio de Azure utilizando estas REST APIs.

  • Actualizaciones de trabajos sin esfuerzo y administración de estado: La integración nativa del portal de Azure proporciona una experiencia sin complicaciones para actualizar trabajos y restaurarlos a su último estado guardado (savepoint). Esta funcionalidad garantiza la continuidad y la integridad de los datos a lo largo del ciclo de vida del trabajo.

  • Automatización de tareas de Flink mediante Azure Pipeline: Con HDInsight en AKS, los usuarios de Flink tienen acceso a la API REST de ARM, fácil de usar, y pueden integrar sin problemas las operaciones de tareas de Flink en Azure Pipeline. Tanto si va a iniciar nuevos trabajos, actualizar trabajos en ejecución o realizar varias operaciones de trabajo, este enfoque simplificado elimina los pasos manuales. Le permite administrar el clúster de Flink de forma eficaz.

Prerrequisitos

Para enviar y administrar trabajos desde el portal web o las API REST, se deben cumplir algunos requisitos previos.

  • Cree un directorio en la cuenta de almacenamiento principal del clúster para cargar el archivo jar del trabajo.

  • Si el usuario quiere tomar puntos de guardado, cree un directorio en la cuenta de almacenamiento para los puntos de guardado del trabajo.

    Captura de pantalla que muestra la estructura del directorio.

Características y operaciones clave

  • Nueva presentación de trabajo: Los usuarios pueden enviar sin esfuerzo un nuevo Flink, eliminando la necesidad de configuraciones complejas o herramientas externas.

  • Detener e iniciar trabajos con puntos de guardado: Los usuarios pueden detener e iniciar sus trabajos de Flink de forma fluida desde su estado anterior (punto de guardado). Los puntos de guardado garantizan que se conserve el progreso del trabajo, lo que permite reanudaciones sin problemas.

  • Actualizaciones de trabajos: El usuario puede actualizar el trabajo en ejecución después de actualizar el archivo jar en la cuenta de almacenamiento. Esta actualización toma automáticamente el punto de guardado e inicia el trabajo con un nuevo archivo jar.

  • actualizaciones sin estado: realizar un reinicio nuevo para un trabajo se simplifica a través de actualizaciones sin estado. Esta característica permite a los usuarios iniciar un reinicio limpio mediante el archivo jar de trabajo actualizado.

  • Administración de puntos de guardado: En cualquier momento, los usuarios pueden crear puntos de guardado para sus trabajos en ejecución. Estos puntos de guardado se pueden enumerar y usar para reiniciar el trabajo desde un punto de control específico según sea necesario.

  • Cancelar: esto cancela el trabajo de forma permanente.

  • Eliminar: Eliminar registro del historial laboral.

Opciones para administrar trabajos en HDInsight en AKS

HDInsight en AKS proporciona maneras de administrar trabajos de Flink.

Administración de trabajos desde el portal de Azure

Para ejecutar el trabajo de Flink desde el portal, vaya a:

Portal:> HDInsight en el grupo de clústeres de AKS (> clúster de Flink)> configuración-> trabajos de Flink

Captura de pantalla que muestra cómo ejecutar el trabajo

  • Nuevo trabajo: Para enviar un nuevo trabajo, cargue los archivos JAR del trabajo en la cuenta de almacenamiento y cree un directorio savepoint. Complete la plantilla con las configuraciones necesarias y envíe el trabajo.

    Captura de pantalla que muestra cómo crear un nuevo trabajo.

    Detalles de la propiedad:

    Propiedad Descripción Valor predeterminado Obligatorio
    Nombre del trabajo Un nombre único para la tarea. Esto se muestra en el portal. El nombre del trabajo debe estar en minúsculas.
    Ruta de acceso JAR Ruta de acceso de almacenamiento para el archivo jar del trabajo. Los usuarios deben crear un directorio en el almacenamiento del clúster y cargar el archivo jar del trabajo.
    Clase de entrada Clase de entrada para el trabajo desde donde se inicia la ejecución del trabajo.
    Argumentos Argumento para el programa principal de trabajo. Separe todos los argumentos con espacios. No
    paralelismo Paralelismo Flink del trabajo. 2
    savepoint.directory Directorio savepoint para el trabajo. Se recomienda que los usuarios creen un nuevo directorio para el punto de guardado del trabajo en la cuenta de almacenamiento. abfs://<container>@<account>/<deployment-ID>/savepoints No

    Una vez lanzado el trabajo, el estado del trabajo en el portal es EN EJECUCIÓN.

  • Detener: Detener el trabajo no requiere ningún parámetro, el usuario puede detener el trabajo seleccionando la acción.

    Captura de pantalla que muestra cómo el usuario puede detener el trabajo.

    Una vez que el trabajo se detiene, el estado del trabajo en el portal es DETENIDO.

  • Inicio: Esta acción inicia el trabajo desde el punto de guardado. Para iniciar el trabajo, seleccione el trabajo detenido e inícielo.

    Captura de pantalla que muestra cómo iniciar el trabajo del usuario.

    Rellene la plantilla de flujo con las opciones necesarias e iníciela. Los usuarios deben seleccionar el punto de guardado desde el que el usuario quiere iniciar el trabajo. De forma predeterminada, toma el último punto de guardado exitoso.

    Captura de pantalla que muestra cómo la plantilla de flujo de relleno.

    Detalles de la propiedad:

    Propiedad Descripción Valor predeterminado Obligatorio
    Argumentos Argumento para el programa de trabajo principal. Todos los argumentos deben estar separados por espacio. No
    Último punto de guardado Último punto de guardado exitoso antes de detener el trabajo. Se usará de forma predeterminada si no se selecciona el punto de guardado. No es editable
    Nombre del punto de guardado Los usuarios pueden enumerar los puntos de guardado disponibles para el trabajo y seleccionar uno para iniciar el trabajo. No

    Una vez iniciado el trabajo, el estado del trabajo en el portal será EJECUTÁNDOSE.

  • Update: Update ayuda a reiniciar trabajos con código de trabajo actualizado. Los usuarios deben actualizar el archivo JAR del trabajo más reciente en la ubicación de almacenamiento y actualizar el trabajo mediante el portal. Esta actualización detiene el trabajo con savepoint e inicia de nuevo con el archivo jar más reciente.

    Captura de pantalla que muestra cómo reiniciar trabajos con código de trabajo actualizado.

    Plantilla para actualizar el trabajo.

    Captura de pantalla que muestra la plantilla para actualizar el trabajo.

    Una vez actualizado el trabajo, el estado del trabajo en el portal es "EN EJECUCIÓN".

  • actualización sin estado: Este trabajo es como una actualización, pero implica un reinicio nuevo del trabajo con el código más reciente.

    Captura de pantalla que muestra el reinicio nuevo del trabajo con el código más reciente.

    Plantilla para actualizar el trabajo.

    Captura de pantalla que muestra la plantilla para actualizar el trabajo sin estado.

    Detalles de la propiedad:

    Propiedad Descripción Valor predeterminado Obligatorio
    Argumentos Argumento para el programa principal de trabajo. Separe todos los argumentos con espacio. No

    Una vez actualizado el trabajo, el estado del trabajo en el portal es RUNNING.

  • Punto de guardado: Tome el punto de guardado para la tarea de Flink.

    Captura de pantalla que muestra el punto de guardado para el trabajo de Flink.

    El savepoint es un proceso que consume tiempo y requiere un período para completarse. Puede ver el estado de la tarea como en curso.

    Captura de pantalla que muestra el estado de la tarea.

  • Cancelar: Esta tarea ayuda al usuario a cancelar la tarea.

    Captura de pantalla que muestra cómo el usuario puede finalizar el trabajo.

  • Eliminar: Eliminar datos de trabajo del portal.

    Captura de pantalla que muestra cómo el usuario puede eliminar datos de trabajo desde el portal.

  • Ver detalles del trabajo: Para ver los detalles del trabajo, el usuario puede hacer clic en el nombre del trabajo, proporciona los detalles sobre el trabajo y el último resultado de la acción.

    Captura de pantalla que muestra cómo ver los detalles del trabajo.

    Para cualquier acción con error, este código json de trabajo proporciona excepciones detalladas y motivos de error.

Administración de trabajos mediante la API REST

HDInsight en AKS admite API REST de ARM fáciles de usar para enviar y administrar trabajos. Con esta API REST de Flink, puede integrar sin problemas las operaciones de trabajo de Flink en Azure Pipeline. Tanto si va a iniciar nuevos trabajos, actualizar trabajos en ejecución o realizar varias operaciones de trabajo, este enfoque simplificado elimina los pasos manuales y le permite administrar el clúster de Flink de forma eficaz.

Formato de URL base para la API REST

Consulte la siguiente URL para la API REST, los usuarios deben reemplazar la suscripción, el grupo de recursos, el grupo de clústeres, el nombre del clúster y HDInsight en la versión de la API de AKS antes de utilizarla. 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}}

Con esta API REST, los usuarios pueden iniciar nuevos trabajos, detener trabajos, iniciar trabajos, crear puntos de guardado, cancelar trabajos y eliminar trabajos. El API_VERSION actual es 2023-06-01-preview.

Autenticación de API REST

Para autenticar a los usuarios de la API REST de ARM de Flink, debe obtener el token de portador o el token de acceso para el recurso de ARM. Para autenticar la API REST de Azure ARM (Azure Resource Manager) mediante una entidad de servicio, usted puede seguir estos pasos generales:

  • Cree un principal de servicio.

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

  • Conceda permiso de propietario a SP para flink clúster.

  • Inicie sesión con el principal de servicio.

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

  • Obtener el token de acceso.

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

    $tok = $token.accesstoken

    Los usuarios pueden usar el token en la dirección URL que se muestra.

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

autenticación mediante identidad administrada: los usuarios pueden usar recursos que admiten identidad administrada para realizar llamadas a la API REST de trabajo. Para obtener más información, consulte la documentación de Identidad Administrada.

LISTA de API y parámetros

  • Nuevo Trabajo: API REST para enviar un nuevo trabajo a Flink.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud de :

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

    Detalles de la propiedad para el contenido JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipoDeTrabajo Tipo de trabajo. Debe ser "FlinkJob"
    nombreTrabajo Nombre único para el trabajo. Esto se muestra en el portal. El nombre del trabajo debe estar en minúsculas.
    acción Indica el tipo de operación en el trabajo. Debe ser "NUEVO" siempre para el nuevo inicio del trabajo.
    jobJarDirectory Ruta de acceso de almacenamiento para el directorio jar del trabajo. Los usuarios deben crear un directorio en el almacenamiento del clúster y cargar el archivo jar del trabajo.
    jarName Nombre del archivo jar del trabajo.
    entryClass Clase de entrada para el trabajo desde el que se inicia la ejecución del trabajo.
    args Argumento para el programa principal de trabajo. Separe los argumentos con espacio. No
    paralelismo Paralelismo de tareas de Flink. 2
    savepoint.directory Directorio savepoint para el trabajo. Se recomienda que los usuarios creen un nuevo directorio para el punto de guardado del trabajo en la cuenta de almacenamiento. abfs://<container>@<account>/<deployment-ID>/savepoints No

    Ejemplo:

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

  • Detener tarea: API Rest para detener la tarea en ejecución actual.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad para el cuerpo JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipo de trabajo Tipo de trabajo. Debe ser "FlinkJob"
    nombreDelTrabajo Nombre del trabajo, que se usa para iniciar el trabajo
    acción Debe decir "STOP".

    Ejemplo:

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

  • Iniciar trabajo: REST API para iniciar el trabajo detenido.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad para el contenido JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipoDeTrabajo Tipo de trabajo. Debe ser "FlinkJob"
    nombreDelTrabajo Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser «START»
    savePointName Guarde el nombre del punto para iniciar el trabajo. Es una propiedad opcional, de forma predeterminada, la operación de inicio toma el último punto de guardado exitoso. No

    Ejemplo de :

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

  • Trabajo de actualización: API REST para actualizar el trabajo en ejecución actual.

    Opción Valor
    Método MENSAJE
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad para el cuerpo de JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipoDeTrabajo Tipo de trabajo. Debe ser "FlinkJob"
    jobName Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser "UPDATE" siempre para el lanzamiento de un nuevo trabajo.
    args Argumentos de JVM de trabajo No
    nombrePuntoGuardado Guarde el nombre del punto para iniciar el trabajo. Es una propiedad opcional; por defecto, la operación de inicio utilizará el último punto de guardado exitoso. No

    Ejemplo:

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

  • trabajo de actualización sin estado: API REST para la actualización sin estado.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Autorización = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad para el cuerpo JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipo de trabajo Tipo de trabajo. Debe ser "FlinkJob"
    jobName Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser "STATELESS_UPDATE" siempre para el nuevo inicio del trabajo.
    args Argumentos de JVM de trabajo No

    Ejemplo de :

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

  • Savepoint: API REST para desencadenar un punto de guardado de trabajo.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad del cuerpo JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipoDeTrabajo Tipo de trabajo. Debe ser "FlinkJob"
    jobName Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser "SAVEPOINT" siempre cuando se inicie un nuevo trabajo.

    Ejemplo de :

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

  • List savepoint: REST API para enumerar todos los puntos de guardado del directorio savepoint.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad para el cuerpo de JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipo de trabajo Tipo de trabajo. Debe ser "FlinkJob"
    nombreDelTrabajo Nombre del trabajo que se utiliza para ejecutar la tarea
    acción Debe ser "LIST_SAVEPOINT"

    Ejemplo de :

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

  • Cancelar: API REST para cancelar la tarea.

    Opción Valor
    Método PUBLICAR
    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}}
    Encabezado Authorization = "Bearer $token"

    cuerpo de la solicitud

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

    Detalles de la propiedad del cuerpo JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipoDeTrabajo Tipo de trabajo. Debe ser FlinkJob
    nombreTrabajo Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser CANCELAR.

    Ejemplo de :

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

  • Eliminar: API REST para eliminar la tarea.

    Opción Valor
    Método PUBLICACIÓN
    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}}
    Encabezado Authorization = "Bearer $token"

    Cuerpo de la solicitud

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

    Detalles de la propiedad para el cuerpo del JSON:

    Propiedad Descripción Valor predeterminado Obligatorio
    tipo de trabajo Tipo de trabajo. Debe ser "FlinkJob"
    nombreTrabajo Nombre del trabajo que se usa para iniciar el trabajo.
    acción Debe ser DELETE.

    Ejemplo de :

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

  • Enumerar trabajos: REST API para listar todos los trabajos y el estatus de la acción actual.

    Opción Valor
    Método OBTÉN
    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}}
    Encabezado Authorization = "Bearer $token"

    Salida:

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

Nota

Cuando haya alguna acción en curso, actionResult lo indicará con el valor "IN_PROGRESS" Al finalizar correctamente, mostrará "SUCCESS" y, en caso de error, será "FAILED".

Referencia