Azure Data Factory'de işlem hattı çalıştırmak için özel olay tetikleyicisi oluşturma
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Olay odaklı mimari, üretim, algılama, tüketim ve olaylara tepkiyi içeren yaygın bir veri tümleştirme düzenidir. Veri tümleştirme senaryoları genellikle Azure Data Factory müşterilerinin belirli olaylar gerçekleştiğinde işlem hatlarını tetiklemelerini gerektirir. Azure Event Grid ile Data Factory yerel tümleştirmesi artık özel konuları kapsar. Olayları bir Event Grid konusuna gönderirsiniz. Data Factory konuya abone olur, dinler ve ardından işlem hatlarını buna göre tetikler.
Bu makalede açıklanan tümleştirme, Azure Event Grid'e bağlıdır. Aboneliğinizin Event Grid kaynak sağlayıcısına kayıtlı olduğundan emin olun. Daha fazla bilgi için bkz. Kaynak sağlayıcıları ve türleri. Eylemi yapabilmeniz Microsoft.EventGrid/eventSubscriptions/
gerekir. Bu eylem, EventGrid EventSubscription Katkıda Bulunanı yerleşik rolünün bir parçasıdır.
Önemli
Bu özelliği Azure Synapse Analytics'te kullanıyorsanız aboneliğinizin bir Data Factory kaynak sağlayıcısına da kayıtlı olduğundan emin olun. Aksi takdirde, "Olay Aboneliği oluşturulamadı" iletisini alırsınız.
İşlem hattı parametrelerini ve özel bir olay tetikleyicisini birleştirirseniz, işlem hattı çalıştırmalarında özel data
yükleri ayrıştırabilir ve bunlara başvurabilirsiniz. data
Özel olay yükündeki alan serbest biçimli bir JSON anahtar-değer yapısı olduğundan, olay temelli işlem hattı çalıştırmalarını denetleyebilirsiniz.
Önemli
Parametreleştirmede başvuruda bulunılan bir anahtar özel olay yükünde eksikse başarısız trigger run
olur. Özellik mevcut olmadığından ifadenin değerlendirilediğini keyName
belirten bir ileti alırsınız. Bu durumda, olay tarafından tetiklenen hayırpipeline run
.
Event Grid'de özel konu ayarlama
Data Factory'de özel olay tetikleyicisini kullanmak için önce Event Grid'de özel bir konu ayarlamanız gerekir.
Event Grid'e gidin ve konuyu kendiniz oluşturun. Özel konu oluşturma hakkında daha fazla bilgi için bkz. Event Grid portalı öğreticileri ve Azure CLI öğreticileri.
Not
İş akışı, depolama olayı tetikleyicisinden farklıdır. Burada Data Factory konuyu sizin için ayarlamaz.
Data Factory, olayların Event Grid olay şemasını izlemesini bekler. Olay yüklerinin aşağıdaki alanlara sahip olduğundan emin olun:
[
{
"topic": string,
"subject": string,
"id": string,
"eventType": string,
"eventTime": string,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string,
"metadataVersion": string
}
]
Data Factory kullanarak özel olay tetikleyicisi oluşturma
Data Factory'ye gidin ve oturum açın.
Düzenle sekmesine geçin. Kalem simgesini arayın.
Menüden Tetikleyici'yi ve ardından Yeni/Düzenle'yi seçin.
Tetikleyici Ekle sayfasında Tetikleyici seç'i ve ardından + Yeni'yi seçin.
Tür altında Özel olaylar'ı seçin.
Azure aboneliği açılan listesinden özel konunuzu seçin veya olay konusu kapsamını el ile girin.
Not
Data Factory'de özel olay tetikleyicisi oluşturmak veya değiştirmek için uygun Azure rol tabanlı erişim denetimine (Azure RBAC) sahip bir Azure hesabı kullanmanız gerekir. Başka izin gerekmez. Data Factory hizmet sorumlusu Event Grid'iniz için özel izin gerektirmez. Erişim denetimi hakkında daha fazla bilgi için Rol tabanlı erişim denetimi bölümüne bakın.
Subject begins with
veSubject ends with
özellikleri tetikleyici olaylarını filtrelemenize olanak sağlar. Her iki özellik de isteğe bağlıdır.Filtre uygulamak üzere Olay türleri eklemek için + Yeni'yi kullanın. Özel olay tetikleyicileri listesinde OR ilişkisi kullanılır. Özelliği olan bir özel olay listedeki bir
eventType
olayla eşleştiğinde, işlem hattı çalıştırması tetikler. Olay türü büyük/küçük harfe duyarlı değildir. Örneğin, aşağıdaki ekran görüntüsünde tetikleyici, fabrikalarla başlayan bir konuya sahip olan tümcopycompleted
veya olaylarla eşleşircopysucceeded
.Özel bir olay tetikleyicisi ayrıştırabilir ve işlem hattınıza özel
data
bir yük gönderebilir. İşlem hattı parametrelerini oluşturur ve ardından Parametreler sayfasındaki değerleri doldurursunuz. Veri yükünü ayrıştırmak ve değerleri işlem hattı parametrelerine geçirmek için biçimini@triggerBody().event.data._keyName_
kullanın.Ayrıntılı bir açıklama için bkz:
- İşlem hatlarında başvuru tetikleyicisi meta verileri
- Özel olay tetikleyicisindeki sistem değişkenleri
Parametreleri girdikten sonra Tamam'ı seçin.
Gelişmiş filtreleme
Özel olay tetikleyicileri, Event Grid gelişmiş filtrelemeye benzer gelişmiş filtreleme özelliklerini destekler. Bu koşullu filtreler, işlem hatlarının olay yükünün değerlerine göre tetiklenebilmesini sağlar. Örneğin, olay yükünde Department adlı bir alanınız olabilir ve işlem hattının tetiklenmesi için Departman'ın Finans'a eşit olması gerekir. [1, 2, 3, 4, 5] listesindeki tarih alanı, [11, 12] listesinde yer almayan ay alanı ve etiket alanında [Fiscal Year 2021, FiscalYear2021 veya FY2021] varsa karmaşık mantık da belirtebilirsiniz.
Bugünden itibaren özel olay tetikleyicileri, Event Grid'deki gelişmiş filtreleme işleçlerinin bir alt kümesini destekler. Aşağıdaki filtre koşulları desteklenir:
NumberIn
NumberNotIn
NumberLessThan
NumberGreaterThan
NumberLessThanOrEquals
NumberGreaterThanOrEquals
BoolEquals
StringContains
StringBeginsWith
StringEndsWith
StringIn
StringNotIn
Yeni filtre koşulları eklemek için + Yeni'yi seçin.
Özel olay tetikleyicileri de Event Grid ile aynı sınırlamalara uyar, örneğin:
- Özel olay tetikleyicisi başına tüm filtreler arasında 5 gelişmiş filtre ve 25 filtre değeri.
- Dize değeri başına 512 karakter.
- ve
not in
işleçleri içinin
5 değer. - Tuşların
.
içinde (nokta) karakteri olamaz, örneğin,john.doe@contoso.com
. Şu anda anahtarlarda kaçış karakterleri için destek yoktur. - Aynı anahtar birden fazla filtrede kullanılabilir.
Data Factory, Event Grid API'sinin en son genel kullanılabilirlik (GA) sürümünü kullanır. Yeni API sürümleri GA aşamasına geçerken Data Factory, daha gelişmiş filtreleme işleçleri için desteğini genişletir.
JSON şeması
Aşağıdaki tabloda, özel olay tetikleyicileriyle ilgili şema öğelerine genel bir bakış sağlanır.
JSON öğesi | Açıklama | Tür | İzin verilen değerler | Zorunlu |
---|---|---|---|---|
scope |
Event Grid konusunun Azure Resource Manager kaynak kimliği. | String | Azure Resource Manager Kimliği | Evet. |
events |
Bu tetikleyicinin tetiklemesine neden olan olayların türü. | Dizeler dizisi | Evet, en az bir değer beklenir. | |
subjectBeginsWith |
Alanın subject tetikleyicinin tetikleyebilmesi için sağlanan desenle başlaması gerekir. Örneğin, fabrikalar yalnızca fabrikalarla başlayan olay konuları için tetikleyiciyi tetikler. |
String | Hayır | |
subjectEndsWith |
Alanın subject tetikleyicinin tetiklemesi için sağlanan desenle bitmesi gerekir. |
String | Hayır | |
advancedFilters |
Her biri bir filtre koşulu belirten JSON bloblarının listesi. Her blob , operatorType ve values belirtirkey . |
JSON bloblarının listesi | Hayır |
Rol tabanlı erişim denetimi
Data Factory, yetkisiz erişimi yasaklama amacıyla Azure RBAC kullanır. Data Factory'nin düzgün çalışması için şunlara erişim gerekir:
- Olayları dinleyin.
- Olaylardan güncelleştirmelere abone olun.
- Özel olaylara bağlı işlem hatlarını tetikleme.
Özel olay tetikleyicisini başarıyla oluşturmak veya güncelleştirmek için uygun erişime sahip bir Azure hesabıyla Data Factory'de oturum açmanız gerekir. Aksi takdirde, işlem "Erişim Reddedildi" iletisiyle başarısız olur.
Data Factory, Event Grid örneğinde özel izin gerektirmez. Ayrıca işlem için Data Factory hizmet sorumlusuna özel Azure RBAC rol izni atamanız gerekmez .
Özellikle üzerinde izin /subscriptions/####/resourceGroups//####/providers/Microsoft.EventGrid/topics/someTopics
almanız gerekirMicrosoft.EventGrid/EventSubscriptions/Write
.
- Veri fabrikasında (örneğin geliştirme ortamında) yazarken, oturum açan Azure hesabının önceki izne sahip olması gerekir.
- Sürekli tümleştirme ve sürekli teslim aracılığıyla yayımladığınızda, Azure Resource Manager şablonunu test veya üretim fabrikasında yayımlamak için kullanılan hesabın önceki izne sahip olması gerekir.
İlgili içerik
- Tetikleyici yürütme hakkında ayrıntılı bilgi edinin.
- İşlem hattı çalıştırmalarında tetikleyici meta verilerine başvurmayı öğrenin.