Event Grid konularını yönetmek için olay etki alanlarını anlama
Olay etki alanı, aynı uygulamayla ilgili binlerce konu için bir uç nokta sağlar. Bunu, binlerce ayrı konuya sahip olabilecek bir meta konu olarak düşünebilirsiniz. Etki alanındaki tüm konular için bir yayımlama uç noktası sağlar. Bir olay yayımlandığında, yayımcının yayımlamak istediği etki alanında hedef konuyu belirtmesi gerekir. Yayımcı, olayların etki alanındaki farklı konulara gönderildiği bir dizi veya toplu olay gönderebilir. Ayrıntılar için Olay etki alanında olayları yayımlama bölümüne bakın.
Etki alanları ayrıca kiracılarınızı bölümlemeniz için her konu üzerinde kimlik doğrulaması ve yetkilendirme denetimi sağlar. Bu makalede, çeşitli iş kuruluşlarınıza, müşterilerinize veya uygulamalarınıza özel olayların akışını yönetmek için olay etki alanlarının nasıl kullanılacağı açıklanmaktadır. Olay etki alanlarını kullanarak:
- Çok kiracılı olay odaklı mimarileri büyük ölçekte yönetin.
- Kimlik doğrulamanızı ve yetkilendirmenizi yönetin.
- Konularınızı ayrı ayrı yönetmeden bölümleme.
- Konu uç noktalarınızın her birinde ayrı ayrı yayımlamaktan kaçının.
Not
Olay etki alanı, bir olayın bir etki alanına gönderildiği ve etki alanındaki her konunun olayın bir kopyasını aldığı yayın senaryolarını desteklemeye yönelik değildir. Olayları yayımlarken, yayımcının yayımlamak istediği etki alanında hedef konuyu belirtmesi gerekir. Yayımcı aynı olay yükünü etki alanındaki birden çok konuya yayımlamak istiyorsa, yayımcının olay yükünü çoğaltması, konu adını değiştirmesi ve etki alanı uç noktasını kullanarak event grid'de tek tek veya toplu iş olarak yayımlaması gerekir.
Örnek kullanım örneği
Olay etki alanları en kolay bir örnek kullanılarak açıklanır. Traktör, kazma ekipmanı ve diğer ağır makineleri ürettiğiniz Contoso İnşaat Makinelerini çalıştırdığınızı varsayalım. İşletmeyi yürütmenin bir parçası olarak, müşterilere ekipman bakımı, sistem durumu ve sözleşme güncelleştirmeleri hakkında gerçek zamanlı bilgiler gönderebilirsiniz. Bu bilgilerin tümü uygulamanız, müşteri uç noktalarınız ve müşterilerin ayarlamış olduğu diğer altyapı gibi çeşitli uç noktalara gider.
Olay etki alanları, Contoso İnşaat Makinelerini tek bir Event Grid varlığı olarak modellemenize olanak sağlar. Müşterilerinizin her biri etki alanı içinde bir konu olarak temsil edilir. Kimlik doğrulaması ve yetkilendirme, Microsoft Entra Kimliği kullanılarak işlenir. Müşterilerinizin her biri konularına abone olabilir ve etkinliklerini kendilerine teslim edebilir. Olay etki alanı üzerinden yönetilen erişim, yalnızca konularına erişebilmelerini sağlar.
Ayrıca, tüm müşteri etkinliklerinizi yayımlayabileceğiniz tek bir uç nokta sağlar. Event Grid, her konunun yalnızca kiracısı kapsamındaki olayların farkında olmasını sağlar.
Erişim yönetimi
Bir etki alanıyla, Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla her konu üzerinde ayrıntılı yetkilendirme ve kimlik doğrulaması denetimi elde edersiniz. Uygulamanızdaki her kiracıyı yalnızca erişim vermek istediğiniz konularla kısıtlamak için bu rolleri kullanabilirsiniz. Olay etki alanlarındaKi Azure RBAC, Event Grid ve Azure'ın geri kalanında yönetilen erişim denetiminin çalıştığı şekilde çalışır. Olay etki alanlarında özel rol tanımları oluşturmak ve uygulamak için Azure RBAC kullanın.
Yerleşik roller
Event Grid,Azure RBAC'nin olay etki alanlarıyla çalışmayı kolaylaştırmak için iki yerleşik rol tanımına sahiptir. Bu roller EventGrid EventSubscription Contributor ve EventGrid EventSubscription Reader rolleridir. Bu rolleri olay etki alanınızdaki konulara abone olması gereken kullanıcılara atarsınız. Rol atamasının kapsamını yalnızca kullanıcıların abone olması gereken konu başlığına göre daraltabilirsiniz. Bu roller hakkında bilgi için bkz . Event Grid için yerleşik roller.
Konulara abone olmak
Olay etki alanı içindeki bir konu için olaylara abone olmak, özel bir konu üzerinde olay aboneliği oluşturmak veya Azure hizmetinden bir olaya abone olmakla aynıdır.
Önemli
Etki alanı konusu, Event Grid'de otomatik olarak yönetilen bir kaynak olarak kabul edilir. Etki alanı konusunu oluşturmadan etki alanı kapsamında bir olay aboneliği oluşturabilirsiniz. Bu durumda Event Grid etki alanı konusunu sizin adınıza otomatik olarak oluşturur. Elbette, yine de etki alanı konusunu el ile oluşturmayı seçebilirsiniz. Bu davranış, çok sayıda etki alanı konusuyla ilgilenirken bir daha az kaynak hakkında endişelenmenize olanak tanır. Bir etki alanı konusuna son abonelik silindiğinde, etki alanı konusunun el ile mi yoksa otomatik olarak mı oluşturulduğundan bağımsız olarak etki alanı konusu da silinir.
Etki alanı kapsamı abonelikleri
Olay etki alanları, etki alanı kapsamı aboneliklerine de izin verir. Bir olay etki alanındaki olay aboneliği, olayların gönderildiği konu ne olursa olsun etki alanına gönderilen tüm olayları alır. Etki alanı kapsamı abonelikleri yönetim ve denetim amaçları için yararlı olabilir.
Olay etki alanında yayımlama
Bir olay etki alanı oluşturduğunuzda, Event Grid'de bir konu oluşturmuş olmanıza benzer bir yayımlama uç noktası verilir. Olay etki alanındaki herhangi bir konuya olay yayımlamak için, olayları özel bir konu için yaptığınız gibi etki alanının uç noktasına gönderin. Tek fark, olayın teslim edilmesi istediğiniz konuyu belirtmeniz gerektiğidir. Örneğin, aşağıdaki olay dizisini yayımlamak ile olayı "id": "1111"
konusuna foo
gönderirken ile olayı "id": "2222"
konusuna bar
gönderilir.
Bulut olay şemasını kullanırken, özelliği için bir değer olarak etki alanındaki Event Grid konusunun source
adını belirtin. Aşağıdaki örnekte, source
özellik ilk olay için ve bar
ikinci olay için olarak ayarlanırfoo
.
Etki alanında hedeflenen konuyu belirtmek için farklı bir alan kullanmak istiyorsanız, etki alanını oluştururken giriş şeması eşlemesini belirtin. Örneğin, REST API kullanıyorsanız, bu alanı properties.topic
ile eşlerken properties.inputSchemaMapping özelliğini kullanın. .NET SDK kullanıyorsanız kullanın EventGridJsonInputSchemaMapping
. Diğer SDK'lar da şema eşlemesini destekler.
[{
"source": "foo",
"id": "1111",
"type": "maintenanceRequested",
"subject": "myapp/vehicles/diggers",
"time": "2018-10-30T21:03:07+00:00",
"data": {
"make": "Contoso",
"model": "Small Digger"
},
"specversion": "1.0"
},
{
"source": "bar",
"id": "2222",
"type": "maintenanceCompleted",
"subject": "myapp/vehicles/tractors",
"time": "2018-10-30T21:04:12+00:00",
"data": {
"make": "Contoso",
"model": "Big Tractor"
},
"specversion": "1.0"
}]
Olay etki alanları, konu başlıklarına yayımlamayı sizin için işler. Olayları tek tek yönettiğiniz her konuya yayımlamak yerine, tüm olaylarınızı etki alanının uç noktasında yayımlayabilirsiniz. Event Grid her olayın doğru konuya gönderilmesini sağlar.
Fiyatlandırma
Olay etki alanları, Event Grid'deki diğer tüm özelliklerin kullandığı aynı işlem fiyatlandırmasını kullanır. İşlemler olay etki alanlarında özel konularda olduğu gibi çalışır. Bir olayın bir olay etki alanına girişi bir işlemdir ve bir olayın her teslim girişimi bir işlemdir.
Sonraki adımlar
Olay etki alanlarını ayarlama, konu oluşturma, olay abonelikleri oluşturma ve olayları yayımlama hakkında bilgi edinmek için bkz . Olay etki alanlarını yönetme.