Azure-prenumeration som Event Grid-källa
Den här artikeln innehåller egenskaper och schema för Azure-prenumerationshändelser. En introduktion till händelsescheman finns i Händelseschema för Azure Event Grid.
Azure-prenumerationer och resursgrupper genererar samma händelsetyper. Händelsetyperna är relaterade till resursändringar eller åtgärder. Den primära skillnaden är att resursgrupper genererar händelser för resurser i resursgruppen, och Azure-prenumerationer genererar händelser för resurser i hela prenumerationen.
Resurshändelser skapas för PUT-, PATCH-, POST- och DELETE-åtgärder som skickas till management.azure.com
. GET-åtgärder skapar inte händelser. Åtgärder som skickas till dataplanet (t.ex myaccount.blob.core.windows.net
. ) skapar inte händelser. Åtgärdshändelserna tillhandahåller händelsedata för åtgärder som att visa nycklar för en resurs.
När du prenumererar på händelser för en Azure-prenumeration tar slutpunkten emot alla händelser för den prenumerationen. Händelserna kan omfatta händelser som du vill se, till exempel uppdatering av en virtuell dator, men även händelser som inte är viktiga för dig, till exempel att skriva en ny post i distributionshistoriken. Du kan ta emot alla händelser på slutpunkten och skriva kod som bearbetar de händelser som du vill hantera. Du kan också ange ett filter när du skapar händelseprenumerationen.
Om du vill hantera händelser programmatiskt kan du sortera händelser genom att titta på operationName
värdet. Händelseslutpunkten kanske till exempel bara bearbetar händelser för åtgärder som är lika med Microsoft.Compute/virtualMachines/write
eller Microsoft.Storage/storageAccounts/write
.
Händelseämnet är resurs-ID för resursen som är målet för åtgärden. Om du vill filtrera händelser för en resurs anger du det resurs-ID:t när du skapar händelseprenumerationen. Om du vill filtrera efter en resurstyp använder du ett värde i följande format: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines
Tillgängliga händelsetyper
Azure-prenumerationer genererar hanteringshändelser från Azure Resource Manager, till exempel när en virtuell dator skapas eller ett lagringskonto tas bort.
Händelsetyp | beskrivning |
---|---|
Microsoft.Resources.ResourceActionCancel | Utlöses när åtgärden på resursen avbryts. |
Microsoft.Resources.ResourceActionFailure | Utlöses när åtgärden för resursen misslyckas. |
Microsoft.Resources.ResourceActionSuccess | Utlöses när åtgärden för resursen lyckas. |
Microsoft.Resources.ResourceDeleteCancel | Utlöses när borttagningen avbryts. Den här händelsen inträffar när en malldistribution avbryts. |
Microsoft.Resources.ResourceDeleteFailure | Utlöses när borttagningen misslyckas. |
Microsoft.Resources.ResourceDeleteSuccess | Utlöses när borttagningen lyckas. |
Microsoft.Resources.ResourceWriteCancel | Utlöses när åtgärden för att skapa eller uppdatera avbryts. |
Microsoft.Resources.ResourceWriteFailure | Utlöses när det inte går att skapa eller uppdatera. |
Microsoft.Resources.ResourceWriteSuccess | Utlöses när åtgärden för att skapa eller uppdatera lyckas. |
Exempelhändelse
I följande exempel visas schemat för en ResourceWriteSuccess-händelse . Samma schema används för ResourceWriteFailure- och ResourceWriteCancel-händelser med olika värden för eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"topic": "/subscriptions/{subscription-id}",
"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"
}]
I följande exempel visas schemat för en ResourceDeleteSuccess-händelse . Samma schema används för ResourceDeleteFailure- och ResourceDeleteCancel-händelser med olika värden för eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"source": "/subscriptions/{subscription-id}",
"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"
}]
I följande exempel visas schemat för en ResourceActionSuccess-händelse . Samma schema används för ResourceActionFailure- och ResourceActionCancel-händelser med olika värden för eventType
.
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
"source": "/subscriptions/{subscription-id}",
"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"
}]
Händelseegenskaper
En händelse har följande data på den översta nivån:
Property | Type | Description |
---|---|---|
source |
sträng | Fullständig resurssökväg till händelsekällan. Det här fältet kan inte skrivas. Event Grid ger det här värdet. |
subject |
sträng | Utgivardefinierad sökväg till händelseobjektet. |
type |
sträng | En av de registrerade händelsetyperna för den här händelsekällan. |
time |
sträng | Den tid då händelsen genereras baserat på leverantörens UTC-tid. |
id |
sträng | Unik identifierare för händelsen. |
data |
objekt | Händelsedata för prenumeration. |
specversion |
sträng | CloudEvents schemaspecifikationsversion. |
Dataobjektet har följande egenskaper:
Property | Type | Beskrivning |
---|---|---|
authorization |
objekt | Den begärda auktoriseringen för åtgärden. |
claims |
objekt | Egenskaperna för anspråken. Mer information finns i JWT-specifikation. |
correlationId |
sträng | Ett åtgärds-ID för felsökning. |
httpRequest |
objekt | Information om åtgärden. Det här objektet ingår bara när du uppdaterar en befintlig resurs eller tar bort en resurs. |
resourceProvider |
sträng | Resursprovidern för åtgärden. |
resourceUri |
sträng | URI:n för resursen i åtgärden. |
operationName |
sträng | Åtgärden som utfördes. |
status |
sträng | Status för åtgärden. |
subscriptionId |
sträng | Resursens prenumerations-ID. |
tenantId |
sträng | Resursens klientorganisations-ID. |
Självstudier och instruktioner
Title | Description |
---|---|
Självstudie: Azure Automation med Event Grid och Microsoft Teams | Skapa en virtuell dator som skickar en händelse. Händelsen utlöser en Automation-runbook som taggar den virtuella datorn och utlöser ett meddelande som skickas till en Microsoft Teams-kanal. |
Så här: prenumerera på händelser via portalen | Använd portalen för att prenumerera på händelser för en Azure-prenumeration. |
Azure CLI: prenumerera på händelser för en Azure-prenumeration | Exempelskript som skapar en Event Grid-prenumeration till en Azure-prenumeration och skickar händelser till en WebHook. |
PowerShell: prenumerera på händelser för en Azure-prenumeration | Exempelskript som skapar en Event Grid-prenumeration till en Azure-prenumeration och skickar händelser till en WebHook. |
Nästa steg
- En introduktion till Azure Event Grid finns i Vad är Event Grid?.
- Mer information om hur du skapar en Azure Event Grid-prenumeration finns i Event Grid-prenumerationsschema.