Freigeben über


Azure-Ressourcenbenachrichtigungen: Ressourcenverwaltungsereignisse in Azure Event Grid

Das Thema zum Azure-Ressourcenverwaltungssystem bietet Einblicke in den Lebenszyklus verschiedener Azure-Ressourcen.

Die Event Grid-Systemthemen für Azure-Abonnements und Azure-Ressourcengruppen bieten Lebenszyklusereignisse zu Ressourcen mit einer breiteren Palette von Ereignistypen, einschließlich Aktion, Schreiben und Löschen von Ereignissen für Szenarien mit Erfolg, Fehler und Abbruch. Beachten Sie jedoch, dass die Ressourcennutzdaten nicht enthalten sind. Ausführliche Informationen zu diesen Ereignissen finden Sie unter Event Grid-Systemthema für Azure-Abonnements und Event Grid-Systemthema für Azure-Ressourcengruppen.

Im Gegensatz dazu ermöglichen die auf dem Azure-Ressourcenverwaltungssystem basierenden Azure-Ressourcenbenachrichtigungen (Azure Resource Notifications, ARN) eine gezieltere Auswahl von Ereignistypen, insbesondere CreatedOrUpdated (entsprechend dem ResourceWriteSuccess im Event Grid-Systemthema für Azure-Abonnements) und Deleted (entsprechend dem ResourceDeleteSuccess im Event Grid-Systemthema für Azure-Abonnements). Diese Ereignisse enthalten umfassende Informationen zu den Nutzdaten, sodass Kund*innen einfacher Filter anwenden und ihren Benachrichtigungsstream eingrenzen können.

Eine Liste der verfügbar gemachten Ressourcentypen finden Sie unter Azure Resource Graph-Ressourcen. Sie können auch die folgende Azure Resource Graph-Abfrage verwenden.

resources
| distinct ['type']

Hinweis

Das Systemthema für die Azure-Ressourcenverwaltung unterstützt noch nicht alle Ressourcentypen aus der Ressourcentabelle von Azure Resource Graph. Wir arbeiten daran, diese Funktion zu verbessern.

Ereignistypen

Das Systemthema für ARN-Ressourcen bietet zwei Ereignistypen für die Verwendung:

Ereignistyp Beschreibung
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated Wird ausgelöst, wenn eine Ressource erfolgreich erstellt oder aktualisiert wird.
Microsoft.ResourceNotifications.Resources.Deleted Wird ausgelöst, wenn eine Ressource gelöscht wird.

Rollenbasierte Zugriffssteuerung

Derzeit werden diese Ereignisse ausschließlich im Azure-Abonnementbereich ausgegeben. Es bedeutet, dass die Entität, die das Ereignisabonnement für diesen Thementyp erstellt, Benachrichtigungen über dieses Azure-Abonnement empfängt. Aus Sicherheitsgründen müssen Sie die Möglichkeit zum Erstellen von Ereignisabonnements in diesem Thema auf Prinzipale mit Lesezugriff über das gesamte Azure-Abonnement beschränken. Für den Zugriff auf Daten über dieses Systemthema ist zusätzlich zu den generischen Berechtigungen, die von Event Grid benötigt werden, die folgende spezifische Azure Resource Notifications-Berechtigung erforderlich: Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action.

Ereignisschemata

Dieser Abschnitt enthält Schemas für die Ereignisse CreatedOrUpdated und Deleted.

Ereignisschema für das CreatedOrUpdated-Ereignis

Das folgende Schema wird verwendet:

{
    "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"
}

Ereignisschema für das Deleted-Ereignis

Das folgende Schema wird verwendet:

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

Ein Ereignis im Event Grid-Ereignisschemaformat weist die folgenden Eigenschaften auf oberster Ebene auf:

Eigenschaft Typ Beschreibung
id String Eindeutiger Bezeichner der Veranstaltung
topic String Das Azure-Abonnement, für das dieses Systemthema erstellt wird
subject String Publisher hat den Pfad zur Basisressource definiert, für die dieses Ereignis ausgegeben wird.
data Object Enthält die für den Ressourcenanbieter spezifischen Ereignisdaten. Weitere Informationen finden Sie in der nächsten Tabelle.
eventType String Registrierter Ereignistyp dieses Systemthematyps
dataVersion String Die Schemaversion des Datenobjekts
metadataVersion String Die Schemaversion der Ereignismetadaten
eventTime String
Format: 2022-11-07T18:43:09.2894075Z
Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeitangabe des Anbieters.

Ein Ereignis im Cloudereignisschemaformat weist die folgenden Eigenschaften auf oberster Ebene auf:

Eigenschaft Typ Beschreibung
id String Eindeutiger Bezeichner der Veranstaltung
source String Das Azure-Abonnement, für das dieses Systemthema erstellt wird.
subject String Publisher hat den Pfad zur Basisressource definiert, für die dieses Ereignis ausgegeben wird.
type String Registrierter Ereignistyp dieses Systemthematyps
time String
Format: 2022-11-07T18:43:09.2894075Z
Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeitangabe des Anbieters.
data Object Enthält die für den Ressourcenanbieter spezifischen Ereignisdaten. Weitere Informationen finden Sie in der nächsten Tabelle.
specversion String Version der CloudEvents-Schemaspezifikation.

Das data-Objekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
resourceInfo Object Daten, die für die Ressource spezifisch sind. Weitere Informationen finden Sie in der nächsten Tabelle.
apiVersion String Die API-Version der Ressourceneigenschaften.
operationalInfo Object Details der betriebstechnischen Informationen zur Ressource.

Das resourceInfo-Objekt verfügt über die folgenden allgemeinen Eigenschaften für die Ereignisse CreatedOrUpdated und Deleted:

Eigenschaft Typ Beschreibung
id String Vom Herausgeber definierter Pfad zum Ereignisbetreff
name String Dieses Feld gibt die Ereignis-ID an. Es verwendet immer den Wert des letzten Abschnitts des id Felds.
type String Der Ereignistyp, der ausgegeben wird. In diesem Zusammenhang ist es entweder Microsoft.ResourceNotifications.Resources.CreatedOrUpdated oder Microsoft.ResourceNotifications.Resources.Deleted.

Das resourceInfo-Objekt für das CreatedOrUpdated-Ereignis verfügt über die folgenden zusätzlichen Eigenschaften:

Eigenschaft Typ Beschreibung
location String Der Standort oder die Region der Ressource.
tags String Tags für die Ressource.
properties Object Payload der Ressource.

Nur das CreatedOrUpdated-Ereignis enthält das properties-Objekt. Das Schema dieses properties-Objekts ist für jeden Herausgeber eindeutig. Informationen zum Ermitteln des Schemas finden Sie in der REST-API-Dokumentation für die jeweilige Azure-Ressource. Ein Beispiel finden Sie im Abschnitt Beispielereignisse in diesem Artikel.

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

Das operationalInfo-Objekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ BESCHREIBUNG
resourceEventTime DateTime Datum und Uhrzeit, zu dem die Ressource erstellt oder aktualisiert (für das CreatedOrUpdated-Ereignis) oder gelöscht wurde (für das Deleted-Ereignis).

Beispielereignisse

CreatedOrUpdated-Ereignis

Dieser Abschnitt zeigt das CreatedOrUpdated-Ereignis, das generiert wird, wenn ein Azure Storage-Konto in dem Azure-Abonnement erstellt wird, in dem das Systemthema erstellt wurde.

{
  "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"
}

Deleted-Ereignis

Dieser Abschnitt zeigt das Deleted-Ereignis, das generiert wird, wenn ein Azure Storage-Konto in dem Azure-Abonnement gelöscht wird, in dem das Systemthema erstellt wurde.

{
  "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"
}

Kontakt

Wenn Sie Fragen oder Feedback zu diesem Feature haben, zögern Sie nicht, uns unter arnsupport@microsoft.com zu kontaktieren.

Um Ihnen besser mit spezifischem Feedback zu einem bestimmten Ereignis zu helfen, geben Sie die folgenden Informationen an:

Für fehlende Ereignisse:

  • Name des Systemthematyps
  • Ungefährer Zeitstempel in UTC, zu dem der Vorgang ausgeführt wurde
  • Basisressourcen-ID, für die die Benachrichtigung generiert wurde
  • Navigieren Sie im Azure-Portal zu Ihrer Ressource, und wählen Sie die JSON-Ansicht ganz rechts aus. Die Ressourcen-ID ist das erste Feld auf der JSON-Ansichtsseite.
  • Erwarteter Ereignistyp
  • Vorgang ausgeführt (z. B. VM gestartet oder beendet, Speicherkonto erstellt usw.)
  • Beschreibung des aufgetretenen Problems (z. B. VM gestartet und kein Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged-Ereignis generiert)
  • Geben Sie nach Möglichkeit die Korrelations-ID des ausgeführten Vorgangs an.

Für ein Ereignis, das verzögert wurde oder unerwartete Inhalte aufweist

  • Name des Systemthematyps
  • Vollständiger Inhalt der Benachrichtigung ohne data.resourceInfo.properties
  • Beschreibung des aufgetretenen Problems und die betroffenen Feldwerte

Stellen Sie sicher, dass Sie keine personenbezogenen Informationen zu den Endbenutzer*innen einschließen, wenn Sie diese Daten freigeben.

Nächste Schritte

Weitere Informationen finden Sie unter Abonnieren von Azure-Ressourcenbenachrichtigungen: Ressourcenverwaltungsereignisse.