Azure Digital Twins olaylarını yönlendirme

Bu makalede, Azure Digital Twins'in olay verilerini göndermek için kullandığı işlem, hem olayları Azure Digital Twins içinde dahili olarak yönlendirmek hem de olay verilerini hizmet dışındaki aşağı akış hizmetlerine veya bağlı işlem kaynaklarına dışarıdan göndermek için açıklanmaktadır.

Azure Digital Twins'den olay bildirimlerini yönlendirmek iki adımlı bir işlemdir: uç noktalar oluşturma ve ardından bu uç noktalara veri göndermek için olay yolları oluşturma. Bu makale, bu kavramların her biri hakkında daha ayrıntılı bilgi sağlar. Ayrıca bir uç nokta bir olayı zamanında teslim etmediğinde ( teslim edilemedi harfi olarak bilinen bir işlem) ne olacağını da açıklar.

Olay yönlendirmeye genel bakış

Azure Digital Twins verilerini göndermek için iki ana senaryo vardır ve her ikisini de gerçekleştirmek için olay yolları kullanılır:

  • Azure Digital Twins grafiğindeki bir ikizden diğerine olay verileri gönderme. Örneğin, bir dijital ikizdeki bir özellik değiştiğinde güncelleştirilmiş verilere göre başka bir dijital ikizi bilgilendirmek ve güncelleştirmek isteyebilirsiniz.
  • Daha fazla depolama veya işleme için Azure Digital Twins dışından aşağı akış veri hizmetlerine veri gönderme. Örneğin, zaten Azure Haritalar kullanıyorsanız tümleşik modelleme veya sorgularla çözümünüzü geliştirmek için Azure Digital Twins verilerine katkıda bulunmak isteyebilirsiniz.

Herhangi bir olay hedefi için olay yolu, Azure Digital Twins'den aboneliklerinizdeki özel tanımlı uç noktalara olay verileri göndererek çalışır. Şu anda uç noktalar için üç Azure hizmeti desteklenmektedir: Event Hubs, Event Grid ve Service Bus. Bu Azure hizmetlerinin her biri diğer hizmetlere bağlanabilir ve aracı olarak görev yapabilir, verileri Azure Haritalar gibi son hedeflere ya da bağımlı graf güncelleştirmeleri için Azure Digital Twins'e geri gönderir.

Aşağıdaki diyagramda, azure digital twins verilerini uç noktalar aracılığıyla diğer Azure Hizmetlerine ve Azure Digital Twins'e geri göndermeyi içeren daha büyük bir IoT çözümü aracılığıyla olay verilerinin akışı gösterilmektedir:

Azure Digital Twins'in uç noktalar aracılığıyla birkaç aşağı akış hizmetine veri yönlendirme diyagramı.

Azure Digital Twins dışındaki verilerin çıkışı için olay yollarına yönelik tipik aşağı akış hedefleri Time Series Insights, Azure Haritalar, depolama ve analiz çözümleridir. Azure Digital Twins, çıkış hizmetlerine yayılan veriler için en az bir kez teslim uygular.

İç dijital ikiz olaylarının aynı Azure Digital Twins çözümü içinde yönlendirilmesi için sonraki bölüme geçin.

İç dijital ikiz olaylarını yönlendirme

Olay yolları, verileri dijital ikizden dijital ikize göndererek ikiz grafı içindeki olayları işlemek için kullanılan mekanizmadır. Bu tür olay işleme işlemleri Event Grid aracılığıyla olay yollarını Azure İşlevleri gibi işlem kaynaklarına bağlayarak gerçekleştirilir. Bu işlevler daha sonra ikizlerin olayları nasıl alıp yanıtlaması gerektiğini tanımlar.

İşlem kaynağı, olay yolu aracılığıyla aldığı bir olayı temel alarak ikiz grafiğini değiştirmek istediğinde, hangi ikizi değiştirmesi gerektiğini önceden bilmesi yararlı olur. Olay iletisi, iletiyi gönderen kaynak ikizin kimliğini de içerir, böylece işlem kaynağı istenen işlem için bir hedef ikiz bulmak üzere sorguları veya çapraz geçiş ilişkilerini kullanabilir.

İşlem kaynağının güvenlik ve erişim izinlerini bağımsız olarak oluşturması da gerekir.

Dijital ikiz olaylarını işlemek üzere bir Azure işlevi ayarlama işleminin adımlarını görmek için bkz. İkizden ikize olay işlemeyi ayarlama.

Uç noktalar oluşturma

Geliştiricilerin olay rotası tanımlamadan önce uç noktaları tanımlaması gerekir. Uç nokta, Azure Digital Twins'in dışında bir rota bağlantısını destekleyen bir hedeftir. Desteklenen hedefler şunlardır:

  • Event Grid özel konuları
  • Event Hubs
  • Service Bus

Uç nokta oluşturmak için Azure Digital Twins REST API'lerini, CLI komutlarını veya Azure portal kullanabilirsiniz.

Uç nokta tanımlarken şunları sağlamanız gerekir:

  • Uç noktanın adı
  • Uç nokta türü (Event Grid, Event Hubs veya Service Bus)
  • Kimlik doğrulaması için birincil bağlantı dizesi ve ikincil bağlantı dizesi
  • Uç noktanın konu yolu, örneğin your-topic.westus2.eventgrid.azure.net

İsteğe bağlı olarak, uç noktayı sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimlikle kullanmak için kimlik tabanlı kimlik doğrulaması ile uç noktanızı oluşturmayı seçebilirsiniz. Bu seçenek yalnızca Event Hubs ve Service Bus türündeki uç noktalar için kullanılabilir (Event Grid için desteklenmez).

Denetim düzleminde kullanılabilen uç nokta API'leri şunlardır:

  • Uç nokta oluşturma
  • Uç noktaların listesini alma
  • Uç noktayı ada göre alma
  • Uç noktayı ada göre silme

Uç nokta oluşturma hakkında ayrıntılı yönergeler için bkz. Uç nokta oluşturma.

Olay yolları oluşturma

Olay yolu oluşturmak için Azure Digital Twins REST API'lerini, CLI komutlarını veya Azure portal kullanabilirsiniz.

.NET (C#) SDK çağrısını kullanarak bir istemci uygulaması içinde olay yolu oluşturma örneği aşağıda verilmiştirCreateOrReplaceEventRouteAsync:

string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
  1. İlk olarak, bir DigitalTwinsEventRoute nesne oluşturulur ve oluşturucu bir uç noktanın adını alır. Bu endpointName alan Event Hubs, Event Grid veya Service Bus gibi bir uç noktayı tanımlar. Bu uç noktaların, bu kayıt çağrısı yapmadan önce aboneliğinizde oluşturulması ve denetim düzlemi API'leri kullanılarak Azure Digital Twins'e eklenmesi gerekir.

  2. Olay yolu nesnesi, bu yolu izleyen olay türlerini kısıtlamak için kullanılabilecek bir Filtre alanına da sahiptir. filtresi true , fazladan filtreleme olmadan yolu etkinleştirir (bir filtresi false yolu devre dışı bırakır).

  3. Bu olay yolu nesnesi daha sonra yolu için bir adla birlikte öğesine geçirilir CreateOrReplaceEventRouteAsync.

İpucu

Tüm SDK işlevleri zaman uyumlu ve zaman uyumsuz sürümlerde gelir.

Olay yolları oluşturma hakkında ayrıntılı yönergeler için bkz. Yol ve filtre oluşturma.

Teslim edilemeyen harf olayları

Bir uç nokta belirli bir süre içinde veya olayı birkaç kez teslim etmeye çalıştıktan sonra olayı teslim edemeyen olayı bir depolama hesabına gönderebilir. Bu işlem , geçersiz harf olarak bilinir. Aşağıdaki koşullardan biri karşılandığında Azure Digital Twins bir olayı geçersiz olarak bildirir:

  • Etkinlik yaşam süresi içinde teslim edilmemiştir
  • Olayı teslim etme denemelerinin sayısı sınırı aştı

Koşullardan biri karşılanırsa, olay bırakılır veya teslim edilmez. Varsayılan olarak, her uç nokta geçersiz harfle göndermeyi açmaz. Bunu etkinleştirmek için, uç noktayı oluştururken teslim edilmemiş olayları barındıracak bir depolama hesabı belirtmeniz gerekir. Ardından teslimatları çözümlemek için bu depolama hesabından olayları çekebilirsiniz.

Teslim edilemeyen harf konumunu ayarlamadan önce kapsayıcılı bir depolama hesabınız olmalıdır. Uç noktayı oluştururken bu kapsayıcının URL'sini sağlarsınız. Teslim edilemeyen harf, SAS belirteciyle bir kapsayıcı URL'si olarak sağlanır. Bu belirtecin yalnızca write depolama hesabındaki hedef kapsayıcı için izni olması gerekir. Tam biçimlendirilmiş URL şu biçimde olacaktır: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>

SAS belirteçleri hakkında daha fazla bilgi edinmek için bkz. Paylaşılan erişim imzalarını (SAS) kullanarak Azure Depolama kaynaklarına sınırlı erişim verme

Teslim edilemeyen harfle uç nokta ayarlamayı öğrenmek için bkz. Uç nokta seçenekleri: Teslim edilemeyen harf.

Olay iletisi türleri

IoT Hub ve Azure Digital Twins'deki farklı olay türleri, aşağıda açıklandığı gibi farklı türde bildirim iletileri oluşturur.

Bildirim türü Yönlendirme kaynağı adı Oluşturan kaynak...
Dijital İkiz Değişiklik Bildirimi Dijital İkiz Değişiklik Bildirimi herhangi bir dijital ikiz özelliği değişikliği
Dijital İkiz Yaşam Döngüsü Bildirimi Dijital İkiz Yaşam Döngüsü Bildirimi herhangi bir dijital ikiz oluşturma veya silme işlemi
Dijital İkiz İlişki Değişikliği Bildirimi Dijital İkiz İlişki Değişikliği Bildirimi herhangi bir dijital ikiz ilişkisi değişikliği
Dijital İkiz Telemetri İletileri Telemetri İletileri herhangi bir telemetri iletisi

Sonraki adımlar

Uç noktaları ve olay yollarını ayarlamaya yönelik adım adım yönergelere geçin:

Alternatif olarak, Azure Digital Twins'de ikizler arası olay işleme için bir Azure İşlevi ayarlamak için bu kılavuzu izleyin: