Aracılığıyla paylaş


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

  1. Data Factory'ye gidin ve oturum açın.

  2. Düzenle sekmesine geçin. Kalem simgesini arayın.

  3. Menüden Tetikleyici'yi ve ardından Yeni/Düzenle'yi seçin.

  4. Tetikleyici Ekle sayfasında Tetikleyici seç'i ve ardından + Yeni'yi seçin.

  5. Tür altında Özel olaylar'ı seçin.

    Data Factory kullanıcı arabiriminde yeni bir özel olay tetikleyicisi oluşturmayı gösteren ekran görüntüsü.

  6. 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.

  7. Subject begins with ve Subject ends with özellikleri tetikleyici olaylarını filtrelemenize olanak sağlar. Her iki özellik de isteğe bağlıdır.

  8. 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üm copycompleted veya olaylarla eşleşircopysucceeded.

    Data Factory kullanıcı arabiriminde Olay türlerini ve Konu filtrelemeyi açıklamak için Tetikleyiciyi düzenle sayfasını gösteren ekran görüntüsü.

  9. Ö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 hattı parametreleri ayarlarını gösteren ekran görüntüsü.

    Özel bir olaydaki veri yüküne başvurmak için parametreler sayfasını gösteren ekran görüntüsü.

  10. 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.

Müşteri olay tetikleyicisi için gelişmiş filtreler ayarlamayı gösteren ekran görüntüsü.

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çin in 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 , operatorTypeve valuesbelirtirkey. 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/someTopicsalmanı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.