Compartir vía


Azure API Management como origen de Event Grid

En este artículo se proporcionan las propiedades y el esquema de los eventos de Azure API Management . Para una introducción a los esquemas de eventos, consulte Esquema de eventos de Azure Event Grid. También proporciona vínculos a artículos para usar API Management como origen de eventos.

Tipos de eventos disponibles

API Management emite los siguientes tipos de eventos:

Tipo de evento Descripción
Microsoft.ApiManagement.UserCreated Se genera cuando se crea un usuario.
Microsoft.ApiManagement.UserUpdated Se activa cuando se actualiza un usuario.
Microsoft.ApiManagement.UserDeleted Se genera cuando se elimina un usuario.
Microsoft.ApiManagement.APICreated Se genera cuando se crea una API.
Microsoft.ApiManagement.APIUpdated Se activa cuando se actualiza una API.
Microsoft.ApiManagement.APIDeleted Se genera cuando se elimina una API.
Microsoft.ApiManagement.ProductCreated Se genera cuando se crea un producto.
Microsoft.ApiManagement.ProductUpdated Se genera cuando se actualiza un producto.
Microsoft.ApiManagement.ProductDeleted Se genera cuando se elimina un producto.
Microsoft.ApiManagement.APIReleaseCreated Se genera cuando se crea una versión de API.
Microsoft.ApiManagement.APIReleaseUpdated Se genera cuando se actualiza una versión de API.
Microsoft.ApiManagement.APIReleaseDeleted Se genera cuando se elimina una versión de API.
Microsoft.ApiManagement.SubscriptionCreated Se genera cuando se crea una suscripción.
Microsoft.ApiManagement.SubscriptionUpdated Se genera cuando se actualiza una suscripción.
Microsoft.ApiManagement.SubscriptionDeleted Se genera cuando se elimina una suscripción.
Microsoft.ApiManagement.GatewayCreated Se genera cuando se crea una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayEliminado Se genera cuando se actualiza una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayUpdated Se genera cuando se elimina una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayAPIAdded Se genera cuando se agrega una API a una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayAPIRemoved Se genera cuando se quita una API de una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayCertificateAuthorityCreated Se genera cuando se actualiza una entidad de certificación para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayCertificateAuthorityDeleted Se genera cuando se elimina una entidad de certificación para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayCertificateAuthorityUpdated Se genera cuando se actualiza una entidad de certificación para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayHostnameConfigurationCreated Se genera cuando se crea una configuración de nombre de host para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted Se genera cuando se elimina una configuración de nombre de host para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated Se genera cuando se actualiza una configuración de nombre de host para una puerta de enlace autohospedada.
Microsoft.ApiManagement.GatewayTokenNearExpiry (versión preliminar) Se genera cuando un token de acceso de puerta de enlace autohospedado está a punto de expirar.
Microsoft.ApiManagement.GatewayTokenExpired (versión preliminar) Se genera cuando ha expirado un token de acceso de puerta de enlace autohospedado.
Microsoft.ApiManagement.CircuitBreaker.Opened (versión preliminar) Se genera cuando se abre un disyuntor back-end.
Microsoft.ApiManagement.CircuitBreaker.Closed (versión preliminar) Se genera cuando se cierra un disyuntor back-end.

Evento de ejemplo

En el ejemplo siguiente se muestra el esquema de un evento creado por el producto. El esquema de otros eventos de recurso creado de API Management es similar.

[{
  "id": "81dac958-49cf-487e-8805-d0baf0ee485a",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
  "subject": "/products/myproduct",
  "data": {
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/products/myproduct"
  },
  "Type": "Microsoft.ApiManagement.ProductCreated",
  "Time": "2021-07-02T00:38:44.3978295Z",
  "specversion":"1.0"
}]

En el ejemplo siguiente se muestra el esquema de un evento eliminado por el usuario. El esquema de otros eventos eliminados de recursos de API Management es similar.

[{
  "id": "81dac958-49cf-487e-8805-d0baf0ee485a",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
  "subject": "/users/apimuser-contoso-com",
  "data": {
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/users/apimuser-contoso-com"
  },
  "Type": "Microsoft.ApiManagement.UserDeleted",
  "Time": "2021-07-02T00:38:44.3978295Z",
  "specversion":"1.0"
}]

En el ejemplo siguiente se muestra el esquema de un evento actualizado de API. El esquema de otros eventos actualizados de recursos de API Management es similar.

[{
  "id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
  "subject": "/apis/myapi;Rev=1",
  "data": {
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/myapi;Rev=1"
  },
  "Type": "Microsoft.ApiManagement.APIUpdated",
  "Time": "2021-07-12T23:13:44.9048323Z",
  "specversion":1.0
}]

En el ejemplo siguiente se muestra el esquema de un evento de apertura del disyuntor.

{
  "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
  "subject": "/backends/{backend-name}/circuit-breaker/rules/{rule-name}",
  "type": "Microsoft.ApiManagement.CircuitBreaker.Opened",
  "time": "2025-04-02T00:47:47.8536532Z",
  "id": "92c502f2-a966-42a7-a428-d3b319844544",
  "data": {
    "backendName": "{backend-name}",
    "circuitBreaker": {
      "rules": {
        "{rule-name}": {
          "tripDuration": "00:00:01"
        }
      }
    }
  },
  "specVersion": "1.0"
}

En el ejemplo siguiente se muestra el esquema de un evento de expiración de token de gateway. El esquema de un token de puerta de enlace casi expirado es similar, pero sustituye una expiresAtUtc propiedad por la expiredAtUtc propiedad.

{
  "source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
  "subject": "/gateways/{gateway-name}/{instance-name}",
  "type": "Microsoft.ApiManagement.GatewayTokenExpired",
  "time": "2025-04-02T00:47:47.8536532Z",
  "id": "92c502f2-a966-42a7-a428-d3b319844544",
  "data": {
    "gatewayInfo": {
      "gatewayId": "{gateway-name}",
      "instanceId": "{instance-name}"
    },
    "tokenInfo": {
      "expiredAtUtc": "2025-02-25T08:56:00.0000000Z"
    }
  },
  "specVersion": "1.0"
}

Propiedades de evento

Un evento tiene los siguientes datos de nivel superior:

Propiedad Tipo Descripción
source cuerda / cadena Ruta de acceso completa a los recursos del origen del evento. En este campo no se puede escribir. Event Grid proporciona este valor.
subject cuerda / cadena Ruta al asunto del evento definida por el anunciante.
type cuerda / cadena Uno de los tipos de eventos registrados para este origen de eventos.
time cuerda / cadena Hora en que se genera el evento en función de la hora UTC del proveedor.
id cuerda / cadena Identificador único para el evento.
data objeto Datos de eventos de API Management.
specversion cuerda / cadena Versión de especificación del esquema CloudEvents.

Propiedades del objeto de datos

Eventos del plano de control

El data objeto tiene las siguientes propiedades para eventos del plano de control, como crear, actualizar y eliminar recursos de API Management.

Propiedad Tipo Descripción
resourceUri cuerda / cadena El identificador completo del recurso para el que cambia el estado de cumplimiento, incluido el nombre del recurso y el tipo de recurso. Usa el formato, /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>

Eventos del disyuntor

El data objeto tiene las siguientes propiedades para los eventos de disyuntor.

Propiedad Tipo Descripción
backendNme cuerda / cadena Nombre (ID) de la entidad de back-end en la que está configurado el disyuntor.
circuitBreaker objeto El disyuntor configurado en el back-end, que consta de un objeto rules que especifica la regla que ha recorrido el respaldo. La regla tiene una propiedad tripDuration en formato hh:mm:ss que especifica la duración para la que se tripe el disyuntor.

Eventos de token de autenticación de puerta de enlace autohospedado

El objeto data tiene las siguientes propiedades para los eventos de token de autenticación de puerta de enlace autohospedado.

Propiedad Tipo Descripción
gatewayInfo objeto La información de puerta de enlace autohospedada, que consta de las siguientes propiedades de cadena:

* gatewayId : identificador completo del recurso de puerta de enlace
* instanceId - Identificador de instancia único de la puerta de enlace implementada
tokenInfo objeto La información del token, que consta de una de las siguientes propiedades en la hora UTC del proveedor:

* expiresAtUtc : para GatewayTokenNearExpiry evento, o
* expiredAtUtc : para GatewayTokenExpired evento

Tutoriales y procedimientos

Título Descripción
Envío de eventos de API Management a Event Grid Cómo suscribirse a eventos de API Management mediante Event Grid.

Pasos siguientes