Ana içeriğe geç
Kesit Power BI
İleri · Fabric

İşlem hatları (pipelines): etkinlik, bağımlılık, parametre, zamanlama ve hata

Bir hattı doğru kurmak: etkinlik türleri, başarı ve hata yolları, parametre ve ifade, filigranla artımlı yükleme, zamanlama ve olay tetikleyicisi, yeniden deneme ve izleme; gece hattı teşhis senaryoları.

Uygulamada aç, 10 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Anadolu Market’in gece işi şu: ERP’den satışları kopyala, temizle, aylık özeti hesapla, modeli yenile, sorun olursa ekibe haber ver. Her adımı ayrı saate zamanlamak çalışır, ta ki bir gece biri uzayana kadar. İşlem hattı (pipeline) bu adımları tek akışa bağlar. Veri dönüştürmez, düzenler.

Tarayıcı sınırıBu uygulama Fabric’in tuval arayüzünü taklit etmez. Alıştırmalar gerçek senaryolarda karar, ifade okuma ve hata teşhisi sorar. Uygulaması için aşağıdaki “Kendi Fabric ortamında dene” bölümüne bak.

Etkinlikler

GrupEtkinlikTipik kullanım
TaşımaCopy data, Copy jobKaynaktan hedefe
DönüştürmeDataflow Gen2, Fabric notebook, Stored procedure, SQL script, Spark job definition, Delete dataİş mantığı burada çalışır
DenetimIf condition, Switch, ForEach, Until, Wait, Fail, Invoke pipeline, Set variable, Lookup, Get metadata, FilterAkış
ÇevreTeams, Web, Webhook, Functions, Refresh SQL analytics endpoint, Lakehouse maintenanceBildirim, bakım

Hat başına varsayılan sınır 120 etkinliktir (iç etkinlikler dahil). Yaklaşıyorsan Invoke pipeline ile böl. Modeli yenilemek için Semantic model refresh etkinliği vardır (Direct Lake’te çerçeveleme yapar).

Bağımlılık: dört yol

Etkinlikler arasındaki oklar koşulludur:

KoşulSonraki etkinlik ne zaman çalışır?Kullanım
Başarıda (UponSuccess)Önceki başarılıysaAna akış
Hatada (UponFailure)Önceki başarısızsaTeams bildirimi
Tamamlandığında (UponCompletion)Başarılı ya da başarısız fark etmezTemizlik, günlük yazma
Atlandığında (UponSkip)Önceki atlanmışsaNadir yollar
Sık hata: hata yolu bütün hattı başarılı gösterirBir adım düşüp hata yolundaki Teams etkinliği başarılı olursa hat genel durumda “başarılı” görünebilir. Düşmüşse düşmüş görünmeli: hata yolunun sonuna bir Fail etkinliği koy. Böylece izleme doğru rengi gösterir ve zincir durur.

Birden çok ok aynı etkinliğe bağlanırsa koşullar birlikte aranır. “A hata ya da B hata” için tek bir bildirim etkinliğine iki hata oku bağlamak, ikisinin de hata vermesini bekler; ayrı bildirim kullan ya da Tamamlandığında ve durum ifadesiyle kur. Ayrıntı için Learn’deki güncel belgeyi izle.

Yeniden deneme ve zaman aşımı

AyarVarsayılanNot
Timeout12 saat; en fazla 7 gün0.12:00:00 biçiminde
Yeniden denemeAyarlı değilse denemez; açılırsa 1 kezGeçici ağ hatası için
Yeniden deneme aralığı30 saniye
Secure input/outputKapalıGizli değeri günlükten saklar

Yeniden deneme güvenli olmayan adımı tehlikeye atar: “ekle” yapan bir kopyalama yeniden denenirse satırlar iki kez yazılır. Bu yüzden hat yeniden çalıştırılabilir (idempotent) olmalı: tam yüklemede önce temizle, artımlı yüklemede anahtarla birleştir.

Parametre, değişken, ifade

Parametre çalışma başına sabittir. Değişken çalışma sırasında değişir. Değerler dinamik içerik ifadesiyle kullanılır:

@pipeline().parameters.Ortam                       // parametre
@variables('SonTarih')                              // değişken
@activity('Lookup1').output.firstRow.WatermarkValue // önceki etkinliğin çıktısı
@pipeline().RunId                                   // bu çalışmanın kimliği
@concat('satis_', formatDateTime(utcNow(), 'yyyyMMdd'), '.csv')
"Ortam: @{pipeline().parameters.Ortam}"             // metin içine gömme

İki ayrıntı sınavda ve işte can sıkar. Birincisi: tek başına @pipeline().parameters.Sayi sayı döndürür, @{pipeline().parameters.Sayi} metin döndürür. İkincisi: zamanlamadan parametre geçerken ad birebir eşleşmeli; yanlış yazılan ad hata vermeden yok sayılır ve varsayılan değerle çalışır.

Filigranla artımlı yükleme

Her gece her şeyi kopyalamak yerine yalnız değişeni al. Learn’ün örneğindeki kalıp:

  1. Lookup: filigran tablosundan son değeri oku.
  2. Lookup: kaynağın en büyük değişim zamanını oku.
  3. Copy data: ikisi arasındaki satırları al.
  4. Stored procedure: filigranı yeni değere güncelle, yalnız kopyalama başarılıysa.
SELECT * FROM dbo.Satislar
WHERE DegisimZamani > '@{activity('EskiFiligran').output.firstRow.Deger}'
  AND DegisimZamani <= '@{activity('YeniFiligran').output.firstRow.Deger}'

Üst sınır neden şimdiki zaman değil? Çünkü Lookup ile kopya arasında gelen satırlar bir sonraki gece alınsın diye en büyük değer sabitlenir. Copy job bunun büyük kısmını kendiliğinden yapar; hattı yalnız çevresinde başka iş varsa kur. Silinen satırlar filigranla görünmez; CDC ya da karşılaştırma gerekir.

Zamanlama ve tetikleyici

Olay ifadesinde boş değere dikkat: elle test edince değer gelmez, güvenli gösterim kullan: @pipeline()?.TriggerEvent?.FileName. Hata e-postası Hata bildirimleri ayarıyla kurulur ve yalnız zamanlanmış çalışmalarda gider; elle çalıştırmada gitmez.

İzleme ve teşhis

Tuvalin altındaki Çıktı sekmesi her etkinliğin durumunu, süresini, girdi ve çıktısını gösterir. Geçmiş çalışmalar Monitor hub’dadır. Teşhis sırası: ilk kırmızı etkinliği bul, hata iletisini oku, girdiyi kontrol et (ifadeler doğru çözüldü mü?), sonra çıktıya bak. İşlem hattı Copilot’u hatayı açıklayabilir ama nedeni kanıtlamaz (“Fabric’te Copilot” dersi).

BelirtiOlası nedenÇözüm
Hat başarılı, satır 0Filigran ifadesi hep aynı, parametre adı yanlışGirdiyi aç; adı eşleştir
Satırlar iki katEkle modu ve yeniden denemeTemizle ya da birleştir
Model eski veriyi gösteriyorYenileme bağımsız saatte, ya da hatada da çalışıyorBaşarıda oku
Sonraki adım yeni tabloyu görmüyorSQL uç noktası eşitlenmediRefresh SQL analytics endpoint
Hata var, kimse haber almadıElle çalıştırma, ya da hata yolu yokBildirim ve Fail
Şirket içi kopyada bağlantı hatasıAğ geçidi sürümü, güvenlik duvarıSürüm ve *.frontend.clouddatahub.net
Kendi Fabric ortamında deneFabric deneme kapasitesi 60 gün sürer, F4 ya da F64 olarak açılır, OneLake’te 1 TB’a kadar yer verir. Başlatmak için Fabric hesabı ve kuruluşunun iki ayarı (Users can create Fabric items, Users can try Microsoft Fabric paid features) gerekir; uygunluk bölgeye ve kiracıya göre değişir, garanti değildir. Denemede Copilot, veri ajanı ve yapay zekâ fonksiyonları çalışmaz. Bitince öğeler pasif olur, içerik OneLake’te 7 gün durur. Güncel koşullar için resmî “Fabric trial capacity” sayfasına bak. Denemede: AnadoluLH lakehouse’una bağlı boş bir hat aç; Copy data ile Files/ham/Urunler.csv dosyasını Urunler_PL tablosuna yaz (beklenen: 40 satır). Ardından bir Notebook etkinliği ekle ve okla bağla. Sonuna Fail ve hata yolu ekle, kasıtlı olarak yanlış dosya adıyla çalıştırıp Çıktı sekmesini oku.
Alıştırmalara geç (10)