Microsoft Fabric'te Data Factory parametreleri
Bu belgede, Dokuda Data Factory için işlem hatlarınızda parametrelerin nasıl kullanılacağı açıklanmaktadır.
Bu belgede, Doku'da Data Factory içinde parametreli veri işlem hatları oluşturma becerisini keşfetmek için çeşitli örneklerle temel kavramları öğrenmeye odaklanacağız. Parametreleştirme ve dinamik ifadeler çok büyük miktarda zaman tasarrufu sağlayabilir ve çözüm bakım maliyetini önemli ölçüde azaltacak ve yeni özelliklerin mevcut işlem hatlarına uygulanmasını hızlandıracak çok daha esnek bir Ayıklama, Dönüştürme, Yükleme (ETL) veya Ayıklama, Yükleme, Dönüştürme (ELT) çözümüne olanak sağlar. Bu kazanımların nedeni parametreleştirmenin sabit kodlama miktarını en aza indirmesi ve çözümdeki yeniden kullanılabilir nesne ve işlem sayısını artırmasıdır.
Dış değerleri işlem hatlarına geçirmek için parametreleri kullanabilirsiniz. Parametre kaynağa geçirildikten sonra değiştirilemez. Kaynakları parametreleştirerek her seferinde farklı değerlerle yeniden kullanabilirsiniz. Parametreler tek tek veya ifadelerin bir parçası olarak kullanılabilir. Tanımdaki parametre değerleri değişmez değer veya çalışma zamanında değerlendirilen ifadeler olabilir.
İfadeler bir dize değerinin herhangi bir yerinde görünebilir ve her zaman başka bir dize değeri oluşturabilir. Burada parola, ifadedeki bir işlem hattı parametresidir. Parametre değeri bir ifadeyse, ifadenin gövdesi at-sign (@) kaldırılarak ayıklanır. @ile başlayan bir değişmez değer dizesi gerekiyorsa, @@ kullanılarak kaçışı yapılmalıdır. Aşağıdaki örneklerde ifadelerin nasıl değerlendirıldığı gösterilmektedir.
Parametre değeri | Result |
---|---|
"parametreler" | '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, ifadelerin içinde sarmalandığı dize ilişkilendirmesi adlı 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:
"Ad: @{pipeline().parameters.firstName} Soyadı: @{pipeline().parameters.lastName}"
Dize ilişkilendirmesi kullanıldığında sonuç her zaman bir dizedir. Örneğin, ve myString
olarak 42
foo
tanımladıysanızmyNumber
:
Parametre değeri | Result |
---|---|
"@pipeline().parameters.myString" | Dize olarak döndürür foo . |
"@{pipeline().parameters.myString}" | Dize olarak döndürür foo . |
"@pipeline().parameters.myNumber" | Sayı olarak döndürür42 . |
"@{pipeline().parameters.myNumber}" | Dize olarak döndürür42 . |
"Yanıt: @{pipeline().parameters.myNumber}" | dizesini Answer is: 42 döndürür. |
"@concat('Answer is: ', string(pipeline().parameters.myNumber))" | Dizeyi verir Answer is: 42 |
"Yanıt: @@{pipeline().parameters.myNumber}" | dizesini Answer is: @{pipeline().parameters.myNumber} döndürür. |
Parametre oluşturmak için işlem hattı düzenleyicisi tuvalinin arka planını ve ardından alttaki özellikler penceresinin Parametreler sekmesini seçin. + Yeni düğmesini seçerek işlem hattına yeni bir parametre ekleyin, bir ad, veri türü ve varsayılan değer verin:
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şlevler veya işlem hattı değişkenleri dahil olmak üzere 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.
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 alt alan2 gibi)
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
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 yukarıdaki içeriği aşağıdaki ifadeye dönüştürür:
MYDATA
İş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.
Bu sistem değişkenlerine işlem hattı JSON'un herhangi bir yerinde başvurulabilir.
Değişken Adı | Açıklama |
---|---|
@pipeline().DataFactory | İşlem hattı çalıştırmasının çalıştığı verilerin 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 zamandır ve tetikleyicinin zamanlanan zamanından biraz farklı olabilir. |
@pipeline().GroupId | İşlem hattı çalıştırmasının ait olduğu grubun kimliği. |
@pipeline()?. TriggeredByPipelineName | İşlem hattı çalıştırmasını tetikleyen işlem hattının adı. İşlem hattı çalıştırması bir ExecutePipeline etkinliği tarafından tetiklendiğinde geçerlidir. Başka durumlarda kullanıldığında Null olarak değerlendirin. Ardından soru işaretini not edin @pipeline() |
@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. Başka durumlarda kullanıldığında Null olarak değerlendirin. Ardından soru işaretini not edin @pipeline() |
Not
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
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 | Görev |
---|---|
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. |
Guıd | Dize olarak genel olarak benzersiz bir tanımlayıcı (GUID) oluşturun. |
ındexof | Alt dize için başlangıç konumunu döndürür. |
Lastındexof | Bir alt dizenin son oluşumu için başlangıç konumunu döndürür. |
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. |
Dize | Belirtilen konumdan başlayarak dizedeki karakterleri döndürür. |
Tolower | Küçük harf biçiminde bir dize döndürür. |
Toupper | Büyük harf biçiminde bir dize döndürür. |
Döşeme | Bir dizeden baştaki ve sondaki boşluğu kaldırın ve güncelleştirilmiş dizeyi döndürin. |
Koleksiyonlar, genel olarak diziler, dizeler ve bazen sözlüklerle çalışmak için bu koleksiyon işlevlerini kullanabilirsiniz.
Collection işlevi | Görev |
---|---|
Içerir | Koleksiyonun belirli bir öğeye sahip olup olmadığını denetleyin. |
empty | Bir koleksiyonun boş olup olmadığını denetleyin. |
Ilk | Koleksiyondaki ilk öğeyi döndürür. |
Kesişim | Belirtilen koleksiyonlar arasında yalnızca ortak öğeleri içeren bir koleksiyon döndürür. |
join | Belirtilen karakterle ayrılmış bir dizideki tüm öğeleri içeren bir dize döndürür. |
Son | Koleksiyondaki son öğeyi döndürür. |
length | Bir dize veya dizideki öğe sayısını döndürür. |
Atlamak | Bir koleksiyonun önünden öğeleri kaldırın ve diğer tüm öğeleri döndürin. |
al | Bir koleksiyonun önünden öğeleri döndürme. |
Birliği | Belirtilen koleksiyonlardan tüm öğeleri içeren bir koleksiyon döndürür. |
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 | Görev |
---|---|
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. |
eğer | İ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. |
veya | En az bir ifadenin doğru olup olmadığını denetleyin. |
Bu işlevler, dildeki yerel türlerin her biri arasında dönüştürme yapmak için kullanılır:
- Dize
- integer
- kayan noktalı sayı
- boolean
- Dizi
- Sözlük
Dönüştürme işlevi | Görev |
---|---|
Dizi | 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. |
Ikili | Giriş değeri için ikili sürümü döndürür. |
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 girişten bir dizi döndürür. |
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 karakterleri kaçış karakterleriyle değiştiren bir dize döndürü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. |
Bu işlevler her iki sayı türü için de kullanılabilir: tamsayılar ve kayan sayılar.
Matematik işlevi | Görev |
---|---|
add | İki sayı ekleyerek sonucu döndürür. |
div | İki sayıyı bölerek sonucu döndürür. |
Max | Bir sayı veya dizi kümesinden en yüksek değeri döndürür. |
Dk | Bir sayı veya dizi kümesinden en düşük değeri döndürür. |
mod | kalan iki sayıyı bölmeden geri kalanı döndürür. |
Mul | Ürünü iki sayının çarpımından döndür. |
rand | Belirtilen aralıktan rastgele bir tamsayı döndürür. |
aralık | Belirtilen bir tamsayıdan başlayan bir tamsayı dizisi döndürür. |
Alt | İkinci sayıyı ilk numaradan çıkararak sonucu döndürür. |
Tarih veya saat işlevi | Görev |
---|---|
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 | Bir zaman damgasından ayın gününü döndürü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 damgası için saatin başlangıcını döndürür. |
startOfMonth | Zaman damgası için ayın başlangıcını döndürür. |
subtractFromTime | Zaman damgasından bir dizi zaman birimini çıkarın. Ayrıca bkz. getPastTime. |
Ticks | ticks Belirtilen bir zaman damgası için özellik değerini döndürür. |
utcNow | Geçerli zaman damgasını dize olarak döndürür. |