Microsoft Fabric'te Data Factory parametreleri

Bu makalede, esnek, yeniden kullanılabilir iş akışları oluşturabilmek için Fabric'daki Data Factory işlem hatlarınızda parametrelerin nasıl kullanılacağı gösterilmektedir.

Data Factory işlem hatlarında parametreleri, ifadeleri ve işlevleri kullanma

Bu bölümde, Fabric için Data Factory'de parametreli işlem hatları oluşturmanın temelleri açık örnekler kullanılarak açıklanmıştır. Parametreler ve dinamik ifadeler zaman kazandırır ve esnek Ayıklama, Dönüştürme, Yükleme (ETL) veya Ayıklama, Yükleme, Dönüştürme (ELT) çözümleri oluşturmanıza olanak sağlar. Bunlar, sabit kodlamayı azaltır ve nesneleri ve işlemleri yeniden kullanmanıza olanak tanır ve bu sayede işlem hatlarının bakımını kolaylaştırır ve yeni özellikleri daha hızlı göndermenizi sağlar.

Parametre ve ifade kavramları

Dış değerleri işlem hatlarınıza geçirmek için parametreleri kullanabilirsiniz. Bir parametreyi ayarladıktan sonra değeri çalıştırma boyunca aynı kalır. Parametreler, aynı işlem hattını her seferinde farklı değerlerle yeniden kullanmanıza olanak sağlar. Parametreleri tek başlarına veya ifadelerin içinde, işlem hattı çalıştığında sabit olan ya da hesaplanan değerlerle kullanabilirsiniz.

İ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ırın. @ ile başlayan bir dize kullanmak için@ yazarak bu dizeden çıkın. Aşağıdaki örneklerde bunun uygulamada nasıl çalıştığı gösterilmektedir.

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, ifadeleri @{ ... } içine aldığınız dize enterpolasyonu aracılığıyla dizelerin içinde de görünebilir. Ö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 enterpolasyonu her zaman bir dize döndürür. Örneğin, myNumber öğesini 42 olarak ve myString öğesini foo olarak tanımlarsanı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}" 42dizesi olarakdöndürür.
"Yanıt: @{pipeline().parameters.myNumber}" Answer is: 42dizesini döndürür.
@concat('Yanıt: ', string(pipeline().parameters.myNumber)) Answer is: 42 dizesini verir
"Yanıt: @@{pipeline().parameters.myNumber}" Answer is: @{pipeline().parameters.myNumber}dizesini döndürür.

Parametre ifadesi ö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 alttaki özellikler penceresinin Parametreler sekmesini seçin. İşlem hattına parametre eklemek için + Yeni'yi seçin ve bir ad, veri türü ve varsayılan değer verin:

İşlem hattının özellikler sayfalarında Parametreler düzenleyicisini gösteren ekran görüntüsü.

Ardından, işlem hattınızın dinamik içeriği desteklediği her yerde parametresini kullanabilirsiniz. Bu örnekte, parametre bir Kopyalama etkinliğinin özellik sayfalarındaki Kaynak sekmesinde bir Lakehouse veri deposunun adını dinamik olarak sağlar.

Bir kopyalama etkinliğinin özellik sayfalarının Kaynak sekmesini gösteren ve Dinamik içerik ekle seçeneğini vurgulayan ekran görüntüsü.

Dinamik içerik ekle penceresi açılır. Parametreler, sistem değişkenleri, işlevler veya işlem hattı değişkenleri dahil olmak üzere her türlü dinamik içeriği belirtmek için bunu kullanın. Bu örnekte, daha önce tanımladığınız parametreyi seçersiniz ve dinamik içerik penceresi otomatik olarak buna başvurmak için doğru ifadeyle doldurulur.

İşlem hattı parametresinin seçili olduğu Dinamik içerik ekle penceresini gösteren ekran görüntüsü.

Bağlantıları parametreleştirme

İşlem hatlarındaki bağlantıları parametreleştirmek için dinamik olarak değiştirmek istediğiniz bağlantının genel benzersiz tanımlayıcısını (GUID) kullanın.

  1. İşlem hattınızdaki bağlantıyı dinamik olarak değiştirmeden önce, ayarlamak istediğiniz bağlantının GUID değerini alın.
  2. Ayarlar>Bağlantıları ve ağ geçitlerini yönetme'ye gidin.
  3. Bağlantı adını bulun ve yanındaki üç nokta simgesini (...) seçin.
  4. Ayarlar'ı seçin ve Bağlantı Kimliğini kopyalayın.
  5. GUID'yi bir dize parametresine yapıştırın ve dinamik ifadenizde bu parametreye başvurun.

Karmaşık ifade örneği

Aşağıdaki ifade etkinlik çıkışının derin bir alt alanına başvurur. Alt alana çözümlenen bir işlem hattı parametresine başvurmak için, subfield1 ve subfield2 örneklerinde olduğu gibi, nokta (.) işleci yerine [] söz dizimini kullanın.

@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'unun herhangi bir yerinde başvurabilirsiniz.

Değişken Adı Description
@pipeline().DataFactory İşlem hattı yürütmesinin çalıştığı ç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 değer, işlem hattı çalıştırmasını başlatmak için tetikleyicinin gerçekten tetiklendiği zamandır ve tetikleyicinin zamanlanmış saatinden biraz farklı olabilir.
@pipeline().GroupId İşlem hattı çalıştırmanın ait olduğu grubun kimliği. Microsoft Fabric grup, birlikte yönettiğiniz ilgili kaynaklardan oluşan bir koleksiyondur. Gruplar kaynaklara erişimi düzenler ve denetler; bu da izinleri yönetmeyi ve birden çok işlem hattında etkinlikleri izlemeyi kolaylaştırır.
@pipeline()?.TriggeredByPipelineName Bir işlem hattı çalışmasını tetikleyen işlem hattının adı. Execute Pipeline etkinliği işlem hattı çalıştırmasını tetiklediğinde geçerlidir. Diğer durumlarda Null olarak değerlendirilir. @pipeline() sonrasındaki soru işaretine dikkat edin.
@pipeline()?.TriggeredByPipelineRunId İşlem hattı çalıştırmasını tetikleyen işlem hattının çalıştırma kimliği. Bir İşlem Hattı Yürüt etkinliği işlem hattı çalışmasını tetiklediğinde uygulanır. Diğer durumlarda Null olarak değerlendirilir. @pipeline() sonrasındaki soru işaretine dikkat edin.

Note

Tetikleyiciyle ilgili tarih/saat sistem değişkenleri (hem işlem hattı hem de tetikleyici kapsamlarında) ISO 8601 biçiminde Eşgüdümlü Evrensel Saat (UTC) tarihleri 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 kullanın. 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

Diziler, dizeler ve sözlükler gibi koleksiyonlarla çalışmak için bu koleksiyon işlevlerini kullanın.

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şlevleri koşulların içinde kullanarak herhangi bir mantık türünü değerlendirin.

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

Dildeki yerel türlerin her biri arasında dönüştürme yapmak için şu işlevleri kullanın:

  • 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şlevleri her iki sayı türüyle de kullanın: tamsayılar ve kayan sayılar.

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ı Eşgüdümlü Evrensel Saat'ten (UTC) 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 Eşgüdümlü Evrensel Saat'e (UTC) 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.