Elige la estrategia de consulta adecuada para Azure Resource Graph

Azure Resource Graph (ARG) está diseñado para consultas rápidas y a gran escala en tus recursos de Azure. Como ARG indexa los datos de forma asíncrona, es importante entender cuándo consultar directamente ARG y cuándo recurrir al proveedor de recursos (RP) que posee el recurso, es decir, la fuente de verdad para su estado de recurso. Este artículo explica cómo encaja ARG en el plano de control de Azure, cuándo usar una estrategia híbrida ARG + RP de consulta, y cómo elegir entre RP, la API de consulta de ARG y su API Get/List.

Cómo encaja el ARG en el plano de control de Azure

El plano de control de recursos tiene tres componentes:

  • Azure Resource Manager (ARM) – la pasarela de solicitudes para ARG. ARM enruta las solicitudes a ARG sin necesidad de realizar llamadas individuales a cada proveedor de recursos.

  • Proveedores de recursos (por ejemplo, el Proveedor de Recursos de Cálculo, o CRP) – la fuente de verdad para el estado del recurso. Las llamadas directas a las APIs de un proveedor de recursos devuelven datos fuertemente consistentes.

  • Azure Resource Graph (ARG) – un índice asíncrono sobre datos del plano de control, diseñado para consultas escalables y de alto rendimiento a través de grandes conjuntos de recursos. ARG es casi en tiempo real; sigue un modelo de consistencia eventual debido a la naturaleza distribuida del sistema que sustenta la API. Va por detrás de la fuente de verdad por un breve periodo, a veces más por si hay alguna interrupción en el backend.

ARG se mantiene sincronizado mediante dos mecanismos: notificaciones de cambios asíncronas de ARM y proveedores de recursos, y pases periódicos de conciliación que detectan cualquier notificación que haya pasado por alto.

Note

ARG sacrifica una consistencia fuerte por escala y rendimiento. Las API de los proveedores de recursos priorizan el rendimiento frente a la exactitud en un momento dado. Elige en función de lo que necesite tu operación.

Utilizar una estrategia de consulta híbrida para escenarios críticos

En escenarios donde la frescura y fiabilidad de los datos importan, utiliza una estrategia híbrida: consulta el ARG para escalar y recurre a la API del proveedor de recursos cuando detectes un problema de frescura de datos, un retraso en la indexación o una latencia elevada, o antes de tomar una acción crítica basada en el estado del recurso. Este enfoque evita dos modos de fallo a la vez: el coste de llamar siempre directamente al RP y el riesgo de actuar sobre datos ARG obsoletos como si estuvieran vigentes (por ejemplo, reiniciar o desprovisionar un recurso basándose en un estado desactualizado).

Escenarios comunes

Consulta inmediatamente después de la creación del recurso - Algunos flujos de trabajo consultan un recurso en un plazo de 1–2 segundos tras crearlo — por ejemplo, esperando a provisioningState que alcance un estado final o esperando a que aparezcan ciertas propiedades en la respuesta. Como la indexación ARG puede no estar completa, una consulta emitida poco después de la creación puede devolverla 404 Not Found aunque el recurso exista. Utiliza una estrategia híbrida para evitar falsos negativos: si ARG devuelve un "no encontrado" inmediatamente después de una operación de escritura, recurre al proveedor de recursos antes de tratarlo como un error.

Verificación del estado antes de una operación destructiva - Si tu flujo de trabajo utiliza ARG para identificar recursos candidatos a una operación, y esa operación es destructiva (eliminar, reiniciar, desprovisionar), no actúes directamente sobre el resultado del ARG. La latencia del backend puede dejar desactualizada la vista de ARG sobre un recurso. Este riesgo es significativo cuando la acción resultante no puede deshacerse.

Importante

Usa ARG para construir tu lista de candidatos y luego realiza una comprobación de consistencia fuerte contra el proveedor de recursos inmediatamente antes de ejecutar la acción destructiva.

Directrices para gestionar la coherencia eventual para ARG

  • Verifica solo antes de acciones irreversibles, no en todas las encuestas. Añade una segunda comprobación del proveedor de recursos antes de flujos de trabajo que afecten al cliente o sean destructivos — no en todas las consultas ARG. Verificar cada encuesta va en contra del propósito de usar ARG y puede desencadenar la limitación a gran escala. El patrón es: confiar en ARG para la identificación y la escalabilidad, y verificar con la fuente de verdad justo antes de cualquier acción irreversible.

    Tip

    Si verificar el volumen de tu operación genera preocupaciones sobre la limitación, contacta con Microsoft antes de alcanzar un límite. Los aumentos de cuota para apoyar este patrón son una solicitud justificable y esperada, no un caso límite.

  • Añade el tiempo de espera entre consultas ARG posteriores cuando tu escenario lo permita. Cuando sí, usa retroceso exponencial: empieza con un par de segundos antes del primer intento y aumenta el tiempo de espera con cada intento posterior (por ejemplo, 2s → 4s → 8s → 16s...) hasta un límite de unos minutos. Deja de aumentar cuando alcances ese límite y sigue haciendo sondeos en el intervalo límite o recurre a la API del proveedor de recursos.

  • Considera la API ARG Get/List para sondeos de alta frecuencia. Consulta esta sección que explica más sobre cómo configurar un respaldo con la API Get/List.

Comparación de API

Usa esta tabla para decidir qué API se adapta a tu situación.

Feature APIs de proveedores de recursos (ejemplo: CRP) API de consulta ARG ARG Get/List API
Qué es Llamadas directas a las propias APIs de un proveedor de recursos (por ejemplo, APIs VM/VMSS) para consultar recursos e inventario. API de consultas masivas de Azure Resource Graph, disponible a través de Resource Graph Explorer en el portal de Azure, Azure PowerShell, CLI de Azure, SDKs y REST API. Utiliza las APIs Get/List existentes del plano de control con useResourceGraph=true añadido, que enruta la llamada a través del backend ARG. Disponible a través de APIs REST de Azure y SDKs seleccionados.
Referencia Buscar proveedores de recursos por servicios de Azure Ejecuta una consulta de Azure Resource Graph usando REST API, que utilizaPOST /providers/Microsoft.ResourceGraph/resources La API ARG GET/LIST aprovecha las APIs GET del plano de control existentes, añadiendo la bandera useResourceGraph=true a las APIs que enrutan la llamada a este backend de forma fluida.
Ideal para • Consultas a pequeña escala, ad hoc o poco frecuentes a la API del plano de control.
• Escenarios que requieren datos fuertemente consistentes directamente de la fuente de verdad.
• Una comprobación final antes de una operación destructiva o irreversible (eliminar, reiniciar, desprovisionar).
• Un recurso de respaldo cuando los datos del ARG están obsoletos.
• Consultas masivas en el nivel de inquilino que combinan datos de varios inquilinos, suscripciones, grupos de recursos o grupos de administración para escenarios analíticos complejos.
• Escanear o encuestar muchos recursos (miles+) para determinar el estado.
• Consultas con alcance a toda la superficie de la API get/list para una única suscripción o grupo de recursos.
• Escenarios de alta concurrencia y alto rendimiento de encuestas.
Cuota de limitación de velocidad Varía según el recurso y la operación, generalmente por debajo de los límites del ARG. Ejemplo: GET en VMSS VMSS es 36 llamadas/min a nivel de recurso y 2.000 llamadas/min a nivel de suscripción. 15 consultas cada 5 segundos. Se puede plantear caso por caso. Se alinea con los límites ARM — hasta 4.000 consultas/min/suscripción/llamada. Este es un límite suave y se puede aumentar según sea necesario.
Nivel de coherencia Fuertemente consistente — esta es la fuente de la verdad. Sigue un modelo de consistencia eventual. Los datos se indexan en el backend del ARG con una latencia de unos minutos, normalmente inferior a 1 minuto. Sigue un modelo de consistencia eventual. Los datos se indexan en el backend del ARG con una latencia de unos minutos, normalmente inferior a 1 minuto.
Availability Las APIs de planos de control en sí mismas no llevan un SLA, pero los recursos gestionados a través de ellas sí lo tienen; por ejemplo, Azure VMs llevan un SLA de 99,9% o superior dependiendo de las opciones de redundancia. No hay SLA público. No hay SLA público.
Etapa del ciclo de vida del producto Disponible con carácter general (GA) Disponible con carácter general (GA) Disponible con carácter general (GA)
Precios Es gratis para llamar. Los recursos creados o gestionados a través de estas APIs (máquinas virtuales, almacenamiento, etc.) incurren en cargos estándar de Azure. Gratuito Gratuito

Note

Los límites de limitación de velocidad varían en función del tipo de recurso y de la operación. Las figuras anteriores son ejemplos (se muestra VMSS en la columna del proveedor de recursos); comprueba los límites actuales para tu tipo de recurso y región concretos, en lugar de tratar estos números como constantes fijas.

Tanto el patrón híbrido de respaldo como la API Get/List ayudan a garantizar que obtengas el estado del recurso más preciso disponible, sin que te bloqueen breves desfases en la actualización de los datos.