Grupa zasobów platformy Azure jako źródło usługi Event Grid
Ten artykuł zawiera właściwości i schemat zdarzeń grupy zasobów. Aby zapoznać się ze schematami zdarzeń, zobacz Schemat zdarzeń usługi Azure Event Grid.
Subskrypcje i grupy zasobów platformy Azure emitują te same typy zdarzeń. Typy zdarzeń są powiązane ze zmianami lub akcjami zasobów. Podstawową różnicą jest to, że grupy zasobów emitują zdarzenia dla zasobów w grupie zasobów, a subskrypcje platformy Azure emitują zdarzenia dla zasobów w ramach subskrypcji.
Zdarzenia zasobów są tworzone dla operacji PUT, PATCH, POST i DELETE wysyłanych do programu management.azure.com
. Operacje GET nie tworzą zdarzeń. Operacje wysyłane do płaszczyzny danych (na przykład myaccount.blob.core.windows.net
) nie tworzą zdarzeń. Zdarzenia akcji udostępniają dane zdarzenia dla operacji, takich jak wyświetlanie listy kluczy dla zasobu.
Po zasubskrybowaniu zdarzeń dla grupy zasobów punkt końcowy odbiera wszystkie zdarzenia dla tej grupy zasobów. Zdarzenia mogą obejmować zdarzenia, które chcesz zobaczyć, takie jak aktualizowanie maszyny wirtualnej, ale także zdarzenia, które nie są dla Ciebie ważne, takie jak pisanie nowego wpisu w historii wdrażania. Wszystkie zdarzenia można odbierać w punkcie końcowym i pisać kod, który przetwarza zdarzenia, które chcesz obsłużyć. Możesz też ustawić filtr podczas tworzenia subskrypcji zdarzeń.
Aby programowo obsługiwać zdarzenia, można sortować zdarzenia, przeglądając operationName
wartość. Na przykład punkt końcowy zdarzenia może przetwarzać tylko zdarzenia dla operacji, które są równe Microsoft.Compute/virtualMachines/write
lub Microsoft.Storage/storageAccounts/write
.
Temat zdarzenia jest identyfikatorem zasobu, który jest celem operacji. Aby filtrować zdarzenia dla zasobu, podaj ten identyfikator zasobu podczas tworzenia subskrypcji zdarzeń. Aby filtrować według typu zasobu, użyj wartości w następującym formacie: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines
Dostępne typy zdarzeń
Grupy zasobów emitują zdarzenia zarządzania z usługi Azure Resource Manager, takie jak po utworzeniu maszyny wirtualnej lub usunięciu konta magazynu.
Typ zdarzenia | opis |
---|---|
Microsoft.Resources.ResourceActionCancel | Zgłoszone po anulowaniu akcji dotyczącej zasobu. |
Microsoft.Resources.ResourceActionFailure | Zgłoszone, gdy akcja zasobu kończy się niepowodzeniem. |
Microsoft.Resources.ResourceActionSuccess | Zgłoszone, gdy akcja zasobu zakończy się powodzeniem. |
Microsoft.Resources.ResourceDeleteCancel | Wywoływane po anulowaniu operacji usuwania. To zdarzenie ma miejsce, gdy wdrożenie szablonu zostanie anulowane. |
Microsoft.Resources.ResourceDeleteFailure | Zgłaszane, gdy operacja usuwania kończy się niepowodzeniem. |
Microsoft.Resources.ResourceDeleteSuccess | Zgłoszone po pomyślnym zakończeniu operacji usuwania. |
Microsoft.Resources.ResourceWriteCancel | Zgłoszone podczas anulowania operacji tworzenia lub aktualizacji. |
Microsoft.Resources.ResourceWriteFailure | Zgłaszane, gdy operacja tworzenia lub aktualizacji kończy się niepowodzeniem. |
Microsoft.Resources.ResourceWriteSuccess | Wywoływane po pomyślnym utworzeniu lub aktualizacji operacji. |
Przykładowe zdarzenie
Poniższy przykład przedstawia schemat zdarzenia ResourceWriteSuccess . Ten sam schemat jest używany dla zdarzeń ResourceWriteFailure i ResourceWriteCancel z różnymi wartościami dla elementu 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"
}]
Poniższy przykład przedstawia schemat zdarzenia ResourceDeleteSuccess . Ten sam schemat jest używany dla zdarzeń ResourceDeleteFailure i ResourceDeleteCancel z różnymi wartościami dla elementu 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"
}]
Poniższy przykład przedstawia schemat zdarzenia ResourceActionSuccess . Ten sam schemat jest używany dla zdarzeń ResourceActionFailure i ResourceActionCancel z różnymi wartościami dla elementu 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"
}]
Właściwości zdarzenia
Zdarzenie ma następujące dane najwyższego poziomu:
Właściwość | Type | opis |
---|---|---|
source |
string | Pełna ścieżka zasobu do źródła zdarzeń. To pole nie jest możliwe do zapisu. Ta wartość jest podawana przez usługę Event Grid. |
subject |
string | Zdefiniowana przez wydawcę ścieżka do tematu zdarzenia. |
type |
string | Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń. |
time |
string | Czas generowania zdarzenia na podstawie czasu UTC dostawcy. |
id |
string | Unikatowy identyfikator zdarzenia. |
data |
obiekt | Dane zdarzeń grupy zasobów. |
specversion |
string | Wersja specyfikacji schematu CloudEvents. |
Obiekt danych ma następujące właściwości:
Właściwość | Type | Opis |
---|---|---|
authorization |
obiekt | Żądana autoryzacja dla operacji. |
claims |
obiekt | Właściwości oświadczeń. Aby uzyskać więcej informacji, zobacz specyfikacja JWT. |
correlationId |
string | Identyfikator operacji na potrzeby rozwiązywania problemów. |
httpRequest |
obiekt | Szczegóły operacji. Ten obiekt jest dołączany tylko podczas aktualizowania istniejącego zasobu lub usuwania zasobu. |
resourceProvider |
string | Dostawca zasobów dla operacji. |
resourceUri |
string | Identyfikator URI zasobu w operacji. |
operationName |
string | Operacja, która została podjęta. |
status |
string | Stan operacji. |
subscriptionId |
string | Identyfikator subskrypcji zasobu. |
tenantId |
string | Identyfikator dzierżawy zasobu. |
Samouczki i poradniki
Nazwa | opis |
---|---|
Samouczek: monitorowanie zmian maszyn wirtualnych za pomocą usług Azure Event Grid i Logic Apps | Aplikacja logiki monitoruje zmiany na maszynie wirtualnej i wysyła wiadomości e-mail o tych zmianach. |
Interfejs wiersza polecenia platformy Azure: subskrybowanie zdarzeń dla grupy zasobów | Przykładowy skrypt, który subskrybuje zdarzenia dla grupy zasobów. Wysyła zdarzenia do elementu WebHook. |
Interfejs wiersza polecenia platformy Azure: subskrybowanie zdarzeń dla grupy zasobów i filtrowanie zasobu | Przykładowy skrypt, który subskrybuje zdarzenia dla grupy zasobów i filtruje zdarzenia dla jednego zasobu. |
PowerShell: subskrybowanie zdarzeń dla grupy zasobów | Przykładowy skrypt, który subskrybuje zdarzenia dla grupy zasobów. Wysyła zdarzenia do elementu WebHook. |
PowerShell: subskrybowanie zdarzeń dla grupy zasobów i filtrowanie zasobu | Przykładowy skrypt, który subskrybuje zdarzenia dla grupy zasobów i filtruje zdarzenia dla jednego zasobu. |
Szablon usługi Resource Manager: subskrypcja zasobów | Subskrybuje zdarzenia dla subskrypcji platformy Azure lub grupy zasobów. Wysyła zdarzenia do elementu WebHook. |
Następne kroki
- Aby zapoznać się z wprowadzeniem do usługi Azure Event Grid, zobacz Co to jest usługa Event Grid?
- Aby uzyskać więcej informacji na temat tworzenia subskrypcji usługi Azure Event Grid, zobacz Schemat subskrypcji usługi Event Grid.