Compartir a través de


Configuración de un flujo de trabajo de notificación después de registrar una API en el centro de API de Azure

En este artículo se muestra cómo configurar un flujo de trabajo de notificación automatizado para actualizar el estado de una API después de registrarse en el centro de API de su organización. Adapte este ejemplo para automatizar flujos de trabajo para otros tipos de eventos en su centro de API.

La configuración de un flujo de trabajo de notificación puede ser útil por varias razones:

  • Actualizaciones en tiempo real: reciba alertas inmediatamente cuando se produzcan determinados eventos, como el registro de API o las actualizaciones de definiciones de API. Solucione rápidamente los problemas o realice más acciones en función de estos eventos.
  • Automatización: ahorre tiempo y reduzca la supervisión manual. Por ejemplo, configure alertas para cuando se registre una nueva API, cambie una definición de API o se generen informes de análisis de API.
  • Experiencia de usuario mejorada: mediante la integración de notificaciones, mantenga a los usuarios informados sobre el estado de sus solicitudes o acciones. Esto puede incluir procesos de aprobación para las API, cambiando los metadatos personalizados en función de los criterios.
  • Colaboración: envíe notificaciones a diferentes miembros del equipo en función de sus roles (por ejemplo, administrador de API, desarrollador de API), garantizando que las personas adecuadas estén informadas y puedan tomar las medidas oportunas.

En este ejemplo simplificado:

  • El registro de una API en el centro de API desencadena un evento que ejecuta un flujo de trabajo de Azure Logic Apps.
  • El flujo de trabajo envía una notificación en Microsoft Teams a una persona designada.
  • La persona decide el estado del registro de API directamente desde la notificación en Microsoft Teams.
  • El flujo de trabajo actualiza los metadatos de estado de la API en el registro de API en función de la decisión de la persona. El estado de la API es una propiedad de metadatos personalizada que configura en el centro de API.

Puede adaptar este ejemplo para cumplir los requisitos de gobernanza y notificación de su organización para el centro de API. También puede desencadenar un flujo de trabajo de nube automatizado similar en Power Automate.

Requisitos previos

Paso 1. Adición de una propiedad de metadatos personalizada en el centro de API

El flujo de trabajo de ejemplo de este artículo establece el valor de una propiedad de metadatos personalizada de ejemplo en el centro de API para el estado de un registro de API.

Para crear una propiedad api-status personalizada en el centro de API:

  1. En Azure Portal vaya al centro de API.
  2. En el menú de la izquierda, en Recursos, seleccioneMetadatos>+ Nuevos metadatos.
  3. En la pestaña Detalles, escriba los siguientes detalles:
    1. En Título, escriba api-status.
    2. En Tipo, seleccione Opciones predefinidas.
    3. Agregue las siguientes opciones predefinidas: nueva, pendiente, aprobada. Seleccione Siguiente.
  4. En la pestaña Asignaciones, junto a API, seleccione Opcional.
  5. Opcionalmente, realice asignaciones a Implementaciones y Entornos. Seleccione Siguiente.
  6. Revise la configuración y seleccione Crear.

Paso 2. Habilitación de una identidad administrada en la aplicación lógica

En este escenario, la aplicación lógica usa una identidad administrada para acceder al centro de API de Azure. En función de sus necesidades, habilite una identidad administrada asignada por el sistema o asignada por el usuario. Para conocer los pasos de configuración, consulte Autenticación del acceso y las conexiones a recursos de Azure con identidades administradas en Azure Logic Apps.

Recorte de pantalla de la configuración de la identidad administrada en el portal.

Paso 3. Asignar permisos a la identidad administrada

Asigne a la identidad administrada de la aplicación lógica los permisos necesarios para acceder al centro de API. En este escenario, asigne el rol Colaborador a la identidad administrada.

  1. En Azure Portal, vaya al centro de API y seleccione Control de acceso (IAM).
  2. Seleccione + Agregar > Agregar asignación de roles.
  3. Seleccione Roles de administrador con privilegios y, a continuación, seleccione Colaborador. Seleccione Siguiente.
  4. En la página Miembros, en Asignar acceso a, seleccione Identidad administrada > + Seleccionar miembros.
  5. En la página Seleccionar identidades administradas, busque y seleccione la identidad administrada de la aplicación lógica. Haga clic en Seleccionar y, a continuación, en Siguiente.
  6. Revise la asignación de roles y seleccione Revisar y asignar.

Paso 4. Configuración del flujo de trabajo de la aplicación lógica

En esta sección se proporcionan los pasos manuales para configurar una suscripción a eventos que desencadene un flujo de trabajo de aplicación lógica cuando se registre una API en su centro de API.

Paso 4.1. Cuando se produce un evento de recursos

Configure un paso de flujo de trabajo para activar el flujo de trabajo de la aplicación lógica cuando se produzca un evento en el centro de API.

  1. En el portal, vaya a la aplicación lógica.

  2. En el menú izquierdo, en Herramientas de desarrollo, seleccione Diseñador de aplicaciones lógicas.

  3. Seleccione Agregar un desencadenador.

  4. Busque Azure Event Grid y seleccione el desencadenador Cuando se produce un evento de recursos.

  5. En el panel Cuando se produce un evento de recursos:

    1. En Tipo de recurso, seleccione Microsoft.ApiCenter.Services.
    2. En Suscripción, seleccione su suscripción.
    3. En Nombre de recurso, escriba el nombre completo del recurso del centro de API, en el siguiente formato: /subscriptions/<subscription ID>/resourceGroups/<resource group nam>/providers/Microsoft.ApiCenter/services/<API Center name>.
    4. En Elemento de tipo de evento: 1, escriba o seleccione Microsoft.ApiCenter.ApiAdded.

Recorte de pantalla de la acción Cuando se produce un evento de recursos en el portal.

Paso 4.2. Inicializar variable: subjectvar

Agregue un paso de flujo de trabajo para inicializar una variable que almacene el identificador de la API registrada.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba Variables.
  3. En Variables, seleccione Inicializar variable.
  4. En el panel Inicializar variable:
    1. En Nombre, escriba subjectvar.
    2. En Tipo, seleccione Cadena.
    3. En Valor, escriba / y seleccione Insertar contenido dinámico.
    4. En Cuando se produce un evento de recursos, seleccione Asunto.

Recorte de pantalla de la inicialización de la variable subjectvar en el portal.

Paso 4.3. Inicializar variable: versionvar

Agregue un paso de flujo de trabajo para inicializar una variable para almacenar la versión de la API de administración del centro de API. Esta versión es necesaria para las solicitudes HTTP en el flujo de trabajo.

Sugerencia

La inicialización de una variable para la versión facilita el cambio del valor más adelante, a medida que se actualiza la API de administración.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba Variables.
  3. En Variables, seleccione Inicializar variable.
  4. En el panel Inicializar variable:
    1. En Nombre, escriba versionvar.
    2. En Tipo, seleccione Cadena.
    3. En Valor, introduzca ?api-version=2024-03-01.

Recorte de pantalla de la inicialización de la variable versionvar en el portal.

Paso 4.4. Acción HTTP para obtener los detalles de la API

Agregue un paso de flujo de trabajo para realizar una solicitud HTTP GET para obtener los detalles de la API desde el centro de API.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba HTTP.
  3. En HTTP, seleccione HTTP.
  4. En el panel HTTP:
    1. En URI, escriba https://management.azure.com/ (incluida la barra diagonal final). Después de la barra diagonal, escriba /, seleccione Insertar contenido dinámico y, a continuación, seleccione las variables subjectvar y versionvar, en ese orden.
    2. En Método, seleccione GET.
    3. En Parámetros avanzados, seleccione Autenticación.
      1. En Tipo de autenticación, seleccione Identidad administrada.
      2. En Identidad administrada, seleccione Identidad administrada asignada por el sistema.
      3. En Audiencia, escriba https://management.azure.com/.

Recorte de pantalla de la acción de solicitud HTTP GET en el portal.

Paso 4.5. Acción Análisis del archivo JSON

Agregue un paso de flujo de trabajo para analizar la salida JSON de la solicitud HTTP anterior.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba Analizar JSON.
  3. En Operaciones de datos, seleccione Analizar JSON.
  4. En el panel Analizar JSON:
    1. En Contenido, escriba / y seleccione Insertar contenido dinámico.
    2. En HTTP, seleccione Cuerpo.
    3. En Esquema, escriba lo siguiente:
      {
          "type": "object",
          "properties": {
              "type": {
                  "type": "string"
              },
              "properties": {
                  "type": "object",
                  "properties": {
                      "title": {
                          "type": "string"
                      },
                      "kind": {
                          "type": "string"
                      },
                      "description": {
                          "type": "string"
                      },
                      "lifecycleStage": {
                          "type": "string"
                      },
                      "externalDocumentation": {
                          "type": "array"
                      },
                      "contacts": {
                          "type": "array"
                      },
                      "customProperties": {
                          "type": "object",
                          "properties": {}
                      }
                  }
              },
              "id": {
                  "type": "string"
              },
              "name": {
                  "type": "string"
              },
              "systemData": {
                  "type": "object",
                  "properties": {
                      "createdAt": {
                          "type": "string"
                      },
                      "lastModifiedAt": {
                          "type": "string"
                      }
                  }
              }
          }
      }
      

Recorte de pantalla de la acción Analizar JSON en el portal.

Paso 4.6. Publicación de una tarjeta adaptable en Teams

Agregue un paso de flujo de trabajo para publicar la notificación como una tarjeta adaptable en Microsoft Teams.

  1. Seleccione Agregar una acción.

  2. En el cuadro de búsqueda, escriba Teams.

  3. En Microsoft Teams, seleccione Publicar una tarjeta adaptable y esperar una respuesta. Si se le solicita, inicie sesión en su cuenta de Microsoft Teams.

  4. En el panel Publicar una tarjeta adaptable y esperar una respuesta:

    1. En Publicar como, seleccione Bot de Flow.
    2. En Publicar en, seleccione una opción adecuada para la configuración de Teams. Para realizar pruebas, puede seleccionar Chatear con el bot de Flow.
    3. En Mensaje, escriba el siguiente texto para una tarjeta adaptable. Modifique el texto según sea necesario.
      {
          "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
          "type": "AdaptiveCard",
          "version": "1.4",
          "body": [
              {
                  "type": "TextBlock",
                  "text": "Hi API Admin,",
                  "weight": "Bolder",
                  "size": "Medium"
              },
              {
                  "type": "TextBlock",
                  "text": "A new API has been registered.",
                  "wrap": true
              },
              {
                  "type": "TextBlock",
                  "text": "API Title: **{{apiTitle}}**",
                  "wrap": true
              },
              {
                  "type": "TextBlock",
                  "text": "Please provide the status for this API:",
                  "wrap": true
              },
              {
                  "type": "Input.ChoiceSet",
                  "id": "apiStatus",
                  "style": "expanded",
                  "choices": [
                      {
                          "title": "New",
                          "value": "new"
                      },
                      {
                          "title": "Pending",
                          "value": "pending"
                      },
                      {
                          "title": "Approved",
                          "value": "approved"
                      }
                  ],
                  "isRequired": true,
                  "errorMessage": "Please select a status."
              }
          ],
          "actions": [
              {
                  "type": "Action.Submit",
                  "title": "Submit"
              }
          ]
      }
      
      
  5. Seleccione el texto {{apiTitle}} en el mensaje y elimínelo. Escriba / y seleccione Insertar contenido dinámico. En Analizar JSON, seleccione Título del cuerpo para reemplazar el texto seleccionado por el contenido dinámico.

  6. En Destinatario, escriba la dirección de correo electrónico de la persona que recibe las notificaciones.

Recorte de pantalla de la acción Publicar una tarjeta adaptable en Teams en el portal.

Paso 4.7. Inicializar variable: statusvar

Agregue un paso de flujo de trabajo para inicializar el valor de una variable que almacena el valor de estado de la API devuelto desde la tarjeta adaptable de Teams.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba Variables.
  3. En Variables, seleccione Inicializar variable.
  4. En el panel Inicializar variable:
    1. En Nombre, escriba statusvar.
    2. En Tipo, seleccione Cadena.
    3. En Valor, introduzca @body('Post_adaptive_card_and_wait_for_a_response')?['data']?['apiStatus'].

Recorte de pantalla de la inicialización de la variable statusvar en el portal.

Paso 4.8. Acción HTTP: actualización de las propiedades de la API en el centro de API de Azure

Agregue un paso de flujo de trabajo para realizar una solicitud HTTP PUT para actualizar las propiedades de la API en el centro de API.

  1. Seleccione Agregar una acción.
  2. En el cuadro de búsqueda, escriba HTTP.
  3. En HTTP, seleccione HTTP.
  4. En el panel HTTP:
    1. En URI, escriba https://management.azure.com/ (incluida la barra diagonal final). Después de la barra diagonal, escriba /, seleccione Insertar contenido dinámico y, a continuación, seleccione las variables subjectvar y versionvar, en ese orden.
    2. En Método, seleccione PUT.
    3. En Cuerpo, escriba lo siguiente:
      {
          "properties": {
          "customProperties": {
              "api-status": "@variables('statusvar')"
          },
          "title": "@body('Parse_JSON')?['properties']?['title']",
          "description": "@body('Parse_JSON')?['properties']?['description']",
          "lifecycleStage": "@body('Parse_JSON')?['properties']?['lifecycleStage']",
          "kind": "@body('Parse_JSON')?['properties']?['kind']"
          }
      }
      
    4. En Parámetros avanzados, seleccione Autenticación.
      1. En Tipo de autenticación, seleccione Identidad administrada.
      2. En Identidad administrada, seleccione Identidad administrada asignada por el sistema.
      3. En Audiencia, escriba https://management.azure.com/.

Recorte de pantalla de la acción de solicitud HTTP PUT en el portal.

Paso 4.9. Guardar el flujo de trabajo

Guarde el flujo de trabajo en el Diseñador de aplicaciones lógicas. Una vez completado el flujo de trabajo, debería ser similar a la siguiente imagen:

Recorte de pantalla del flujo de trabajo completo en el diseñador de aplicaciones lógicas en el portal.

Confirme que la suscripción de eventos se ha aprovisionado correctamente en el centro de API. La suscripción de eventos puede tardar unos minutos en aprovisionarse.

  1. En Azure Portal vaya al centro de API.
  2. En el menú de la izquierda, seleccione Eventos>Suscripciones de eventos.
  3. Compruebe que la aplicación lógica aparece en Nombre y que el Punto de conexión es Webhook.

Recorte de pantalla de una suscripción de eventos de aplicación lógica en el portal.

Paso 5. Prueba de la suscripción de eventos

Pruebe la suscripción de eventos mediante el registro de una API en el centro de API:

  1. En Azure Portal vaya al centro de API.

  2. Registre una API en el centro de API. Una vez registrada la API:

    • La suscripción de eventos desencadena el flujo de trabajo de la aplicación lógica.
    • El flujo de trabajo de la aplicación lógica se ejecuta y envía una notificación a la persona en Microsoft Teams.
  3. En Microsoft Teams, vea la tarjeta adaptable, realice una selección de estado de API y seleccione Enviar. Recorte de pantalla de la tarjeta adaptable en Microsoft Teams.

    El flujo de trabajo de la aplicación lógica actualiza la propiedad api-status en el registro de API en el centro de API.

  4. En el centro de API, vea los detalles de la API para ver el valor actualizado de la propiedad personalizada api-status.

    Recorte de pantalla del registro de API actualizado en el portal.

Visualización del historial de ejecución de la aplicación lógica

Para obtener detalles sobre la ejecución de la aplicación lógica y solucionar los problemas:

  1. En Azure Portal, vaya a la aplicación lógica.
  2. En el menú de la izquierda, en Herramientas de desarrollo, seleccione Historial de ejecución.
  3. Seleccione la ejecución para ver los detalles de cada paso.