Azure Data Factory parametreleri, ifadeleri ve işlevleri kullanma

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, Azure Data Factory parametreli veri işlem hatları oluşturmanıza yardımcı olan temel kavramlar ve örnekler ele alınmaktadır. Parametreleştirme ve dinamik ifadeler ADF'ye esneklik kazandırır ve daha esnek Ayıklama, Dönüştürme, Yükleme (ETL) veya Ayıklama, Yükleme, Dönüştürme (ELT) çözümlerine olanak tanıyarak zaman kazandırabilir. Bu özellikler çözüm bakım maliyetlerini azaltır ve yeni özelliklerin mevcut işlem hatlarına uygulanmasını hızlandırmaktadır. Parametreleştirme, sabit kodlamayı en aza indirir ve bir çözümdeki yeniden kullanılabilir nesne ve işlem sayısını artırır.

Azure Data Factory Kullanıcı Arabirimi ve Parametreler

parametre oluşturma ve atamayı işlem hatları, veri kümeleri ve veri akışları için Azure Data Factory kullanıcı arabiriminde (UI) bulabilirsiniz.

  1. Azure Data Factory studio'da, Authoring Canvas'a gidin ve bir işlem hattı, veri kümesi veya veri akışını düzenleyin.

  2. İşlem hattı ayarlarını açmak için boş tuvali seçin. Hiçbir etkinlik seçmeyin. Tuval daraltılmış olabileceğinden, ayar bölmesini tuvalin alt kısmından çekmeniz gerekebilir.

  3. Parametreler sekmesini seçin ve parametre eklemek için + Yeni'yi seçin.

    İşlem hattında parametrelerin nasıl tanımlandığını gösteren işlem hattı ayarını gösteren ekran görüntüsü.

Parametreleştirmek istediğiniz özelliğin yanındaki Dinamik içerik ekle'yi seçerek bağlı hizmetlerde parametreleri de kullanabilirsiniz.

Parametre 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. Örneğin, Azure Blob Depolama klasörlere erişen bir veri kümeniz varsa, işlem hattı her çalıştırıldığında farklı klasörlere erişmek için aynı veri kümesini yeniden kullanabilmek için klasör yolunu parametreleştirebilirsiniz.

Parametreler değişkenlere benzer, ancak parametreler dış olduğundan farklıdır ve bu nedenle işlem hatlarına, veri kümelerine, bağlı hizmetlere ve veri akışlarına geçirilirken değişkenler bir işlem hattı içinde tanımlanır ve kullanılır . Parametreler salt okunurken değişkenler Değişken Ayarla etkinliği kullanılarak bir işlem hattı içinde değiştirilebilir.

Parametreleri tek başına veya ifadelerin bir parçası olarak kullanabilirsiniz. Bir parametrenin değeri sabit bir değer veya çalışma zamanında değerlendirilen bir ifade olabilir.

Örneğin:

"name": "value"

veya

"name": "@pipeline().parameters.password"

Parametreleri olan ifadeler

İfadeler işlem hattının, veri kümesinin, bağlı hizmetin veya veri akışı tanımının çeşitli bölümlerinde dinamik değerler oluşturmak için kullanılır. İfadeler her zaman bir at-sign (@) ile başlar ve ardından ifade gövdesi parantez içine alınır. Örneğin, aşağıdaki ifade iki dizeyi concat birleştirmek için işlevini kullanır:

@concat('Hello, ', 'World!')

İfadelerde parametrelere başvururken aşağıdaki söz dizimini kullanırsınız:

@pipeline().parameters.parameterName

veya

@dataset().parameters.parameterName

İfade diline genel bakış makalesinde ifadeler hakkında daha fazla bilgi edinebilirsiniz, ancak burada ifadelerde parametre kullanımına ilişkin bazı örnekler verilmiştir.

Karmaşık ifade örneği

Aşağıdaki örnek, etkinlik çıkışının derin bir alt alanına başvurur. 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

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, 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 ifadesine "{ \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. Değeri, ifadesini kullanarak folderPath özelliği için bir değer ayarlar: 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"
            }
        }
    }
}

Alıştırma için ayrıntılı örnekler

Azure Data Factory parametreleriyle işlem hattını kopyalama

Bu Azure Data Factory kopyalama işlem hattı parametre geçirme öğreticisi, bir işlem hattı ile etkinlik ve etkinlikler arasında parametrelerin nasıl geçirileceğini size adım adım açıklar.

Veri akışı hattını parametrelerle eşleme

Veri akışında parametrelerin nasıl kullanılacağına ilişkin kapsamlı bir örnek için Parametrelerle veri akışı eşleme kılavuzunu izleyin.

Parametrelerle meta veri temelli işlem hattı

Meta veri temelli işlem hatları tasarlamak için parametreleri kullanma hakkında daha fazla bilgi edinmek için Parametrelerle meta veri temelli işlem hattı kılavuzunu izleyin. Bu, parametreler için yaygın bir kullanım örneğidir.

İfadelerde kullanabileceğiniz sistem değişkenlerinin listesi için bkz . Sistem değişkenleri.