Subskrypcja platformy Azure jako źródło usługi Event Grid
Ten artykuł zawiera właściwości i schemat zdarzeń subskrypcji platformy Azure. 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 subskrypcji platformy Azure punkt końcowy otrzymuje wszystkie zdarzenia dla tej subskrypcji. 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ń
Subskrypcje platformy Azure 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}",
"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"
}]
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}",
"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}",
"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ń subskrypcji. |
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: usługa Azure Automation z usługą Event Grid i usługą Microsoft Teams | Utwórz maszynę wirtualną, która wysyła zdarzenie. Zdarzenie wyzwala element Runbook usługi Automation, który taguje maszynę wirtualną, i wyzwala komunikat wysyłany do kanału usługi Microsoft Teams. |
Instrukcje: subskrybowanie zdarzeń za pośrednictwem portalu | Użyj portalu, aby subskrybować zdarzenia dla subskrypcji platformy Azure. |
Interfejs wiersza polecenia platformy Azure: subskrybowanie zdarzeń dla subskrypcji platformy Azure | Przykładowy skrypt, który tworzy subskrypcję usługi Event Grid w subskrypcji platformy Azure i wysyła zdarzenia do elementu WebHook. |
PowerShell: subskrybowanie zdarzeń dla subskrypcji platformy Azure | Przykładowy skrypt, który tworzy subskrypcję usługi Event Grid w subskrypcji platformy Azure i 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.