Atlayan pencere tetikleyici bağımlılığı oluşturma

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makale, kademeli pencere tetikleyicisine bağımlılık oluşturma adımlarını açıklar. Atlayan pencere tetikleyicileri hakkında genel bilgi için bkz Atlayan pencere tetikleyicisi oluşturma.

Bağımlılık zinciri oluşturmak ve tetikleyicinin yalnızca hizmet içinde başka bir tetikleyicinin başarıyla yürütülmesinden sonra yürütülmesini sağlamak için bu gelişmiş özelliği kullanarak atlayan bir pencere bağımlılığı oluşturun.

Atlayan pencere tetikleyicisi kullanarak bağımlı işlem hatları oluşturma hakkında bir tanıtım için aşağıdaki videoyu izleyin:

Kullanıcı arabiriminde bağımlılık oluşturma

Tetikleyiciye bağımlılık oluşturmak için Tetikleyici>Gelişmiş>Yeni öğesini seçin. Ardından uygun uzaklık ve boyuta bağlı olacak tetikleyiciyi seçin. Tamamla seçin ve değişiklikleri yayımlayarak bağımlılıkların etkili olmasını sağlayın.

Bağımlılık oluşturma penceresini gösteren ekran görüntüsü.

Dönen pencere bağımlılık özellikleri

Bağımlılığı olan dönen pencere tetikleyicisi aşağıdaki özelliklere sahiptir:

{
    "name": "MyTriggerName",
    "properties": {
        "type": "TumblingWindowTrigger",
        "runtimeState": <<Started/Stopped/Disabled - readonly>>,
        "typeProperties": {
            "frequency": <<Minute/Hour>>,
            "interval": <<int>>,
            "startTime": <<datetime>>,
            "endTime": <<datetime - optional>>,
            "delay": <<timespan - optional>>,
            "maxConcurrency": <<int>> (required, max allowed: 50),
            "retryPolicy": {
                "count": <<int - optional, default: 0>>,
                "intervalInSeconds": <<int>>,
            },
            "dependsOn": [
                {
                    "type": "TumblingWindowTriggerDependencyReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan - optional>>,
                    "referenceTrigger": {
                        "referenceName": "MyTumblingWindowDependency1",
                        "type": "TriggerReference"
                    }
                },
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan>>
                }
            ]
        }
    }
}

Aşağıdaki tabloda yuvarlanan pencere bağımlılığını tanımlamak için gereken özniteliklerin listesi verilmektedir.

Özellik adı Açıklama Tür Zorunlu
type Kayan pencerelerin tüm mevcut tetikleyicileri bu açılır listede görüntülenir. Bağımlılık oluşturmak için tetikleyiciyi seçin. TumblingWindowTriggerDependencyReference veya SelfDependencyTumblingWindowTriggerReference Yes
offset Bağımlılık tetikleyicisinin uzaklığı. Zaman aralığı biçiminde bir değer sağlayın. Hem negatif hem de pozitif uzaklıklara izin verilir. Tetikleyici kendisine bağlıysa bu özellik zorunludur. Diğer tüm durumlarda isteğe bağlıdır. Kendi kendine bağımlılık her zaman negatif bir ofset olmalıdır. Değer belirtilmezse, pencere tetikleyicinin kendisiyle aynıdır. Zaman aralığı
(ss:dd:ss)
Kendi Kendine Bağımlılık: Evet
Diğer: Hayır
size Bağımlılık döngü penceresinin boyutu. Pozitif bir zaman aralığı değeri sağlayın. Bu özellik isteğe bağlıdır. Zaman aralığı
(ss:dd:ss)
Hayır

Not

Yuvarlanan pencere tetikleyicisi en fazla beş başka tetikleyiciye bağımlı olabilir.

Düşen pencere kendi kendine bağımlılık özellikleri

Önceki pencere başarıyla tamamlanana kadar tetikleyicinin sonraki pencereye geçmemesi gereken senaryolarda, bir kendine bağımlılık oluşturun. Önceki bir saat içinde kendi daha önceki çalıştırmalarının başarısına bağlı olan bir öz-bağımlılık tetikleyicisi, aşağıdaki kodda belirtilen özelliklere sahiptir.

Not

Tetiklenen işlem hattınız önceden tetiklenen pencerelerdeki işlem hatlarının çıktısına bağlıysa, yalnızca tümleyen pencere tetikleyicisinin kendine bağımlılığını kullanmanızı öneririz. Paralel tetikleyici çalıştırmalarını sınırlamak için en yüksek tetikleyici eşzamanlılığını ayarlayın.

{
    "name": "DemoSelfDependency",
    "properties": {
        "runtimeState": "Started",
        "pipeline": {
            "pipelineReference": {
                "referenceName": "Demo",
                "type": "PipelineReference"
            }
        },
        "type": "TumblingWindowTrigger",
        "typeProperties": {
            "frequency": "Hour",
            "interval": 1,
            "startTime": "2018-10-04T00:00:00Z",
            "delay": "00:01:00",
            "maxConcurrency": 50,
            "retryPolicy": {
                "intervalInSeconds": 30
            },
            "dependsOn": [
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": "01:00:00",
                    "offset": "-01:00:00"
                }
            ]
        }
    }
}

Kullanım senaryoları ve örnekler

Aşağıdaki senaryolarda yuvarlanan pencere bağımlılık özelliklerinin kullanımı gösterilmektedir. Bu örneklerde, bir sonraki tetikleyicinin tetiklenebilmesi için sarı pencerelerin başarıyla tamamlanması gerekir ve kesikli çizgiler onları tamamlandıktan sonra açılacak pencereye bağlar.

Bağımlılık sapması

Ofset örneğini gösteren diyagram.

Bu örneklerde, A tetikleyicisi için 10-11 çalışması, B tetikleyicisinin çalışmasına bağlıdır (sarıyla vurgulanmıştır). B tetikleyicisi başarıyla tamamlandığında, A tetikleyicisi başlar.

Bu bağımlılık eşzamanlı olabilir (aynı anda olabilir) veya farklı zamanlarda çalışan bir bağımlılık olabilir (A tetikleyicisinden farklı bir zamanda çalışan B tetikleyicisi).

İlk örnekte, 10-11 zaman çerçevesi tetikleyicisi A' nın 10-11 tetikleyicisi B üzerinde eşzamanlı bir bağımlılığı vardır, bu nedenle 0 uzaklığı vardır.

İkinci örnekte, 10-11 zaman çerçevesi tetikleyicisi A, 9-10 tetikleyicisi B üzerinde bir uzaklık bağımlılığına sahiptir, bu nedenle -1 saat uzaklığı vardır.

Bağımlılık boyutu

Bir boyut örneğini gösteren diyagram.

Bu örneklerde, A tetikleyicisi için 10-11 çalışması, B tetikleyicisinin çalışmasına bağlıdır (sarıyla vurgulanmıştır). B tetikleyicisi başarıyla tamamlandığında, A tetikleyicisi başlar.

Bağlı pencerenin boyutu, bağımlı pencerenin boyutundan farklı olabilir.

İlk örnekte, 10-11 zaman çerçevesi tetikleyicisi A, 9-10 tetikleyici B üzerinde bir offset bağımlılığına sahiptir. Offset -1 saat olarak ayarlanmıştır ve bağımlılık penceresi tetikleyici penceresiyle aynı boyutta olduğundan boyut belirtilmez.

İkinci örnekte, 10-11 zaman dilimi tetikleyicisi A'nın, 9-11 tetikleyicisi B üzerinde bir sapma bağımlılığı vardır, bu nedenle -1 saatlik bir sapma ve 2 saatlik bir süre vardır.

Kendi kendine bağımlılık

Kendi kendine bağımlılık örneğini gösteren diyagram.

Bu örneklerde, A tetikleyicisi için 10-11 çalıştırma penceresi, A tetikleyicisi için geçmiş çalıştırmalara bağlıdır. A tetikleyicisindeki belirtilen pencereler başarıyla tamamlandığında, sonraki A tetikleyicisi tetiklenecektir.

İlk örnekte, 10-11 zaman çerçevesi tetikleyicisi A'nın 9-10 tetikleyicisi A üzerinde bir uzaklık bağımlılığı vardır, bu nedenle -1 saat uzaklığı vardır ve bağımlılık penceresinin boyutu tetikleyici penceresiyle aynı boyutta olduğundan belirtilmemiş bir boyut vardır.

İkinci örnekte, 10-11 zaman çerçevesi tetikleyici A, 8-10 tetikleyici A üzerinde bir ofset bağımlılığına sahiptir, bu nedenle -1 saatlik bir ofset ve 2 saatlik bir süre söz konusudur.

Çıkış akışlarında boşluk olmayan bir kendi kendine bağımlılık örneği gösteren diyagram.

Bu üçüncü örnek, saatlik iş yerine işin çıkış akışlarında boşluk olmayan günlük bir işi gösterir.

10/2-10/3 zaman çerçevesi tetikleyicisinin 10/1-10/2 penceresine bağımlıdır ve yalnızca 10/1-10/2 başarıyla tamamlandığında tetiklenir. Bağımlılık penceresinin boyutu tetikleyici penceresiyle aynı boyutta olduğundan uzaklık -1 gündür ve boyut belirtilmez.

Başka bir "tumbling window" tetikleyicisine bağımlılık

Aşağıdaki örnek, son yedi günün çıktılarının toplandığı ve yedi günlük sıralı pencere akışları oluşturulan başka bir günlük göreve bağımlı olan günlük telemetri işleme görevini göstermektedir.

Bağımlılık örneğini gösteren diyagram.

B tetikleyicisinin 10/1-10/8 pencereleri başarıyla tamamlandığında, A tetikleyicisinin 10/7-10/8 penceresi başlatılacaktır. Tetikleyici A'nın bağımlılığı -6 gün uzaklığına ve 7 günlük bir boyuta sahiptir.

Bağımlılıkları izleme

Bağımlılık zincirini ve ilgili pencereleri tetikleyici çalıştırma izleme sayfasından izleyebilirsiniz. İzlemeye> gidin. Eğer atlayan pencere tetikleyicisinin bağımlılıkları varsa, tetikleyici adı, bağımlılık izleme görünümüne bir köprü içerir.

İzleyici tetikleyici çalıştırmalarını gösteren ekran görüntüsü.

Tetikleyici bağımlılıklarını görüntülemek için tetikleyici adına tıklayın. Sağdaki bölmede çalıştırma kimliği, pencere zamanı ve durum gibi tetikleyici çalıştırma bilgileri gösterilir.

Monitor bağımlılıkları liste görünümünü gösteren ekran görüntüsü.

Her bağımlı tetikleyici için bağımlılıkların ve pencerelerin durumunu görebilirsiniz. Bağımlılık tetikleyicilerinden biri başarısız olursa, bağımlı tetikleyicinin çalışması için bunu başarıyla yeniden çalıştırmanız gerekir.

Kayan bir pencere tetikleyicisi, zaman aşımına uğramadan bağımlılıklarda yedi gün bekler. Yedi gün sonra tetikleme başarısız olur.

Not

Atlayan pencere tetikleyicisi, Bağımlılık bekleniyor durumundayken iptal edilemez. Atlayan pencere tetikleyicisinin iptal edilebilmesi için bağımlı etkinliğin bitması gerekir. Bu kısıtlama, bağımlı etkinliklerin başlatıldıktan sonra tamamlanmasını sağlamak için tasarlanmıştır. Ayrıca beklenmeyen sonuçların olasılığını azaltmaya da yardımcı olur.

Tetikleyici bağımlılık zamanlamasını görüntülemenin daha görsel bir yolu için Gantt görünümünü seçin.

Monitör bağımlılıklarını gösteren bir Gantt grafiğinin ekran görüntüsü.

Saydam kutular, aşağı akışa bağımlı her tetikleyici için bağımlılık pencerelerini gösterir. Önceki görüntüde gösterilen düz renkli kutular, pencere çalıştırmalarını tek tek gösterir. Gantt grafiği görünümünü yorumlamaya yönelik bazı ipuçları şunlardır:

  • Bağımlı pencereler Beklemede veya Çalışıyor durumundayken saydam kutular mavi olarak görünür.
  • Bağımlı bir tetikleyici için tüm pencereler başarılı olduktan sonra saydam kutu yeşile döner.
  • Bağımlı bir pencere başarısız olduğunda saydam kutular kırmızı olarak işlenir. Hata penceresini tanımlamak için dolu kırmızı bir kutu arayın.

Gantt grafiği görünümünde bir pencereyi yeniden çalıştırmak için pencerenin düz renk kutusunu seçin. Bilgiler ve yeniden çalıştırma seçenekleri içeren bir eylem bölmesi açılır.