Notificaciones de recursos de Azure: eventos de Azure Resource Manager en Azure Event Grid
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/{subscription-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.