Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, Fabric'teki Data Factory işlem hatlarınızda parametreleri nasıl kullanacağınızı gösterir. İş akışlarınızı daha esnek ve daha kolay yönetilebilir hale getirmenin basit bir yoludur.
Veri Fabrikası'ndaki veri hatlarında parametreleri, ifadeleri ve işlevleri kullanma.
Bu kılavuz, yol boyunca net örnekler kullanarak Fabric için Data Factory'de parametreli işlem hatları oluşturmanın temellerini açıklar. Parametreleri ve dinamik ifadeleri kullanarak çok zaman kaydedebilir ve esnek ETL (Ayıklama, Dönüştürme, Yükleme) veya ELT (Ayıklama, Yükleme, Dönüştürme) çözümleri oluşturabilirsiniz. Bu teknikler, sabit kodlamayı basitleştirir ve nesneleri ve işlemleri yeniden kullanmanıza yardımcı olur ve böylece işlem hatlarınızın bakımını daha kolay hale getirir ve yeni özellikleri daha hızlı kullanıma sunar.
Parametre ve ifade kavramları
Dış değerleri işlem hatlarınıza geçirmek için parametreleri kullanabilirsiniz. Parametre ayarlandıktan sonra çalıştırma boyunca aynı kalır ve değiştirilemez. Parametreleri kullanarak, aynı işlem hattını her seferinde farklı değerlerle yeniden kullanabilirsiniz. Bunlar tek başına veya ifadelerin içinde kullanılabilir ve bu değerler, işlem hattı çalıştırıldığında sabit ya da hesaplanmış olabilir.
İfadeler bir dize değeri içinde herhangi bir yere gidebilir ve her zaman başka bir dize değeri döndürebilir. Örneğin, kullanırsanız @passwordişlem hattı parolayı parametre olarak ele alır. Değer bir ifadeyse, gerçek içeriği almak için @ işaretini kaldırmanız gerekir. @ile başlayan bir dizeye ihtiyacınız varsa, @@ yazarak bu dizeden kaçabilirsiniz. Bunun pratikte nasıl çalıştığını gösteren birkaç örnek aşağıda verilmiştir.
| Parametre değeri | Result |
|---|---|
| "parameters" | 'parameters' karakterleri döndürülür. |
| "parameters[1]" | 'parameters[1]' karakterleri döndürülür. |
| "@@" | '@' içeren 1 karakterlik bir dize döndürülür. |
| " @" | '@' içeren 2 karakterlik bir dize döndürülür. |
İfadeler, dize ilişkilendirme ifadelerin @{ ... }içinde sarmalandığı bir özellik kullanılarak dizelerin içinde de görüntülenebilir. Örneğin, aşağıdaki dize parametre değerlerini ve değişmez dize değerlerini içerir:
İsim: @{pipeline().parameters.firstName} Soyisim: @{pipeline().parameters.lastName}
Dize ilişkilendirmesi kullanıldığında sonuç her zaman bir dizedir. Örneğin, myNumber42 ve myStringfooolarak tanımladıysanız:
| Parametre değeri | Result |
|---|---|
| "@pipeline().parameters.myString" | "foo'yi string formatında döndürür." |
| "@{pipeline().parameters.myString}" | "foo'yi string formatında döndürür." |
| "@pipeline().parameters.myNumber" |
42'u numarası olarakdöndürür. |
| "@{pipeline().parameters.myNumber}" |
42'ı dizesi olarakdöndürür. |
| "Yanıt: @{pipeline().parameters.myNumber}" |
Answer is: 42dizesini döndürür. |
| "@concat('Answer is: ', string(pipeline().parameters.myNumber))" |
Answer is: 42 dizesini verir |
| "Yanıt: @@{pipeline().parameters.myNumber}" |
Answer is: @{pipeline().parameters.myNumber}dizesini döndürür. |
İfadelerde parametre kullanma örnekleri
Parametreleri oluşturma ve kullanma
Parametre oluşturmak için, işlem hattı düzenleyicisi tuvalinin arka planını seçin ve ardından en alttaki özellikler penceresinin Parametreler sekmesini açın. İşlem hattına yeni bir parametre eklemek, bir ad, veri türü ve varsayılan değer vermek için + Yeni düğmesini seçin:
Ardından, işlem hattınızda dinamik içeriğin desteklendiği herhangi bir yerde parametresini kullanabilirsiniz. Bu örnekte parametresi, kopyalama etkinliğinin özellik sayfalarının Kaynak sekmesinde bir Lakehouse veri deposunun adını dinamik olarak sağlamak için kullanılır.
Dinamik içerik ekle penceresi görüntülenir ve parametreler, sistem değişkenleri, işlevleri veya işlem hattı değişkenleri gibi her türlü dinamik içeriği belirtmenize olanak sağlar. Bu örnekte, önceden tanımlanmış parametre seçilidir ve dinamik içerik penceresi parametreye başvurmak için otomatik olarak doğru ifadeyle doldurulur.
Bağlantıları parametreleştirme
İşlem hatlarında bağlantıları parametreleştirmek için dinamik olarak değiştirmek istediğiniz bağlantı GUID'sinin kullanılması gerekir.
- İşlem hattınızdaki bağlantıyı dinamik olarak değiştirebilmeniz için önce, ayarlamak istediğiniz bağlantının GUID değerini almalısınız
- Ayarlar |'a gidin Bağlantıları ve ağ geçitlerini yönetme
- Bağlantının adını bulun ve bağlantı adının yanındaki üç noktaya tıklayın
- Ayarlar'ı seçin ve Bağlantı Kimliğini kopyalayın
- GUID'yi dinamik ifadenizde kullanmak üzere bu parametreye yapıştırmak için dize parametresi kullanın
Karmaşık ifade örneği
Aşağıdaki örnekte, etkinlik çıkışının derin bir alt alanına başvuran karmaşık bir örnek gösterilmektedir. Bir alt alanı değerlendiren bir işlem hattı parametresine başvurmak için nokta(.) işleci yerine [] söz dizimini kullanın (alt alan1 ve altalan2'de olduğu gibi)
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Dinamik içerik düzenleyicisi
Düzenlemeyi bitirdiğinizde, dinamik içerik düzenleyicisi içeriğinizdeki karakterleri otomatik olarak çıkarır. Örneğin, içerik düzenleyicisinde aşağıdaki içerik, ifade işleviyle bir dize ilişkilendirmesidir:
@{toUpper('myData')}
Dinamik içerik düzenleyicisi önceki içeriği aşağıdaki ifadeye dönüştürür:
MYDATA
İfadelerde işlevleri ve değişkenleri kullanma
İşlevleri çağırabilir ve ifadeler içinde değişkenleri kullanabilirsiniz. Aşağıdaki bölümlerde bir ifadede kullanılabilecek işlevler hakkında bilgi sağlanır.
Boru hattı kapsam değişkenleri
Bu sistem değişkenlerine işlem hattı JSON'un herhangi bir yerinde başvurulabilir.
| Değişken Adı | Description |
|---|---|
| @pipeline().DataFactory | İşlem hattı çalıştırmasının gerçekleştiği veri veya Synapse çalışma alanının adı |
| @pipeline().Pipeline | İşlem hattının adı |
| @pipeline().RunId | Belirli işlem hattı çalıştırmasının kimliği |
| @pipeline().TriggerId | İşlem hattını çağıran tetikleyicinin kimliği |
| @pipeline().TriggerName | İşlem hattını çağıran tetikleyicinin adı |
| @pipeline().TriggerTime | İşlem hattını çağıran tetikleyici çalıştırmasının zamanı. Bu, tetikleyicinin işlem hattı çalıştırmasını çağırmak için tetiklendiği zaman ve tetikleyicinin zamanlanan zamanından biraz farklı olabilir. |
| @pipeline().GroupId | İşlem hattı yürütülmesinin ait olduğu grubun kimliği. Microsoft Fabric'te bir 'grup', birlikte yönetilebilen ilgili kaynakların bir koleksiyonunu ifade eder. Gruplar, kaynaklara erişimi düzenlemek ve denetlemek için kullanılır, böylece birden çok işlem hattında izinleri yönetmeyi ve etkinlikleri izlemeyi kolaylaştırır. |
| @pipeline()?.TriggeredByPipelineName | Bir işlem hattı çalışmasını tetikleyen işlem hattının adı. İşlem hattı çalıştırması bir ExecutePipeline etkinliği tarafından tetiklendiğinde geçerlidir. Diğer durumlarda kullanıldığında Null şeklinde değerlendirin. @pipeline() sonra soru işaretine dikkat edin |
| @pipeline()?.TriggeredByPipelineRunId | İşlem hattı çalıştırmasını tetikleyen işlem hattının çalıştırma kimliği. İşlem hattı çalıştırması bir ExecutePipeline etkinliği tarafından tetiklendiğinde geçerlidir. Diğer durumlarda kullanıldığında Null şeklinde değerlendirin. @pipeline() sonra soru işaretine dikkat edin |
Note
Tetikleyiciyle ilgili tarih/saat sistem değişkenleri (hem işlem hattı hem de tetikleyici kapsamlarında) UTC tarihlerini ISO 8601 biçiminde döndürür, örneğin 2017-06-01T22:20:00.4061448Z.
Dize işlevleri
Dizelerle çalışmak için bu dize işlevlerini ve bazı koleksiyon işlevlerini ,kullanabilirsiniz. Dize işlevleri yalnızca dizelerde çalışır.
| Dize işlevi | Task |
|---|---|
| concat | İki veya daha fazla dizeyi birleştirin ve birleştirilmiş dizeyi döndürin. |
| endsWith | Bir dizenin belirtilen alt dizeyle bitip bitmediğini denetleyin. |
| guid | Küresel olarak benzersiz bir tanımlayıcı (GUID) dize olarak oluşturun. |
| indexOf | Alt dize için başlangıç konumunu döndürür. |
| lastIndexOf | Bir alt dizenin son oluşumunun başlangıç konumunu döndüren işlemi gerçekleştirir. |
| replace | Bir alt dizeyi belirtilen dizeyle değiştirin ve güncelleştirilmiş dizeyi döndürin. |
| split | Özgün dizede belirtilen sınırlayıcı karakterini temel alan daha büyük bir dizeden virgülle ayrılmış alt dizeler içeren bir dizi döndürür. |
| startsWith | Dizenin belirli bir alt dizeyle başlayıp başlamadığını denetleyin. |
| substring | Belirtilen konumdan başlayarak dizedeki karakterleri döndürür. |
| toLower | Küçük harf biçiminde bir dize döndürün. |
| toUpper | Bir dizeyi büyük harflerle döndürün. |
| trim | Bir dizeden baştaki ve sondaki boşluğu kaldırın ve güncelleştirilmiş dizeyi döndürin. |
Koleksiyon işlevleri
Koleksiyonlar, genel olarak diziler, dizeler ve bazen sözlüklerle çalışmak için bu koleksiyon işlevlerini kullanabilirsiniz.
| Collection işlevi | Task |
|---|---|
| contains | Koleksiyonun belirli bir öğeye sahip olup olmadığını denetleyin. |
| empty | Bir koleksiyonun boş olup olmadığını denetleyin. |
| first | Koleksiyondaki ilk öğeyi döndürür. |
| intersection | Yalnızca belirtilen koleksiyonlardaki ortak öğeleri içeren bir koleksiyon döndürün. |
| join | Bir dizideki öğelerin tümü belirtilen karakterle ayrılmış bir dize döndürür. |
| last | Koleksiyondaki son öğeyi döndürür. |
| length | Bir dize veya dizideki öğe sayısını döndürür. |
| skip | Bir koleksiyonun önünden öğeleri kaldırın ve diğer tüm öğeleri döndürin. |
| take | Bir koleksiyonun başından öğeleri iade et. |
| union | Belirtilen koleksiyonlardaki tüm öğeleri içeren bir koleksiyon döndürür. |
Mantıksal işlevler
Bu işlevler koşulların içinde yararlıdır, herhangi bir mantık türünü değerlendirmek için kullanılabilir.
| Mantıksal karşılaştırma işlevi | Task |
|---|---|
| and | Tüm ifadelerin doğru olup olmadığını denetleyin. |
| equals | Her iki değerin de eşdeğer olup olmadığını denetleyin. |
| greater | İlk değerin ikinci değerden büyük olup olmadığını denetleyin. |
| greaterOrEquals | İlk değerin ikinci değerden büyük veya buna eşit olup olmadığını denetleyin. |
| if | İfadenin doğru mu yoksa yanlış mı olduğunu denetleyin. Sonucu temel alarak, belirtilen değeri döndürür. |
| less | İlk değerin ikinci değerden küçük olup olmadığını denetleyin. |
| lessOrEquals | İlk değerin ikinci değerden küçük veya buna eşit olup olmadığını denetleyin. |
| not | İfadenin false olup olmadığını denetleyin. |
| or | En az bir ifadenin doğru olup olmadığını denetleyin. |
Dönüştürme işlevleri
Bu işlevler, dildeki yerel türlerin her biri arasında dönüştürme yapmak için kullanılır:
- string
- integer
- float
- boolean
- arrays
- dictionaries
| Dönüştürme işlevi | Task |
|---|---|
| array | Belirtilen tek bir girişten dizi döndürür. Birden çok giriş için bkz. createArray. |
| base64 | Bir dize için base64 ile kodlanmış sürümü döndürür. |
| base64ToBinary | Base64 ile kodlanmış bir dizenin ikili sürümünü döndürür. |
| base64ToString | Base64 ile kodlanmış bir dize için dize sürümünü döndürür. |
| binary | Giriş değerinin ikili sürümünü döndürün. |
| bool | Giriş değeri için Boole sürümünü döndürür. |
| coalesce | Bir veya daha fazla parametreden ilk null olmayan değeri döndürür. |
| createArray | Birden çok girdiden bir dizi döndürün. |
| dataUri | Giriş değeri için veri URI'sini döndürür. |
| dataUriToBinary | Veri URI'sinin ikili sürümünü döndürür. |
| dataUriToString | Veri URI'sinin dize sürümünü döndürür. |
| decodeBase64 | Base64 ile kodlanmış bir dize için dize sürümünü döndürür. |
| decodeDataUri | Veri URI'sinin ikili sürümünü döndürür. |
| decodeUriComponent | Kaçış karakterlerini kodu çözülen sürümlerle değiştiren bir dize döndürür. |
| encodeUriComponent | URL güvensiz karakterlerini kaçış karakterleriyle değiştirerek bir dize döndür. |
| float | Giriş değeri için kayan nokta numarası döndürür. |
| int | Bir dize için tamsayı sürümünü döndürür. |
| json | Bir dize veya XML için JavaScript Nesne Gösterimi (JSON) türü değerini veya nesnesini döndürür. |
| string | Giriş değeri için dize sürümünü döndürür. |
| uriComponent | URL güvenli olmayan karakterleri kaçış karakterleriyle değiştirerek giriş değeri için URI ile kodlanmış sürümü döndür. |
| uriComponentToBinary | URI ile kodlanmış bir dize için ikili sürümü döndürür. |
| uriComponentToString | URI ile kodlanmış bir dize için dize sürümünü döndürür. |
| xml | Bir dize için XML sürümünü döndürür. |
| xpath | XML'de XPath (XML Yol Dili) ifadesiyle eşleşen düğümleri veya değerleri denetleyin ve eşleşen düğümleri veya değerleri döndürin. |
Matematik İşlevleri
Bu işlevler her iki sayı türü için de kullanılabilir: tamsayılar ve floats.
| Matematik işlevi | Task |
|---|---|
| add | İki sayıyı ekleme sonucunu döndür. |
| div | İki sayıyı bölerek sonucu döndürün. |
| max | Bir sayı veya dizi kümesinden en yüksek değeri döndürür. |
| min | Bir sayı veya dizi kümesinden en düşük değeri döndürür. |
| mod | İki sayının bölünmesinden kalan değeri döndür. |
| mul | İki sayının çarpımından elde edilen ürünü geri döndür. |
| rand | Belirtilen aralıktan rastgele bir tamsayı döndürür. |
| range | Belirtilen bir tamsayıdan başlayan bir tamsayı dizisi döndürür. |
| sub | İkinci sayıyı ilk numaradan çıkararak sonucu döndürür. |
Tarih işlevleri
| Tarih veya saat işlevi | Task |
|---|---|
| addDays | Zaman damgasına birkaç gün ekleyin. |
| addHours | Zaman damgasına birkaç saat ekleyin. |
| addMinutes | Zaman damgasına birkaç dakika ekleyin. |
| addSeconds | Zaman damgasına birkaç saniye ekleyin. |
| addToTime | Zaman damgasına bir dizi zaman birimi ekleyin. Ayrıca bkz. getFutureTime. |
| convertFromUtc | Zaman damgasını Evrensel Saat Eşgüdümlü (UTC) saat diliminden hedef saat dilimine dönüştürün. |
| convertTimeZone | Bir zaman damgasını kaynak saat diliminden hedef saat dilimine dönüştürün. |
| convertToUtc | Zaman damgasını kaynak saat diliminden Evrensel Saat Eşgüdümlü (UTC) saatine dönüştürün. |
| dayOfMonth | Zaman damgasından ayın günü bileşenini döndür. |
| dayOfWeek | Bir zaman damgasından haftanın günü bileşenini döndürür. |
| dayOfYear | Bir zaman damgasından yılın günü bileşenini döndürür. |
| formatDateTime | Zaman damgasını isteğe bağlı biçimde bir dize olarak döndürür. |
| getFutureTime | Geçerli zaman damgasını ve belirtilen zaman birimlerini döndürür. Ayrıca bkz. addToTime. |
| getPastTime | Geçerli zaman damgasını eksi belirtilen zaman birimlerini döndürür. Ayrıca bkz. subtractFromTime. |
| startOfDay | Zaman damgası için günün başlangıcını döndürür. |
| startOfHour | Zaman bilgisi için saatin başlangıcını döndür. |
| startOfMonth | Bir zaman damgası için ayın başlangıç tarihini döndürün. |
| subtractFromTime | Zaman damgasından bir dizi zaman birimini çıkarın. Ayrıca bkz. getPastTime. |
| ticks | Belirtilen zaman damgası için ticks özellik değerini döndürür. |
| utcNow | Geçerli zaman damgasını bir dize olarak döndür. |