Azure 資源群組作為事件方格來源

本文提供資源群組事件的屬性與結構描述。 如需事件結構描述的簡介,請參閱 Azure Event Grid 事件結構描述

Azure 訂用帳戶和資源群組會發出相同的事件類型。 事件類型與資源變更或動作有關。 主要的差異在於資源群組所發出的事件是針對資源群組內的資源,而 Azure 訂用帳戶發出的事件是針對整個訂用帳戶上的資源。

系統會針對傳送至 management.azure.com 的 PUT、PATCH、POST 和 DELETE 作業建立資源事件。 GET 作業不會建立事件。 傳送至資料平面作的業 (例如 myaccount.blob.core.windows.net) 不會建立事件。 動作事件會為作業 (例如,列出資源的金鑰) 提供事件資料。

當您訂閱資源群組的事件時,您的端點會接收該資源群組的所有事件。 事件可以包含您想要查看的事件 (例如更新虛擬機器),也可以包含對您不重要的事件 (例如在部署歷程記錄中寫入新的項目)。 您可以在端點接收所有事件,以及撰寫程式碼來處理您想要處理的事件。 或者,也可以在建立事件訂用帳戶時設定篩選條件。

若要以程式設計方式處理事件,您可藉由查看 operationName 值來排序事件。 例如,您的事件端點可能只會處理等於 Microsoft.Compute/virtualMachines/writeMicrosoft.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 值的 ResourceWriteFailureResourceWriteCancel 事件使用相同的結構描述。

[{
  "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 值的 ResourceDeleteFailureResourceDeleteCancel 事件使用相同的結構描述。

[{
  "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 值的 ResourceActionFailureResourceActionCancel 事件使用相同的結構描述。

[{   
  "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。

下一步