Aracılığıyla paylaş


Fabric kullanıcı verisi işlevleri öğenizden Fabric öğelerine bağlanma

Doku Kullanıcısı veri işlevleri, Doku portalındaki Bağlantıları yönet özelliğini kullanarak desteklenen doku veri kaynaklarına ve öğelerine bağlantılar sağlar. Bu özellik, bağlantı dizeleri oluşturmak veya erişim kimlik bilgilerini yönetmek zorunda kalmadan Doku veri kaynaklarınıza bağlanmanızı sağlar. Veri kaynağı olmayan doku öğeleri için bu öğelere bir işlev içinde güvenli bir şekilde bağlanabilirsiniz.

Bu makalede şunların nasıl yapılacağını öğreneceksiniz:

  • Kullanıcı verileri işlevleri öğeniz için yeni bir bağlantı oluşturun.
  • İşlev kodunuzda yeni bağlantınızı kullanın.
  • Veri bağlantınızı değiştirin veya silin.

Fabric Kullanıcı veri fonksiyonlarında desteklenen öğeler

Fabric Kullanıcı veri işlevleri için mevcut olan desteklenen öğeler şunlardır:

Kullanıcı verileri işlevleri öğeniz için yeni bir veri bağlantısı oluşturma

Eklediğiniz tüm veri bağlantıları, kullanıcı verileri işlevleri öğenizle ilişkilendirilir ve işlevlerinizden herhangi birinin kodunda başvurulabilir. Bu kılavuzu izlemek için mevcut bir Doku Kullanıcısı veri işlevleri öğesine ve mevcut bir Doku veri kaynağına ihtiyacınız vardır.

1. İşlevler portalından Bağlantıları yönet özelliğine erişin

Geliştirme modunda, İşlevler portalı düzenleyicisinin şeridinde Bağlantıları yönet'i bulun ve seçin.

İşlev portalı düzenleyicisinin ekran görüntüsü, bağlantıları yönet düğmesi vurgulanmış halde.

Açılan bölme, oluşturduğunuz tüm veri bağlantılarını içerir. Yeni bir bağlantı oluşturmak için Veri bağlantısı ekle'yi seçin.

Bağlantılar sekmesi seçili ve hiçbir bağlantı listelenmemiş yan bölmenin ekran görüntüsü.

2. OneLake kataloğundan veri bağlantınızı seçin

Veri bağlantısı ekle seçtiğinizde, OneLake kataloğu, kullanıcı hesabınızın erişim sahibi olduğu tüm veri kaynaklarının bir listesiyle açılır. Liste yalnızca desteklenen veri kaynaklarını içerecek şekilde filtrelenmiştir ve bazıları diğer çalışma alanlarında olabilir.

Veri kaynağınızı seçin, ardından Bağlan seçin.

OneLake veri kataloğunun, veri kaynaklarının listesiyle ekran görüntüsü.

Uyarı

Aradığınız veri kaynağını bulamıyorsanız, buna bağlanmak için doğru izinlere sahip olduğunuzdan emin olun. Alternatif olarak, bu makalenin başında listelendiği gibi desteklenen bir veri kaynağı kullandığınızdan emin olun.

Oluşturulduktan sonra, seçtiğiniz veri kaynağına yönelik yeni bağlantı, Bağlantılar sekmesindeki yan bölmede gösterilir. Bağlantıyı gördüğünüzde, bunun için oluşturulan Diğer Ad alanını not edin. Kullanıcı verileri işlevleri öğenizdeki herhangi bir işlevden bağlantıya başvurmak için bu diğer adı kullanmanız gerekir.

Yeni veri kaynağı bağlantısının oluşturulduğu bağlantılar yan bölmesinin ekran görüntüsü.

3. İşlev kodunuzda bağlantı takma adınızı kullanın

Portal düzenleyicisine geri döndüğünüzde, sekmede Manage Connections oluşturduğunuz bağlantının diğer adını kodunuza eklemeniz gerekir. Bağlanmakta olduğunuz Fabric öğesinin adına göre bu diğer ad otomatik olarak oluşturulur.

Bu durumda "SQL Veritabanındaki bir tablodan veri okuma" adlı bir kod örneği kullanacağız. Bu örneği, Düzenle sekmesine ve ardından "Örnek ekle" düğmesine tıklayıp "SQL Veritabanı"na giderek bulabilirsiniz.

Veri kaynaklarının listesini içeren Örnek veri kataloğu ekleme ekran görüntüsü.

Bu, eklenen örnek koddur:

@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
    # Replace with the query you want to run
    query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"

    # Establish a connection to the SQL database
    connection = sqlDB.connect()
    cursor = connection.cursor()

    query.capitalize()

    # Execute the query
    cursor.execute(query)

    # Fetch all results
    results = []
    for row in cursor.fetchall():
        results.append(row)

    # Close the connection
    cursor.close()
    connection.close()
        
    return results

Uyarı

Bu örnek bir SQL Veritabanına bağlansa da, veritabanınızda çalıştırılacak bir şemaya veya verilere gerek yoktur.

Oluşturduğunuz veri bağlantısını kullanmak için şu örnekteki satırı değiştirin: @udf.connection(argName="sqlDB",alias="<alias for sql database>") değerini alias menüden aldığınız Manage Connections değerle değiştirin. Aşağıdaki kod, ContosoSalesDat değeriyle bu örneği gösterir:

@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
    [...]

Kodu değiştirdikten sonra, Geliştirme modunda Test özelliğini kullanarak değişikliklerinizi test edebilirsiniz. Hazır olduğunuzda, araç çubuğundaki Yayımla düğmesini kullanarak işlevinizi yayımlayabilirsiniz. Bu işlem birkaç dakika sürebilir.

'Yayımla' düğmesinin ekran görüntüsü.

Yayımlama tamamlandıktan sonra İşlev Gezgini listesinde adının üzerine gelip yan paneldeki "Çalıştır" düğmesine tıklayarak işlevinizi çalıştırabilirsiniz. Alt paneldeki "Output" işlevi çalıştırmanın sonucunu gösterir.

İşlev çalıştırmak için kullanılan yan panelin ekran görüntüsü.

Fabric Kullanıcı Verileri Fonksiyonları'ndan bir veri kaynağına bağlanmak için ihtiyacınız olan tek şey budur.

Fabric değişken kütüphanelerinden değişkenleri alma

Microsoft Fabric'teki Fabric Variable Library, çalışma alanı içindeki farklı öğeler arasında kullanılabilecek değişkenleri yönetmeye yönelik merkezi bir depodur. Geliştiricilerin öğe yapılandırmalarını verimli bir şekilde özelleştirmesine ve paylaşmasına olanak tanır. İşlevlerinizde Değişken Kitaplıklarını kullanmak için şu adımları izleyin:

  1. Bağlantıları yönet'i kullanarak bir değişken kitaplığına bağlantı ekleyin ve değişken kitaplığı öğesinin diğer adını alın.
  2. Değişken kitaplığı öğesi için bir bağlantı dekoratörü ekleyin. Örneğin, @udf.connection(argName="varLib", alias="<My Variable Library Alias>") değişken kitaplık öğesi için yeni eklenen bağlantının diğer adını değiştirin.
  3. İşlev tanımına türüne fn.FabricVariablesClientsahip bir bağımsız değişken ekleyin. Bu istemci, değişkenler kitaplığı öğesiyle çalışmak için ihtiyacınız olan yöntemleri sağlar.
  4. Değişken kitaplığındaki tüm değişkenleri almak için yöntemini kullanın getVariables() .
  5. Değişkenlerin değerlerini okumak için, ya ["variable-name"] ya da .get("variable-name") kullanın.

Örnek Bu örnekte bir üretim ve geliştirme ortamı için yapılandırma senaryosu simülasyonu yapıyoruz. Bu işlev, Değişken Kitaplığı'ndan alınan bir değeri kullanarak seçili ortama bağlı olarak bir depolama yolu ayarlar. Değişken Kitaplığı, kullanıcıların ENV veya prod değerini ayarlayabildiği dev adlı bir değişken içerir.

@udf.connection(argName="varLib", alias="<My Variable Library Alias>")
@udf.function()
def get_storage_path(dataset: str, varLib: fn.FabricVariablesClient) -> str:
    """
    Description: Determine storage path for a dataset based on environment configuration from Variable Library.
    
    Args:
        dataset_name (str): Name of the dataset to store.
        varLib (fn.FabricVariablesClient): Fabric Variable Library connection.
    
    Returns:
        str: Full storage path for the dataset.
    """
    # Retrieve variables from Variable Library
    variables = varLib.getVariables()
    
    # Get environment and base paths
    env = variables.get("ENV")    
    dev_path = variables.get("DEV_FILE_PATH")
    prod_path = variables.get("PROD_FILE_PATH")
    
    # Apply environment-specific logic
    if env.lower() == "dev":
        return f"{dev_path}{dataset}/"
    elif env.lower() == "prod":
        return f"{prod_path}{dataset}/"
    else:
        return f"incorrect settings define for ENV variable"