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.com
gö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/write
değ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 eventType
farklı 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 eventType
kullanı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 eventType
farklı 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
- Azure Event Grid'e giriş için bkz . Event Grid nedir?.
- Azure Event Grid aboneliği oluşturma hakkında daha fazla bilgi için bkz . Event Grid abonelik şeması.