Bagikan melalui


Hubungkan ke item Fabric dari item fungsi data Pengguna Fabric Anda

Fungsi data Fabric User menyediakan koneksi ke sumber data fabric dan item yang didukung dengan menggunakan fitur Kelola koneksi di portal Fabric. Fitur ini memungkinkan Anda untuk terhubung ke sumber data Fabric Anda tanpa harus membuat string koneksi atau mengelola kredensial akses. Untuk item-item fabric yang bukan merupakan sumber data, Anda dapat terhubung dengan aman ke item-item tersebut di dalam fungsi.

Dalam artikel ini, Anda akan mempelajari cara:

  • Buat koneksi baru untuk item fungsi data pengguna Anda.
  • Gunakan koneksi baru Anda dalam kode fungsi Anda.
  • Ubah atau hapus koneksi data Anda.

Item yang didukung dalam fungsi data Fabric User

Item berikut saat ini didukung untuk fungsi data Fabric User:

Membuat koneksi data baru untuk item fungsi data pengguna Anda

Koneksi data apa pun yang Anda tambahkan dikaitkan dengan item fungsi data pengguna Anda dan dapat dirujuk dalam kode salah satu fungsi Anda. Untuk mengikuti panduan ini, Anda memerlukan item fungsi data Fabric User yang ada dan sumber data Fabric yang ada.

1. Akses fitur Kelola koneksi dari portal Functions

Dalam mode Kembangkan, temukan dan pilih Kelola koneksi di pita editor portal Functions.

Cuplikan layar editor portal fungsi dengan tombol kelola koneksi disorot.

Panel yang terbuka berisi koneksi data apa pun yang Anda buat. Pilih Tambahkan koneksi data untuk membuat koneksi baru.

Cuplikan layar panel samping dengan tab koneksi dipilih dan tidak ada koneksi yang tercantum.

2. Pilih koneksi data Anda dari katalog OneLake

Saat Anda memilih Tambahkan koneksi data, katalog OneLake terbuka dengan daftar semua sumber data yang dapat diakses akun pengguna Anda. Daftar difilter untuk hanya menyertakan sumber data yang didukung, beberapa di antaranya mungkin berada di ruang kerja lain.

Pilih sumber data Anda, lalu pilih Sambungkan.

Cuplikan layar katalog data OneLake dengan daftar sumber data.

Nota

Jika Anda tidak dapat menemukan sumber data yang Anda cari, pastikan Anda memiliki izin yang tepat untuk menyambungkannya. Atau, pastikan Anda menggunakan sumber data yang didukung, seperti yang tercantum di awal artikel ini.

Setelah dibuat, koneksi baru ke sumber data yang Anda pilih ditampilkan di panel samping pada tab Koneksi . Saat Anda melihat koneksi, perhatikan bidang Alias yang dihasilkan untuk itu. Anda memerlukan alias ini untuk mereferensikan koneksi dari fungsi apa pun dalam item fungsi data pengguna Anda.

Cuplikan layar panel sisi koneksi dengan koneksi sumber data baru yang dibuat.

3. Gunakan alias koneksi Anda dalam kode fungsi Anda

Setelah kembali ke editor portal, Anda perlu menambahkan alias koneksi yang Anda buat di Manage Connections tab ke kode Anda. Alias ini secara otomatis dibuat berdasarkan nama item Fabric yang Anda sambungkan.

Dalam hal ini kita akan menggunakan sampel kode yang disebut "Membaca data dari tabel di SQL Database". Anda dapat menemukan sampel ini dengan mengklik tab Edit, lalu mengklik tombol "Sisipkan sampel" dan menavigasi ke "SQL Database".

Cuplikan layar Sisipkan contoh katalog data dengan daftar sumber data.

Ini adalah kode sampel yang disisipkan:

@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

Nota

Meskipun sampel ini tersambung ke SQL Database, sampel tidak memerlukan skema atau data dalam database Anda untuk dijalankan.

Untuk menggunakan koneksi data yang Anda buat, ubah baris berikut dalam sampel ini: @udf.connection(argName="sqlDB",alias="<alias for sql database>") dengan mengganti nilai dengan yang alias Anda peroleh dari Manage Connections menu. Kode berikut menunjukkan contoh ini dengan nilai ContosoSalesDat:

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

Setelah memodifikasi kode, Anda dapat menguji perubahan dengan menggunakan kemampuan Uji dalam mode Kembangkan. Setelah siap, Anda dapat menerbitkan fungsi menggunakan tombol Terbitkan di toolbar. Operasi ini mungkin akan memakan waktu beberapa menit.

Cuplikan layar tombol 'Terbitkan'.

Setelah penerbitan selesai, Anda dapat menjalankan fungsi Anda dengan mengarahkan mouse ke namanya di daftar Functions Explorer, dan mengklik tombol "Jalankan" di panel samping. Panel bawah "Output" menunjukkan hasil menjalankan fungsi.

Cuplikan layar panel samping yang digunakan untuk Menjalankan fungsi.

Dan itu saja yang Anda butuhkan untuk terhubung ke sumber data dari Fabric User Data Functions Anda.

Memperoleh variabel dari pustaka variabel Fabric

Pustaka Variabel Fabric di Microsoft Fabric adalah repositori terpusat untuk mengelola variabel yang dapat digunakan di berbagai item dalam ruang kerja. Ini memungkinkan pengembang untuk menyesuaikan dan berbagi konfigurasi item secara efisien. Ikuti langkah-langkah ini untuk menggunakan Pustaka Variabel di fungsi Anda:

  1. Tambahkan koneksi ke pustaka variabel menggunakan Kelola koneksi dan dapatkan alias untuk item pustaka variabel.
  2. Tambahkan dekorator koneksi untuk item pustaka variabel. Misalnya, @udf.connection(argName="varLib", alias="<My Variable Library Alias>") dan ganti alias ke koneksi yang baru ditambahkan untuk item pustaka variabel.
  3. Dalam definisi fungsi, sertakan argumen dengan jenis fn.FabricVariablesClient. Klien ini menyediakan metode yang Anda butuhkan untuk bekerja dengan item pustaka variabel.
  4. Gunakan getVariables() metode untuk mendapatkan semua variabel dari pustaka variabel.
  5. Gunakan, untuk membaca nilai variabel, ["variable-name"] atau .get("variable-name").

Contoh Dalam contoh ini, kami mensimulasikan skenario konfigurasi untuk produksi dan lingkungan pengembangan. Fungsi ini mengatur jalur penyimpanan tergantung pada lingkungan yang dipilih menggunakan nilai yang diambil dari Pustaka Variabel. Pustaka Variabel berisi variabel yang disebut ENV tempat pengguna dapat mengatur nilai dev atau prod.

@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"