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.
GEÇERLİDİR: Azure Data Factory
Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu belgede, Azure Data Factory'de parametreli veri işlem hatları oluşturma özelliğini keşfetmeye yönelik çeşitli örneklerle temel kavramları öğrenmeye odaklanacağız. Parametreleştirme ve dinamik ifadeler, çok büyük miktarda zaman tasarrufu sağlayıp ç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 tanıyabildiğinden, çözüm bakım maliyetini önemli ölçüde azaltacak ve yeni özelliklerin mevcut işlem hatlarına uygulanmasını hızlandıracak şekilde ADF'ye yapılan önemli eklemelerdir. 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.
Azure Data Factory kullanıcı arabirimi ve parametreleri
ADF kullanıcı arabiriminde Azure Data Factory parametre kullanımına yeniyseniz, görsel bir açıklama için parametrelerle bağlantılı hizmetler için Data Factory kullanıcı arabirimi ve parametrelerle meta veri temelli işlem hattı için Data Factory kullanıcı arabirimi konularını gözden geçirin.
Parametre ve ifade kavramları
Dış değerleri işlem hatlarına, veri kümelerine, bağlı hizmetlere ve veri akışları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 JSON değerleri, değişmez değerler veya çalışma zamanında değerlendirilebilen ifadeler olabilir.
Örneğin:
"name": "value"
veya
"name": "@pipeline().parameters.password"
İfadeler JSON dize değerinin herhangi bir yerinde görünebilir ve her zaman başka bir JSON değeriyle sonuçlanabilir. Burada parola, ifadedeki bir işlem hattı parametresidir. JSON 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.
JSON değeri | Sonuç |
---|---|
parametreler | 'parameters' karakterleri döndürülür. |
"parameters[1]" | 'parameters[1]' karakter dizisi geri döner. |
"@@" | '@' 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: "name" : "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
Dize ilişkilendirmesi kullanıldığında sonuç her zaman bir dizedir. Diyelim ki, myNumber
öğesini 42
olarak ve myString
öğesini foo
olarak tanımladım:
JSON değeri | Sonuç |
---|---|
"@pipeline().parameters.myString" |
foo öğesini dize olarak döndürür. |
"@{pipeline().parameters.myString}" | Dize olarak döndürür foo . |
"@pipeline().parameters.myNumber" | Sayı42 döndürür. |
"@{pipeline().parameters.myNumber}" | Dize 42 olarak döndürür. |
"Yanıt: @{pipeline().parameters.myNumber}" | Dizeyi döndürür Answer is: 42 . |
"@concat('Answer is: ', string(pipeline().parameters.myNumber))" | Metni döndürür Answer is: 42 |
"Yanıt: @@{pipeline().parameters.myNumber}" | Diziyi Answer is: @{pipeline().parameters.myNumber} döndürür. |
İfadelerde parametre kullanma örnekleri
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 alt alan2 gibi)
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Dinamik içerik düzenleyicisi
Dinamik içerik düzenleyicisi, düzenlemeyi bitirdiğinizde içeriğinizdeki karakterleri otomatik olarak çıkarır. Örneğin, içerik düzenleyicisinde aşağıdaki içerik, iki ifade işlevine sahip bir dize ilişkilendirmesidir.
{
"type": "@{if(equals(1, 2), 'Blob', 'Table' )}",
"name": "@{toUpper('myData')}"
}
Dinamik içerik düzenleyicisi yukarıdaki içeriği ifadeye "{ \n \"type\": \"@{if(equals(1, 2), 'Blob', 'Table' )}\",\n \"name\": \"@{toUpper('myData')}\"\n}"
dönüştürür. Bu ifadenin sonucu aşağıda gösterilen bir JSON biçim dizesidir.
{
"type": "Table",
"name": "MYDATA"
}
Parametreleri olan bir veri kümesi
Aşağıdaki örnekte, BlobDataset path adlı bir parametre alır. Bu değer, folderPath özelliği için bir değer ayarlamak amacıyla ifade kullanılarak kullanılır: dataset().path
.
{
"name": "BlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": "@dataset().path"
},
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"path": {
"type": "String"
}
}
}
}
Parametreleri olan bir işlem hattı
Aşağıdaki örnekte işlem hattı inputPath ve outputPath parametrelerini alır.
Parametreli blob veri kümesinin yolu, bu parametrelerin değerleri kullanılarak ayarlanır. Burada kullanılan söz dizimi: pipeline().parameters.parametername
.
{
"name": "Adfv2QuickStartPipeline",
"properties": {
"activities": [
{
"name": "CopyFromBlobToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.inputPath"
},
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.outputPath"
},
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
}
}
],
"parameters": {
"inputPath": {
"type": "String"
},
"outputPath": {
"type": "String"
}
}
}
}
İfadeler içinde fonksiyonları çağırma
İfadeler içinde işlevleri çağırabilirsiniz. Aşağıdaki bölümlerde bir ifadede kullanılabilecek işlevler hakkında bilgi sağlanır.
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 | 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. |
guid | Dize olarak küresel olarak benzersiz bir tanımlayıcı (GUID) oluşturun. |
indexOf | Alt dize için başlangıç konumunu döndürür. |
lastIndexOf | 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. |
ileBaşlar | Dizenin belirli bir alt dizeyle başlayıp başlamadığını denetleyin. |
Dize | Belirtilen konumdan başlayarak dizedeki karakterleri döndürür. |
toLower | Bir dizeyi küçük harf biçiminde döndürün. |
toUpper | Büyük harf biçiminde dize döndür. |
kesmek | 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.
Toplama işlevi | Görev |
---|---|
Içerir | Koleksiyonun belirli bir öğeye sahip olup olmadığını denetleyin. |
empty | Bir koleksiyonun boş olup olmadığını denetleyin. |
birinci | Koleksiyondaki ilk öğeyi döndürür. |
kesişme | 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. |
almak | Bir koleksiyonun önünden öğeleri döndürme. |
sendika | Belirtilen koleksiyonlardan 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 | Görev |
---|---|
and | Tüm ifadelerin doğru olup olmadığını denetleyin. |
eşittir | Her iki değerin de eşdeğer olup olmadığını denetleyin. |
daha büyük | İ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. |
daha az | İlk değerin ikinci değerden küçük olup olmadığını denetleyin. |
küçük veya eşit | İlk değerin ikinci değerden küçük veya buna eşit olup olmadığını denetleyin. |
değil | İfadenin false olup olmadığını denetleyin. |
veya | 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:
- Dize
- tamsayı
- float
- 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. |
birleşmek | 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. |
Matematik İşlevleri
Bu işlevler her iki sayı türü için de kullanılabilir: tamsayılar ve kayan sayılar.
Matematik işlevi | Görev |
---|---|
ekle | İki sayı ekleyerek sonucu döndürür. |
div | İki sayıyı bölerek sonucu döndür. |
max | Bir sayı veya dizi kümesinden en yüksek değeri döndürür. |
dakika | Bir sayı veya dizi kümesinden en düşük değeri döndürür. |
mod | İki sayıyı böldükten sonra kalanı döndü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. |
Sub | İkinci sayıyı ilk numaradan çıkararak sonucu döndürür. |
Tarih işlevleri
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. |
UTC'denDönüştürme | 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 geri döndür. |
dayOfYear | Zaman damgasından yılın günü bileşenini geri döndü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 | Bir zaman damgası için saatin başlangıcını ver. |
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. |
Alıştırma için ayrıntılı örnekler
Parametrelerle ayrıntılı Azure Data Factory kopyalama işlem hattı
Bu Azure Data Factory kopyalama işlem hattı parametresi geçirme öğreticisi , bir işlem hattı ile etkinlik arasında ve etkinlikler arasında parametreleri geçirme konusunda size yol gösterir.
Parametrelerle ayrıntılı eşleme veri akışı boru hattı
Veri akışında parametrelerin nasıl kullanılacağına ilişkin kapsamlı bir örnek için bkz. Parametrelerle veri akışı eşleme.
Parametrelerle ayrıntılı Meta veri temelli işlem hattı
Meta veri temelli işlem hatlarını tasarlamak için parametreleri kullanma hakkında daha fazla bilgi edinmek için lütfen parametrelerle meta veri temelli işlem hattını izleyin. Bu, parametreler için popüler bir kullanım örneğidir.
İlgili içerik
İfadelerde kullanabileceğiniz sistem değişkenlerinin listesi için bkz . Sistem değişkenleri.