Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Resource Graph (ARG) ist für schnelle, groß angelegte Abfragen über Ihre Azure-Ressourcen ausgelegt. Da ARG Daten asynchron indexiert, ist es wichtig zu verstehen, wann man ARG direkt abfragt und wann man auf den Ressourcenanbieter (RP) zurückgreifen muss, der die Ressource besitzt – die Quelle der Wahrheit für ihren Ressourcenzustand. Dieser Artikel erklärt, wie ARG in die Azure-Kontrollebene passt, wann eine hybride ARG + RP-Abfragestrategie verwendet werden sollte und wie man zwischen RP, ARGs Abfrage-API und seiner Get/List API wählt.
Wie ARG in die Azure-Kontrollebene passt
Die Ressourcenkontrollebene besteht aus drei Komponenten:
Azure Resource Manager (ARM) – das Anfrage-Gateway für ARG. ARM leitet Anfragen an ARG weiter, ohne individuelle Aufrufe an jeden Ressourcenanbieter tätigen zu müssen.
Resource Providers (zum Beispiel der Compute Resource Provider oder CRP) – die Wahrheitsquelle für den Ressourcenzustand. Direkte Aufrufe an die APIs eines Ressourcenanbieters liefern stark konsistente Daten.
Azure Resource Graph (ARG) – ein asynchroner Index über Steuerebenendaten, der für hochdurchsatzfähige, skalierbare Abfragen über große Ressourcenmengen entwickelt wurde. ARG ist nahezu Echtzeit und folgt einem Modell der letztlichen Konsistenz, was auf die verteilte Natur des Systems zurückzuführen ist, das die API unterstützt. Sie hinkt der Wahrheitsquelle nur kurz hinterher, manchmal sogar länger, falls es Backend-Störungen gibt.
ARG bleibt durch zwei Mechanismen synchronisiert: asynchrone Änderungsbenachrichtigungen von ARM und Ressourcenanbietern sowie periodische Abgleichsdurchläufe, die alles erfassen, was einer Benachrichtigung entgangen ist.
Note
ARG tauscht starke Konsistenz gegen Skalierung und Durchsatz. APIs von Ressourcenanbietern opfern Durchsatz zugunsten punktueller Korrektheit. Wählen Sie je nachdem, welche Option Ihr Betrieb benötigt.
Verwenden Sie eine hybride Abfragestrategie für kritische Szenarien
In Szenarien, in denen Datenfrëschheit und Datenzuverlässigkeit wichtig sind, verwenden Sie eine hybride Strategie: Abfragen Sie ARG für Skalierung und greifen Sie auf die Resource Provider API zurück, wenn Sie ein Problem mit der Datenfrart, eine Indexierungsverzögerung oder erhöhte Latenz erkennen oder bevor Sie eine kritische Aktion basierend auf dem Ressourcenzustand ergreifen. Dieser Ansatz vermeidet zwei Ausfallarten gleichzeitig – die Kosten, das RP ständig direkt aufzurufen, und das Risiko, auf veralteten ARG-Daten zu handeln, als wären sie aktuell (zum Beispiel das Neustarten oder Deprovisionieren einer Ressource aufgrund eines veralteten Zustands).
Häufige Szenarien
Umfrage unmittelbar nach der Ressourcenerstellung – Einige Workflows fragen eine Ressource innerhalb von 1–2 Sekunden nach der Erstellung ab – zum Beispiel warten sie darauf provisioningState , einen Endzustand zu erreichen, oder warten darauf, dass bestimmte Eigenschaften in der Antwort erscheinen. Da die ARG-Indexierung möglicherweise nicht vollständig ist, kann eine so kurz nach der Erstellung gestellte Abfrage zurückkehren 404 Not Found , obwohl die Ressource existiert. Verwenden Sie eine hybride Strategie, um falsch negative Ergebnisse zu vermeiden: Wenn ARG unmittelbar nach einem Schreibvorgang „Nicht gefunden“ zurückgibt, greifen Sie auf den Ressourcenanbieter zurück, bevor Sie dies als Fehler behandeln.
Zustand vor einer destruktiven Operation überprüfen – Wenn dein Workflow ARG verwendet, um Kandidatenressourcen für eine Operation zu identifizieren, und diese Operation destruktiv ist (Löschen, Neustart, Deprovision), handle nicht direkt auf das ARG-Ergebnis. Backend-Latenz kann dazu führen, dass ARGs Sicht auf eine Ressource veraltet ist. Dieses Risiko ist erheblich, wenn die daraus resultierende Handlung nicht rückgängig gemacht werden kann.
Important
Verwenden Sie ARG, um Ihre Kandidatenliste zu erstellen, und führen Sie unmittelbar vor der Durchführung der destruktiven Aktion eine starke Konsistenzprüfung gegen den Ressourcenanbieter durch.
Leitfaden zum Umgang mit eventueller Konsistenz bei ARG
Verifizieren Sie nur vor irreversiblen Maßnahmen, nicht bei jeder Umfrage. Fügen Sie vor kundenbeeinträchtigenden oder destruktiven Workflows eine sekundäre Ressourcen-Provider-Prüfung hinzu – nicht bei jeder ARG-Abfrage. Die Überprüfung jeder Poll-Abfrage macht den Zweck des Einsatzes von ARG zunichte und kann in großem Maßstab eine Drosselung auslösen. Das Muster ist: Vertraue auf ARG für Identifikation und Skalierung, verifiziere mit der Wahrheitsquelle direkt vor etwas Unumkehrbarem.
Tip
Wenn die Überprüfung bei Ihrem Betriebsvolumen Bedenken hinsichtlich einer Drosselung aufwirft, wenden Sie sich an Microsoft, bevor Sie an ein Limit stoßen. Quotenerhöhungen zur Unterstützung dieses Musters sind eine vertretbare, erwartete Bitte – kein Ausnahmefall.
Füge die Wartezeit zwischen den folgenden ARG-Abfragen hinzu, wo dein Szenario es erlaubt. Wo es der Fall ist, nutze exponentiellen Backoff: Starte mit ein paar Sekunden vor dem ersten Versuch und erhöhe die Wartezeit mit jedem weiteren Versuch (zum Beispiel 2s → 4s → 8s → 16s...) bis zu einer Obergrenze von wenigen Minuten. Hören Sie auf mit der Erhöhung, sobald Sie dieses Limit erreicht haben, und setzen Sie entweder die Abfrage im begrenzten Intervall fort oder greifen Sie auf die Ressourcenanbieter-API zurück.
Betrachten wir die ARG Get/List API für Hochfrequenz-Abfragen. Siehe diesen Abschnitt, der weitere Informationen zum Einrichten eines Fallbacks mit der Get/List API enthält.
API-Vergleich
Verwenden Sie diese Tabelle, um zu entscheiden, welche API zu Ihrem Szenario passt.
| Funktion | Resource Provider APIs (Beispiel: CRP) | ARG-Abfrage-API | ARG Get/List API |
|---|---|---|---|
| Was es ist | Direkte Aufrufe an die eigenen APIs eines Ressourcenanbieters (zum Beispiel VM/VMSS-APIs), um Ressourcen und Inventar abzufragen. | Die Bulk-Abfrage-API von Azure Resource Graph, verfügbar über Resource Graph Explorer im Azure-Portal, Azure PowerShell, Azure CLI, SDKs und REST API. | Verwendet die vorhandenen Get/List-APIs der Steuerungsebene mit angehängtem Parameter useResourceGraph=true, wodurch der Aufruf über das ARG-Backend geleitet wird. Verfügbar über Azure REST APIs und ausgewählte SDKs. |
| Referenz | Finden Sie Ressourcenanbieter nach Azure-Diensten |
Führe die Azure Resource Graph Abfrage mit der REST API aus, die verwendetPOST /providers/Microsoft.ResourceGraph/resources |
DIE ARG GET/LIST-API nutzt die bestehenden GET-APIs der Kontrollebene, indem sie das Flag useResourceGraph=true an die APIs anhängen, wodurch der Aufruf nahtlos an dieses Backend weitergeleitet wird. |
| Ideal für | • Kleine, ad hoc durchgeführte oder seltene Abfragen an Control-Plane-APIs. • Szenarien, die stark konsistente Daten direkt von der Wahrheitsquelle erfordern. • Eine letzte Überprüfung vor einer zerstörerischen oder irreversiblen Operation (Löschen, Neustart, Deprovisionierung). • Ein Rückfall, wenn ARG-Daten veraltet sind. |
• Massensuchvorgänge auf Mandantenebene, die sich über mehrere Mandanten, Abonnements, Ressourcengruppen oder Managementgruppen hinweg für komplexe analytische Szenarien verbinden. • Scannen oder Abfragen vieler Ressourcen (Tausende oder mehr) auf den Status. |
• Abfragen, die auf die vollständige Get/List API-Oberfläche für ein einzelnes Abonnement oder eine Ressourcengruppe beschränkt sind. • Hoch-Nebenläufigkeit und hohe Durchsatz-Umfrageszenarien. |
| Drosselungskontingent | Variiert je nach Ressource und Betrieb, meist niedriger als die ARG-Grenzen. Beispiel: GET auf VMSS-VMs hat 36 Aufrufe pro Minute auf Ressourcenebene und 2.000 Aufrufe pro Minute auf Abonnementebene. | 15 Anfragen pro 5 Sekunden. Kann von Fall zu Fall angesprochen werden. | Entspricht den ARM-Limits – bis zu 4.000 Anfragen pro Minute/Abonnement/Anrufer. Dies ist eine weiche Grenze und kann bei Bedarf erhöht werden. |
| Konsistenzebene | Stark konsistent – das ist die Quelle der Wahrheit. | Folgt einem Modell der letztlichen Konsistenz. Die Daten werden im ARG-Backend mit einer Latenz von wenigen Minuten indiziert, typischerweise unter 1 Minute. | Folgt einem Eventual-Konsistenzmodell. Die Daten werden im ARG-Backend mit einer Latenz von wenigen Minuten indiziert, typischerweise unter 1 Minute. |
| Verfügbarkeit | Control-Plane-APIs selbst tragen kein SLA, aber die über sie verwalteten Ressourcen tun dies – zum Beispiel tragen Azure VMs eine SLA von 99,9% oder höher, abhängig von Redundanzoptionen. | Kein öffentliches SLA. | Kein öffentliches SLA. |
| Produktlebenszyklusphase | Allgemein verfügbar (GA) | Allgemein verfügbar (GA) | Allgemein verfügbar (GA) |
| Preise | Kostenlos anzurufen. Ressourcen, die über diese APIs (VMs, Speicher usw.) erstellt oder verwaltet werden, verursachen standardmäßige Azure-Gebühren. | Kostenlos | Kostenlos |
Note
Die Grenzwerte für die Drosselung variieren je nach Ressourcentyp und Vorgang. Die obigen Abbildungen sind Beispiele (VMSS für die Spalte Ressourcenanbieter) – überprüfen Sie aktuelle Limits für Ihren spezifischen Ressourcentyp und Ihre Region, anstatt diese Zahlen als feste Konstanten zu behandeln.
Sowohl das hybride Fallback-Muster als auch die Get/List API helfen sicherzustellen, dass Sie den genauesten verfügbaren Ressourcenzustand abrufen, ohne durch kurzlebige Daten-Freshness-Lücken blockiert zu werden.