Skupina prostředků Azure jako zdroj Event Gridu

Tento článek obsahuje vlastnosti a schéma událostí skupiny prostředků. Úvod do schémat událostí najdete ve schématu událostí služby Azure Event Grid.

Předplatná Azure a skupiny prostředků generují stejné typy událostí. Typy událostí souvisejí se změnami nebo akcemi prostředků. Hlavním rozdílem je, že skupiny prostředků generují události pro prostředky v rámci skupiny prostředků a předplatná Azure generují události pro prostředky v rámci předplatného.

Události prostředků se vytvářejí pro operace PUT, PATCH, POST a DELETE, které se odesílají do management.azure.com. Operace GET nevytvoří události. Operace odeslané do roviny dat (například myaccount.blob.core.windows.net) nevytvoří události. Události akce poskytují data událostí pro operace, jako je výpis klíčů pro prostředek.

Když se přihlásíte k odběru událostí pro skupinu prostředků, váš koncový bod obdrží všechny události pro tuto skupinu prostředků. Události můžou zahrnovat událost, kterou chcete zobrazit, například aktualizaci virtuálního počítače, ale také události, které pro vás nejsou důležité, například zápis nové položky v historii nasazení. V koncovém bodu můžete přijímat všechny události a psát kód, který zpracovává události, které chcete zpracovat. Nebo můžete nastavit filtr při vytváření odběru událostí.

Pokud chcete události zpracovávat prostřednictvím kódu programu, můžete události seřadit tak, že se podíváte na operationName hodnotu. Koncový bod události může například zpracovávat pouze události pro operace, které jsou rovny Microsoft.Compute/virtualMachines/write nebo Microsoft.Storage/storageAccounts/write.

Předmět události je ID prostředku prostředku, který je cílem operace. Pokud chcete filtrovat události pro prostředek, zadejte toto ID prostředku při vytváření odběru událostí. Pokud chcete filtrovat podle typu prostředku, použijte hodnotu v následujícím formátu: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

Dostupné typy událostí

Skupiny prostředků generují události správy z Azure Resource Manageru, například při vytvoření virtuálního počítače nebo odstranění účtu úložiště.

Typ události Popis
Microsoft.Resources.ResourceActionCancel Vyvolá se při zrušení akce u prostředku.
Microsoft.Resources.ResourceActionFailure Vyvolá se při selhání akce u prostředku.
Microsoft.Resources.ResourceActionSuccess Vyvolá se, když akce s prostředkem proběhne úspěšně.
Microsoft.Resources.ResourceDeleteCancel Vyvolá se při zrušení operace odstranění. K této události dochází při zrušení nasazení šablony.
Microsoft.Resources.ResourceDeleteFailure Vyvolá se při selhání operace odstranění.
Microsoft.Resources.ResourceDeleteSuccess Vyvolá se, když operace odstranění proběhne úspěšně.
Microsoft.Resources.ResourceWriteCancel Vyvolá se při zrušení operace vytvoření nebo aktualizace.
Microsoft.Resources.ResourceWriteFailure Vyvolá se při selhání operace vytvoření nebo aktualizace.
Microsoft.Resources.ResourceWriteSuccess Vyvolá se při úspěšném vytvoření nebo aktualizaci operace.

Příklad události

Následující příklad ukazuje schéma pro událost ResourceWriteSuccess . Stejné schéma se používá pro ResourceWriteFailure a ResourceWriteCancel události s různými hodnotami pro eventType.

[{
  "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
  "type": "Microsoft.Resources.ResourceWriteSuccess",
  "time": "2018-07-19T18:38:04.6117357Z",
  "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
      "action": "Microsoft.Storage/storageAccounts/write",
      "evidence": {
        "role": "Subscription Admin"
      }
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "_claim_names": "{\"groups\":\"src1\"}",
      "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
      "http://schemas.microsoft.com/claims/authnclassreference": "1",
      "aio": "{token}",
      "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
      "e_exp": "{expiration}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
      "ipaddr": "{IP-address}",
      "name": "{full-name}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "onprem_sid": "{ID}",
      "puid": "{ID}",
      "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
      "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "resourceProvider": "Microsoft.Storage",
    "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
    "operationName": "Microsoft.Storage/storageAccounts/write",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },

  "specversion": "1.0"
}]

Následující příklad ukazuje schéma pro ResourceDeleteSuccess událost. Stejné schéma se používá pro Události ResourceDeleteFailure a ResourceDeleteCancel s různými hodnotami pro eventType.

[{
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
  "type": "Microsoft.Resources.ResourceDeleteSuccess",
  "time": "2018-07-19T19:24:12.763881Z",
  "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
      "action": "Microsoft.Storage/storageAccounts/delete",
      "evidence": {
        "role": "Subscription Admin"
      }
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "_claim_names": "{\"groups\":\"src1\"}",
      "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
      "http://schemas.microsoft.com/claims/authnclassreference": "1",
      "aio": "{token}",
      "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
      "e_exp": "262800",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
      "ipaddr": "{IP-address}",
      "name": "{full-name}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "onprem_sid": "{ID}",
      "puid": "{ID}",
      "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
      "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "httpRequest": {
      "clientRequestId": "{ID}",
      "clientIpAddress": "{IP-address}",
      "method": "DELETE",
      "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
    },
    "resourceProvider": "Microsoft.Storage",
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
    "operationName": "Microsoft.Storage/storageAccounts/delete",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },
  "specversion": "1.0"
}]

Následující příklad ukazuje schéma pro událost ResourceActionSuccess . Stejné schéma se používá pro Události ResourceActionFailure a ResourceActionCancel s různými hodnotami pro eventType.

[{   
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
  "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}",
  "type": "Microsoft.Resources.ResourceActionSuccess",
  "time": "2018-10-08T22:46:22.6022559Z",
  "id": "{ID}",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
      "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
      "evidence": {
        "role": "Contributor",
        "roleAssignmentScope": "/subscriptions/{subscription-id}",
        "roleAssignmentId": "{ID}",
        "roleDefinitionId": "{ID}",
        "principalId": "{ID}",
        "principalType": "ServicePrincipal"
      }     
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "aio": "{token}",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",       "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "httpRequest": {
      "clientRequestId": "{ID}",
      "clientIpAddress": "{IP-address}",
      "method": "POST",
      "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
    },
    "resourceProvider": "Microsoft.EventHub",
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
    "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },
  "specversion": "1.0"
}]

Vlastnosti události

Událost má následující data nejvyšší úrovně:

Vlastnost Type Description
source string Úplná cesta prostředku ke zdroji událostí. Toto pole není zapisovatelné. Tuto hodnotu poskytuje Event Grid.
subject string Cesta k předmětu události, kterou definuje vydavatel.
type string Jeden z registrovaných typů události pro tento zdroj události.
time string Čas vygenerování události na základě času UTC poskytovatele.
id string Jedinečný identifikátor události.
data objekt Data událostí skupiny prostředků
specversion string Verze specifikace schématu CloudEvents

Datový objekt má následující vlastnosti:

Vlastnost Type Popis
authorization objekt Požadovaná autorizace operace.
claims objekt Vlastnosti deklarací identity. Další informace najdete ve specifikaci JWT.
correlationId string ID operace pro řešení potíží.
httpRequest objekt Podrobnosti o operaci. Tento objekt je zahrnutý pouze při aktualizaci existujícího prostředku nebo odstranění prostředku.
resourceProvider string Poskytovatel prostředků pro operaci.
resourceUri string Identifikátor URI prostředku v operaci.
operationName string Operace, která byla přijata.
status string Stav operace.
subscriptionId string ID předplatného prostředku.
tenantId string ID tenanta prostředku.

Kurzy a postupy

Titulek Popis
Kurz: Monitorování změn virtuálních počítačů pomocí Azure Event Gridu a Logic Apps Aplikace logiky monitoruje změny virtuálního počítače a odesílá e-maily o těchto změnách.
Azure CLI: Přihlášení k odběru událostí pro skupinu prostředků Ukázkový skript, který se přihlásí k odběru událostí pro skupinu prostředků Odesílá události do webhooku.
Azure CLI: Přihlášení k odběru událostí pro skupinu prostředků a filtrování prostředku Ukázkový skript, který se přihlásí k odběru událostí pro skupinu prostředků a filtruje události pro jeden prostředek.
PowerShell: Přihlášení k odběru událostí pro skupinu prostředků Ukázkový skript, který se přihlásí k odběru událostí pro skupinu prostředků Odesílá události do webhooku.
PowerShell: Přihlášení k odběru událostí pro skupinu prostředků a filtrování prostředku Ukázkový skript, který se přihlásí k odběru událostí pro skupinu prostředků a filtruje události pro jeden prostředek.
Šablona Resource Manageru: Předplatné prostředků Přihlásí se k odběru událostí pro předplatné Nebo skupinu prostředků Azure. Odesílá události do webhooku.

Další kroky

  • Úvod do Azure Event Gridu najdete v tématu Co je Event Grid?
  • Další informace o vytvoření odběru služby Azure Event Grid najdete ve schématu odběru služby Event Grid.