Compartir vía


Notificaciones de recursos de Azure: eventos de administración de recursos en Azure Event Grid (versión preliminar)

El tema del sistema de Administración de recursos de Azure proporciona información sobre el ciclo de vida de distintos recursos de Azure.

Los temas del sistema de Event Grid para suscripciones de Azure y grupos de recursos de Azure proporcionan eventos del ciclo de vida de los recursos con una gama más amplia de tipos de eventos, incluidos eventos de acción, escritura y eliminación para escenarios de éxito, error y cancelación. Sin embargo, cabe destacar que no incluyen la carga de recursos. Para obtener más información sobre estos eventos, consulte el tema del sistema de Event Grid para suscripciones de Azure y el tema del sistema de Event Grid para grupos de recursos de Azure.

Por el contrario, el tema del sistema de Administración de recursos de Azure con tecnología de Notificaciones de recursos de Azure (ARN) ofrece una selección más específica de tipos de eventos, en concreto CreatedOrUpdated (que corresponden a ResourceWriteSuccess en el tema del sistema de la suscripción a Azure Event Grid) y Deleted (que corresponden a ResourceDeleteSuccess en el tema del sistema de la suscripción a Azure Event Grid). Estos eventos incluyen información completa sobre la carga, lo que facilita a los clientes aplicar el filtrado y refinar su flujo de notificaciones.

Para obtener la lista de tipos de recursos expuestos, consulte Recursos de Azure Resource Graph o use la siguiente consulta de Azure Resource Graph.

resources
| distinct ['type']

Nota:

El tema del sistema de Administración de recursos de Azure aún no admite todos los tipos de recursos de la tabla de recursos de Azure Resource Graph. Estamos trabajando para mejorar esta experiencia.

Tipos de eventos

El tema del sistema de recursos de ARN ofrece dos tipos de eventos para el consumo:

Tipo de evento Descripción
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated Se genera cuando un recurso se crea o se actualiza correctamente.
Microsoft.ResourceNotifications.Resources.Deleted Se genera cuando se elimina un recurso.

Control de acceso basado en rol

Actualmente, estos eventos se emiten exclusivamente en el ámbito de la suscripción de Azure. Implica que la entidad que crea la suscripción a eventos para este tipo de tema recibe notificaciones a través de esta suscripción a Azure. Por motivos de seguridad, es imperativo restringir la capacidad de crear suscripciones de eventos en este tema a entidades de seguridad con acceso de lectura en toda la suscripción de Azure. Para acceder a los datos a través de este tema del sistema, además de los permisos genéricos que requiere Event Grid, es necesario el siguiente permiso específico de notificaciones de recursos de Azure: Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action.

Esquemas de eventos

En esta sección se proporcionan esquemas para los eventos CreatedOrUpdated y Deleted.

Esquema para el evento CreatedOrUpdated

Este es el esquema:

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string",
            "location": "string",
            "tags": "string",
            "properties": {
                "_comment": "object-unique-to-each-publisher"
            }
        },
        "apiVersion": "string",
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Esquema para el evento Deleted

Este es el esquema:

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string"
        },
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Un evento en el formato de esquema de eventos de Event Grid tiene las siguientes propiedades de nivel superior:

Propiedad Tipo Description
id String Identificador único del evento
topic String La suscripción de Azure para la que se está creando este tema del sistema
subject String Ruta de acceso definida por el publicador al recurso base sobre el que se emite este evento.
data Object Contiene datos del evento específicos del proveedor de recursos. Para más información, consulte la siguiente tabla.
eventType String Tipo de evento registrado de este tipo de tema del sistema
dataVersion String Versión del esquema del objeto de datos
metadataVersion String Versión del esquema de los metadatos del evento
eventTime String
Formato: 2022-11-07T18:43:09.2894075Z
La hora de generación del evento en función de la hora UTC del proveedor

Un evento en el formato de esquema de eventos en la nube tiene las siguientes propiedades de nivel superior:

Propiedad Tipo Description
id String Identificador único del evento
source String La suscripción de Azure para la que se va a crear este tema del sistema.
subject String Ruta de acceso definida por el publicador al recurso base sobre el que se emite este evento.
type String Tipo de evento registrado de este tipo de tema del sistema
time String
Formato: 2022-11-07T18:43:09.2894075Z
La hora de generación del evento en función de la hora UTC del proveedor
data Object Contiene datos del evento específicos del proveedor de recursos. Para más información, consulte la siguiente tabla.
specversion String Versión de especificación del esquema CloudEvents.

El objeto data tiene las siguientes propiedades:

Propiedad Tipo Description
resourceInfo Object Datos específicos del recurso. Para más información, consulte la siguiente tabla.
apiVersion String Versión de la API de las propiedades del recurso.
operationalInfo Object Detalles de la información operativa relacionada con el recurso.

El objeto resourceInfo tiene las siguientes propiedades comunes en los eventos CreatedOrUpdated y Deleted:

Propiedad Tipo Description
id String Ruta de acceso al asunto del evento definido por el anunciante
name String Este campo indica el id. de evento. Siempre toma el valor de la última sección del campo id.
type String Tipo de evento que se está emitiendo. En este contexto, es Microsoft.ResourceNotifications.Resources.CreatedOrUpdated o Microsoft.ResourceNotifications.Resources.Deleted.

El objeto resourceInfo para el evento CreatedOrUpdated tiene las siguientes propiedades adicionales:

Propiedad Tipo Description
location String Ubicación o región donde se encuentra el recurso.
tags String Etiquetas para el recurso.
properties Object Carga del recurso.

Solo el evento CreatedOrUpdated incluye el objeto properties. El esquema de este objeto properties es único para cada publicador. Para detectar el esquema, consulte la documentación de la API de REST para el recurso de Azure específico. Puede encontrar un ejemplo en la sección Eventos de ejemplo de este artículo.

            "properties": {
                "_comment": "<< object-unique-to-each-publisher >>"
            }

El objeto operationalInfo tiene las siguientes propiedades:

Propiedad Tipo Descripción
resourceEventTime DateTime Fecha y hora en que el recurso se creó o actualizó (para el evento CreatedOrUpdated) o se eliminó (para el evento Deleted).

Eventos de ejemplo

Evento CreatedOrUpdated

En esta sección se muestra el evento CreatedOrUpdated que se genera al crear una cuenta de Azure Storage en la suscripción de Azure en la que se crea el tema del sistema.

{
  "id": "4eef929a-a65c-47dd-93e2-46b8c17c6c17",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "tags": {},
      "id": "/subscriptions/{subcription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "StorageAccount-name",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "eastus",
      "properties": {
        "privateEndpointConnections": [],
        "minimumTlsVersion": "TLS1_2",
        "allowBlobPublicAccess": 1,
        "allowSharedKeyAccess": 1,
        "networkAcls": {
          "bypass": "AzureServices",
          "virtualNetworkRules": [],
          "ipRules": [],
          "defaultAction": "Allow"
        },
        "supportsHttpsTrafficOnly": 1,
        "encryption": {
          "requireInfrastructureEncryption": 0,
          "services": {
            "file": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            },
            "blob": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            }
          },
          "keySource": "Microsoft.Storage"
        },
        "accessTier": "Hot",
        "provisioningState": "Succeeded",
        "creationTime": "2023-07-28T20:12:50.4661564Z",
        "primaryEndpoints": {
          "dfs": "https://{storageAccount-name}.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}.queue.core.windows.net/",
          "table": "https://{storageAccount-name}.table.core.windows.net/",
          "file": "https://{storageAccount-name}.file.core.windows.net/"
        },
        "primaryLocation": "eastus",
        "statusOfPrimary": "available",
        "secondaryLocation": "westus",
        "statusOfSecondary": "available",
        "secondaryEndpoints": {
          "dfs": "https://{storageAccount-name} -secondary.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}-secondary.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}-secondary.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}-secondary.queue.core.windows.net/",
          "table": "https://{storageAccount-name}-secondary.table.core.windows.net/"
        }
      }
    },
    "apiVersion": "2019-06-01",
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:13:10.8418063Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.CreatedOrUpdated",
  "specversion": "1.0",
  "time": "2023-07-28T20:13:10.8418063Z"
}

Evento Deleted

En esta sección se muestra el evento Deleted que se genera al eliminar una cuenta de Azure Storage en la suscripción de Azure en la que se crea el tema del sistema.

{
  "id": "d4611260-d179-4f86-b196-3a9d4128be2d",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "storageAccount-name",
      "type": "Microsoft.Storage/storageAccounts"
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:11:36.6347858Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.Deleted",
  "specversion": "1.0",
  "time": "2023-07-28T20:11:36.6347858Z"
}

Ponerse en contacto con nosotros

Si tiene alguna pregunta o comentarios sobre esta característica, no dude en ponerse en contacto con nosotros en arnsupport@microsoft.com.

Para ayudarle mejor con comentarios específicos sobre un determinado evento, proporcione la siguiente información:

Para los eventos que faltan:

  • Nombre del tipo de tema del sistema
  • Marca de tiempo aproximada en UTC cuando se ejecutó la operación
  • Identificador de recurso base para el que se generó la notificación
  • Vaya al recurso en Azure Portal y seleccione la vista JSON en la esquina derecha. El identificador de recurso es el primer campo de la página de vista JSON.
  • Tipo de evento esperado
  • Operación ejecutada (por ejemplo, máquina virtual iniciada o detenida, cuenta de Storage creada, etc.)
  • Descripción del problema detectado (por ejemplo, máquina virtual iniciada y no se generó ningún evento Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged)
  • Si es posible, proporcione el identificador de correlación de la operación ejecutada.

Para eventos retrasados o con contenido inesperado

  • Nombre del tipo de tema del sistema
  • Todo el contenido de la notificación, excepto data.resourceInfo.properties
  • Descripción del problema detectado y valores de campo afectados

Asegúrese de no proporcionar información de identificación del usuario final al compartir estos datos.

Pasos siguientes

Consulte Suscribirse a notificaciones de recursos de Azure: eventos de administración de recursos.