Event Grid kaynağı olarak Azure aboneliği

Bu makalede Azure aboneliği olaylarının özellikleri ve şeması sağlanır. Olay şemalarına giriş için bkz . Azure Event Grid olay şeması.

Azure abonelikleri ve kaynak grupları aynı olay türlerini gösterir. Olay türleri kaynak değişiklikleri veya eylemlerle ilgilidir. Birincil fark, kaynak gruplarının kaynak grubu içindeki kaynaklar için olayları, Azure aboneliklerinin ise abonelik genelindeki kaynaklar için olayları yaymalarıdır.

Kaynak olayları, adresine management.azure.comgönderilen PUT, PATCH, POST ve DELETE işlemleri için oluşturulur. GET işlemleri olay oluşturmaz. Veri düzlemine gönderilen işlemler (örneğin myaccount.blob.core.windows.net) olay oluşturmaz. Eylem olayları, bir kaynağın anahtarlarını listeleme gibi işlemler için olay verileri sağlar.

Bir Azure aboneliği için olaylara abone olduğunuzda, uç noktanız bu abonelik için tüm olayları alır. Olaylar, bir sanal makineyi güncelleştirme gibi görmek istediğiniz olayı, dağıtım geçmişine yeni bir giriş yazma gibi sizin için önemli olmayan olayları da içerebilir. Uç noktanızdaki tüm olayları alabilir ve işlemek istediğiniz olayları işleyen kod yazabilirsiniz. Veya olay aboneliğini oluştururken bir filtre ayarlayabilirsiniz.

Olayları program aracılığıyla işlemek için, değerlerine bakarak operationName olayları sıralayabilirsiniz. Örneğin, olay uç noktanız yalnızca veya Microsoft.Storage/storageAccounts/writedeğerine eşit Microsoft.Compute/virtualMachines/write işlemler için olayları işleyebilecek.

Olay konusu, işlemin hedefi olan kaynağın kaynak kimliğidir. Bir kaynağın olaylarını filtrelemek için olay aboneliğini oluştururken bu kaynak kimliğini belirtin. Bir kaynak türüne göre filtrelemek için aşağıdaki biçimde bir değer kullanın: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

Kullanılabilir olay türleri

Azure abonelikleri, vm oluşturulduğunda veya bir depolama hesabının silindiği durumlarda azure Resource Manager'dan yönetim olayları yayar.

Olay türü Açıklama
Microsoft.Resources.ResourceActionCancel Kaynak üzerindeki eylem iptal edildiğinde tetiklendi.
Microsoft.Resources.ResourceActionFailure Kaynakta eylem başarısız olduğunda tetiklenen.
Microsoft.Resources.ResourceActionSuccess Kaynak üzerinde eylem başarılı olduğunda oluşturulur.
Microsoft.Resources.ResourceDeleteCancel Silme işlemi iptal edildiğinde tetiklendi. Bu olay, bir şablon dağıtımı iptal edildiğinde gerçekleşir.
Microsoft.Resources.ResourceDeleteFailure Silme işlemi başarısız olduğunda oluşturulur.
Microsoft.Resources.ResourceDeleteSuccess Silme işlemi başarılı olduğunda oluşturulur.
Microsoft.Resources.ResourceWriteCancel Oluşturma veya güncelleştirme işlemi iptal edildiğinde tetiklendi.
Microsoft.Resources.ResourceWriteFailure Oluşturma veya güncelleştirme işlemi başarısız olduğunda oluşturulur.
Microsoft.Resources.ResourceWriteSuccess Oluşturma veya güncelleştirme işlemi başarılı olduğunda oluşturulur.

Örnek olay

Aşağıdaki örnekte ResourceWriteSuccess olayının şeması gösterilmektedir . ResourceWriteFailure ve ResourceWriteCancel olayları için eventTypefarklı değerlere sahip aynı şema kullanılır.

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

}]

Aşağıdaki örnekte ResourceDeleteSuccess olayının şeması gösterilmektedir . Aynı şema, için farklı değerlere sahip ResourceDeleteFailure ve ResourceDeleteCancel olayları için eventTypekullanılır.

[{
  "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"
}]

Aşağıdaki örnekte ResourceActionSuccess olayının şeması gösterilmektedir . Aynı şema ResourceActionFailure ve ResourceActionCancel olayları için eventTypefarklı değerlerle kullanılır.

[{   
  "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"
}]

Olay özellikleri

Bir olay aşağıdaki üst düzey verilere sahiptir:

Özellik Türü Veri Akışı Açıklaması
source Dize Olay kaynağının tam kaynak yolu. Bu alan yazılabilir değil. Event Grid bu değeri sağlar.
subject Dize Olay konusunun yayımcı tarafından tanımlanan yolu.
type Dize Bu olay kaynağı için kayıtlı olay türlerinden biri.
time Dize Sağlayıcının UTC saati temelinde olayın oluşturulduğu saat.
id Dize Olayın benzersiz tanımlayıcısı.
data nesne Abonelik olayı verileri.
specversion Dize CloudEvents şema belirtimi sürümü.

Veri nesnesi aşağıdaki özelliklere sahiptir:

Özellik Türü Açıklama
authorization nesne İşlem için istenen yetkilendirme.
claims nesne Taleplerin özellikleri. Daha fazla bilgi için bkz . JWT belirtimi.
correlationId Dize Sorun giderme için bir işlem kimliği.
httpRequest nesne İşlemin ayrıntıları. Bu nesne yalnızca mevcut bir kaynağı güncelleştirirken veya bir kaynağı silerken dahil edilir.
resourceProvider Dize İşlemin kaynak sağlayıcısı.
resourceUri Dize İşlemdeki kaynağın URI'sini.
operationName Dize Alınan işlem.
status Dize İşlemin durumu.
subscriptionId Dize Kaynağın abonelik kimliği.
tenantId Dize Kaynağın kiracı kimliği.

Öğreticiler ve nasıl yapılır kılavuzları

Ünvan Açıklama
Öğretici: Event Grid ve Microsoft Teams ile Azure Otomasyonu Olay gönderen bir sanal makine oluşturun. Olay, sanal makineyi etiketleyen bir Otomasyon runbook'unu tetikler ve bir Microsoft Teams kanalına gönderilen bir iletiyi tetikler.
Nasıl yapılır: Portal aracılığıyla olaylara abone olma Azure aboneliğine yönelik olaylara abone olmak için portalı kullanın.
Azure CLI: Azure aboneliği için olaylara abone olma Azure aboneliğine Event Grid aboneliği oluşturan ve olayları Bir Web Kancası'na gönderen örnek betik.
PowerShell: Azure aboneliği için olaylara abone olma Azure aboneliğine Event Grid aboneliği oluşturan ve olayları Bir Web Kancası'na gönderen örnek betik.

Sonraki adımlar