Azure 資源群組作為事件方格來源
本文提供資源群組事件的屬性與結構描述。 如需事件結構描述的簡介,請參閱 Azure Event Grid 事件結構描述。
Azure 訂用帳戶和資源群組會發出相同的事件類型。 事件類型與資源變更或動作有關。 主要的差異在於資源群組所發出的事件是針對資源群組內的資源,而 Azure 訂用帳戶發出的事件是針對整個訂用帳戶上的資源。
系統會針對傳送至 management.azure.com
的 PUT、PATCH、POST 和 DELETE 作業建立資源事件。 GET 作業不會建立事件。 傳送至資料平面作的業 (例如 myaccount.blob.core.windows.net
) 不會建立事件。 動作事件會為作業 (例如,列出資源的金鑰) 提供事件資料。
當您訂閱資源群組的事件時,您的端點會接收該資源群組的所有事件。 事件可以包含您想要查看的事件 (例如更新虛擬機器),也可以包含對您不重要的事件 (例如在部署歷程記錄中寫入新的項目)。 您可以在端點接收所有事件,以及撰寫程式碼來處理您想要處理的事件。 或者,也可以在建立事件訂用帳戶時設定篩選條件。
若要以程式設計方式處理事件,您可藉由查看 operationName
值來排序事件。 例如,您的事件端點可能只會處理等於 Microsoft.Compute/virtualMachines/write
或 Microsoft.Storage/storageAccounts/write
的作業事件。
事件主旨是資源的資源識別碼,而該資源為作業目標。 若要篩選資源的事件,請在建立事件訂用帳戶時提供該資源識別碼。 若要依資源類型進行篩選,請使用以下格式的值:/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines
可用的事件類型
資源群組從 Azure Resource Manager 發出管理事件,像是在虛擬機器建立時或儲存體帳戶刪除時皆可使用此功能。
事件類型 | 描述 |
---|---|
Microsoft.Resources.ResourceActionCancel | 取消資源動作時引發。 |
Microsoft.Resources.ResourceActionFailure | 資源動作失敗時引發。 |
Microsoft.Resources.ResourceActionSuccess | 資源動作成功時引發。 |
Microsoft.Resources.ResourceDeleteCancel | 刪除作業取消時引發。 取消範本部署時,就會發生此事件。 |
Microsoft.Resources.ResourceDeleteFailure | 刪除作業失敗時引發。 |
Microsoft.Resources.ResourceDeleteSuccess | 刪除作業成功時引發。 |
Microsoft.Resources.ResourceWriteCancel | 建立或更新作業取消時引發。 |
Microsoft.Resources.ResourceWriteFailure | 建立或更新作業失敗時引發。 |
Microsoft.Resources.ResourceWriteSuccess | 建立或更新作業成功時引發。 |
事件範例
下列範例顯示 ResourceWriteSuccess 事件的結構描述。 具有不同 eventType
值的 ResourceWriteFailure 和 ResourceWriteCancel 事件使用相同的結構描述。
[{
"subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"eventType": "Microsoft.Resources.ResourceWriteSuccess",
"eventTime": "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}"
},
"dataVersion": "2",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
}]
下列範例顯示 ResourceDeleteSuccess 事件的結構描述。 具有不同 eventType
值的 ResourceDeleteFailure 和 ResourceDeleteCancel 事件使用相同的結構描述。
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
"eventType": "Microsoft.Resources.ResourceDeleteSuccess",
"eventTime": "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}"
},
"dataVersion": "2",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
}]
下列範例顯示 ResourceActionSuccess 事件的結構描述。 具有不同 eventType
值的 ResourceActionFailure 和 ResourceActionCancel 事件使用相同的結構描述。
[{
"subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
"eventType": "Microsoft.Resources.ResourceActionSuccess",
"eventTime": "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}"
},
"dataVersion": "2",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
}]
事件屬性
事件具有下列的最高層級資料:
屬性 | 類型 | 描述 |
---|---|---|
topic |
string | 事件來源的完整資源路徑。 此欄位無法寫入。 事件方格提供此值。 |
subject |
string | 發行者定義事件主旨的路徑。 |
eventType |
string | 此事件來源已註冊的事件類型之一。 |
eventTime |
string | 事件產生的時間,以提供者的 UTC 時間為準。 |
id |
string | 事件的唯一識別碼。 |
data |
object | 資源群組事件資料。 |
dataVersion |
string | 資料物件的結構描述版本。 發行者會定義結構描述版本。 |
metadataVersion |
string | 事件中繼資料的結構描述版本。 「事件方格」會定義最上層屬性的結構描述。 事件方格提供此值。 |
資料物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
authorization |
object | 作業的所要求授權。 |
claims |
object | 宣告的屬性。 如需詳細資訊,請參閱 JWT 規格。 |
correlationId |
string | 用於疑難排解的作業識別碼。 |
httpRequest |
object | 作業的詳細資料。 更新現有資源或刪除資源時,只會包含這個物件。 |
resourceProvider |
string | 作業的資源提供者。 |
resourceUri |
string | 作業中資源的 URI。 |
operationName |
string | 已採取的作業。 |
status |
string | 作業的狀態。 |
subscriptionId |
string | 資源的訂用帳戶識別碼。 |
tenantId |
string | 資源的租用戶識別碼。 |
教學課程和操作說明
標題 | 描述 |
---|---|
教學課程:使用 Azure 事件方格和 Logic Apps 監視虛擬機器變更 | 邏輯應用程式會監視虛擬機器的變更,並傳送有關這些變更的電子郵件。 |
Azure CLI:訂閱資源群組的事件 | 訂閱資源群組事件的範例指令碼。 它會將事件傳送到 WebHook。 |
Azure CLI:訂閱資源群組的事件和篩選資源 | 訂閱資源群組事件以及為資源篩選事件的範例指令碼。 |
PowerShell:訂閱資源群組的事件 | 訂閱資源群組事件的範例指令碼。 它會將事件傳送到 WebHook。 |
PowerShell:訂閱資源群組的事件和篩選資源 | 訂閱資源群組事件以及為資源篩選事件的範例指令碼。 |
Resource Manager 範本:資源訂用帳戶 | 訂閱 Azure 訂用帳戶或資源群組的事件。 它會將事件傳送到 WebHook。 |
下一步
- 如需 Azure Event Grid 的簡介,請參閱什麼是 Event Grid?
- 若要了解 Event Grid 訂用帳戶的建立,請參閱 Event Grid 訂用帳戶結構描述。