Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los eventos de Azure App Configuration permiten que las aplicaciones reaccionen a los cambios en los valores clave. Esto se hace sin necesidad de código complicado o servicios de sondeo costosos e ineficaces. En su lugar, los eventos se insertan a través de Azure Event Grid a los suscriptores, como Azure Functions, Azure Logic Apps o incluso a su propio agente de escucha HTTP personalizado. De forma crítica, solo paga por lo que usa.
Los eventos de Azure App Configuration se envían a Azure Event Grid, que proporciona servicios de entrega confiables a las aplicaciones a través de directivas de reintento enriquecidas y entrega de mensajes fallidos. Para más información, vea Entrega y reintento de entrega de mensajes de Event Grid.
Entre los escenarios de eventos comunes de App Configuration se incluyen actualizar la configuración de la aplicación, desencadenar implementaciones o cualquier flujo de trabajo orientado a la configuración. Cuando los cambios son poco frecuentes, pero el escenario requiere capacidad de respuesta inmediata, la arquitectura basada en eventos puede ser especialmente eficaz.
Eche un vistazo a Uso de Event Grid para las notificaciones de cambio de datos para obtener un ejemplo rápido.
Tipos de eventos disponibles
Event Grid usa suscripciones de eventos para enrutar mensajes de eventos a los suscriptores. Azure App Configuration emite los siguientes tipos de eventos:
| Tipo de evento | Description |
|---|---|
| Microsoft.AppConfiguration.KeyValueModified | Se genera cuando se crea o reemplaza un valor de clave. |
| Microsoft.AppConfiguration.KeyValueDeleted | Se genera cuando se elimina un valor de clave. |
| Microsoft.AppConfiguration.SnapshotCreated | Se genera cuando se crea una instantánea. |
| Microsoft.AppConfiguration.SnapshotModified | Se genera cuando se modifica una instantánea. |
Esquema de eventos
Un evento tiene los siguientes datos de nivel superior:
| Propiedad | Tipo | Description |
|---|---|---|
source |
cuerda / cadena | Ruta de acceso completa al recurso al origen del evento. Este campo no se puede escribir. Event Grid proporciona este valor. |
subject |
cuerda / cadena | Ruta de acceso definida por el publicador al asunto del evento. |
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 del evento. |
data |
objeto | Datos de eventos de App Configuration. |
specversion |
cuerda / cadena | Versión de especificación del esquema de CloudEvents. |
El objeto de datos tiene las siguientes propiedades:
Evento key-value
| Propiedad | Tipo | Description |
|---|---|---|
key |
cuerda / cadena | Clave del valor de clave que se modificó o eliminó. |
label |
cuerda / cadena | Etiqueta, si existe, del valor de clave que se modificó o eliminó. |
etag |
cuerda / cadena | Para KeyValueModified la etiqueta etag del nuevo valor de clave. Para KeyValueDeleted la etag del valor de clave que se eliminó. |
syncToken |
cuerda / cadena | Token de sincronización que representa el estado del servidor después del evento key-value. |
Evento snapshot
| Propiedad | Tipo | Description |
|---|---|---|
name |
cuerda / cadena | Nombre de la instantánea que se creó o modificó. |
etag |
cuerda / cadena | Para SnapshotCreated la etiqueta de la nueva instantánea. Para SnapshotModified la etag de la instantánea que se modificó. |
syncToken |
cuerda / cadena | Token de sincronización que representa el estado del servidor después del evento de instantánea. |
Evento de ejemplo
En el ejemplo siguiente se muestra el esquema de un evento modificado de clave-valor:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueModified",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
En el ejemplo siguiente se muestra el esquema de un evento eliminado de clave-valor:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueDeleted",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
En el ejemplo siguiente se muestra el esquema de un evento creado por instantáneas:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kvsnapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotCreated",
"time": "2023-09-02T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
En el ejemplo siguiente se muestra el esquema de un evento modificado de instantánea:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/snapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotModified",
"time": "2023-09-03T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
Para más información, consulte Esquema de eventos de Azure App Configuration.
Prácticas para consumir eventos
Las aplicaciones que controlan los eventos de App Configuration deben seguir estos procedimientos recomendados:
- Se pueden configurar varias suscripciones para enrutar eventos al mismo controlador de eventos, por lo que no asume que los eventos proceden de un origen determinado. En su lugar, compruebe el tema del mensaje para asegurarse de que la instancia de App Configuration envía el evento.
- Compruebe y
eventTypeno suponga que todos los eventos que reciba serán los tipos que espera. - Use los
etagcampos para comprender si la información sobre los objetos sigue up-to-date. - Use los campos del secuenciador para comprender el orden de los eventos en cualquier objeto determinado.
- Use el campo asunto para tener acceso al valor de clave que se modificó.
Pasos siguientes
Para obtener más información sobre Event Grid y proporcionar un intento a los eventos de Azure App Configuration, consulte: