แชร์ผ่าน


เชื่อมต่อกับรายการ Fabric จากรายการฟังก์ชันข้อมูลผู้ใช้ Fabric ของคุณ

ฟังก์ชันข้อมูลผู้ใช้ Fabric ให้การเชื่อมต่อกับแหล่งข้อมูลและรายการ Fabric ที่รองรับโดยใช้คุณลักษณะ จัดการการเชื่อมต่อ ในพอร์ทัล Fabric คุณลักษณะนี้ช่วยให้คุณสามารถเชื่อมต่อกับแหล่งข้อมูล Fabric ของคุณโดยไม่ต้องสร้างสตริงการเชื่อมต่อหรือจัดการข้อมูลประจําตัวการเข้าถึง สําหรับรายการผ้าที่ไม่ใช่แหล่งข้อมูล คุณสามารถเชื่อมต่อกับรายการเหล่านั้นภายในฟังก์ชันได้อย่างปลอดภัย

ในบทความนี้ คุณจะได้เรียนรู้วิธีการ:

  • สร้างการเชื่อมต่อใหม่สําหรับรายการฟังก์ชันข้อมูลผู้ใช้ของคุณ
  • ใช้การเชื่อมต่อใหม่ของคุณในรหัสฟังก์ชันของคุณ
  • ปรับเปลี่ยนหรือลบการเชื่อมต่อข้อมูลของคุณ

รายการที่รองรับในฟังก์ชันข้อมูลผู้ใช้ Fabric

รายการต่อไปนี้ได้รับการสนับสนุนสําหรับฟังก์ชันข้อมูลผู้ใช้ Fabric:

สร้างการเชื่อมต่อข้อมูลใหม่สําหรับรายการฟังก์ชันข้อมูลผู้ใช้ของคุณ

การเชื่อมต่อข้อมูลใด ๆ ที่คุณเพิ่มจะเชื่อมโยงกับรายการฟังก์ชันข้อมูลผู้ใช้ของคุณและสามารถอ้างอิงในรหัสของฟังก์ชันใด ๆ ของคุณ เมื่อต้องการทําตามคําแนะนํานี้ คุณต้องมีรายการฟังก์ชันข้อมูลผู้ใช้ Fabric ที่มีอยู่และแหล่งข้อมูล Fabric ที่มีอยู่

1. เข้าถึงคุณลักษณะจัดการการเชื่อมต่อจากพอร์ทัลฟังก์ชัน

ในโหมด พัฒนา ค้นหาและเลือก จัดการการเชื่อมต่อ ใน Ribbon ของตัวแก้ไขพอร์ทัลฟังก์ชัน

สกรีนช็อตของตัวแก้ไขพอร์ทัลฟังก์ชันด้วยปุ่มจัดการการเชื่อมต่อที่ถูกเน้น

บานหน้าต่างที่เปิดประกอบด้วยการเชื่อมต่อข้อมูลใด ๆ ที่คุณสร้างขึ้น เลือก เพิ่มการเชื่อมต่อข้อมูล เพื่อสร้างการเชื่อมต่อใหม่

สกรีนช็อตของบานหน้าต่างด้านข้างที่มีแท็บการเชื่อมต่อที่เลือกและไม่มีการเชื่อมต่ออยู่ในรายการ

2. เลือกการเชื่อมต่อข้อมูลของคุณจากแค็ตตาล็อก OneLake

เมื่อคุณเลือก เพิ่มการเชื่อมต่อข้อมูลแค็ตตาล็อก OneLake จะเปิดขึ้นพร้อมกับรายการแหล่งข้อมูลทั้งหมดที่บัญชีผู้ใช้ของคุณมีสิทธิ์เข้าถึง รายการจะถูกกรองให้รวมเฉพาะแหล่งข้อมูลที่ได้รับการสนับสนุน บางส่วนอาจอยู่ในพื้นที่ทํางานอื่น ๆ

เลือกแหล่งข้อมูลของคุณ จากนั้นเลือก เชื่อมต่อ

สกรีนช็อตของแค็ตตาล็อกข้อมูล OneLake ที่มีรายการของแหล่งข้อมูล

โน้ต

ถ้าคุณไม่พบแหล่งข้อมูลที่คุณกําลังค้นหา ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์ที่ถูกต้องในการเชื่อมต่อกับแหล่งข้อมูลดังกล่าว อีกวิธีหนึ่งคือ ตรวจสอบให้แน่ใจว่า คุณกําลังใช้แหล่งข้อมูลที่สนับสนุน ตามที่แสดงที่จุดเริ่มต้นของบทความนี้

เมื่อสร้างขึ้นแล้ว การเชื่อมต่อใหม่ไปยังแหล่งข้อมูลที่คุณเลือกจะแสดงในบานหน้าต่างด้านข้างบนแท็บ การเชื่อมต่อ เมื่อคุณเห็นการเชื่อมต่อ ให้จดบันทึกเขตข้อมูลนามแฝงของ ที่สร้างขึ้น คุณจําเป็นต้องมีนามแฝงนี้เพื่ออ้างอิงการเชื่อมต่อจากฟังก์ชันใด ๆ ในรายการฟังก์ชันข้อมูลผู้ใช้ของคุณ

สกรีนช็อตของบานหน้าต่างด้านข้างการเชื่อมต่อที่มีการเชื่อมต่อแหล่งข้อมูลใหม่ที่สร้างขึ้น

3. ใช้นามแฝงการเชื่อมต่อของคุณในโค้ดฟังก์ชันของคุณ

เมื่อคุณกลับมาในตัวแก้ไขพอร์ทัลแล้ว คุณจําเป็นต้องเพิ่มนามแฝงของการเชื่อมต่อที่คุณสร้างขึ้นในแท็บ Manage Connections ลงในโค้ดของคุณ นามแฝงนี้ถูกสร้างขึ้นโดยอัตโนมัติตามชื่อของรายการ Fabric ที่คุณกําลังเชื่อมต่อ

ในกรณีนี้ เราจะใช้ตัวอย่างโค้ดที่เรียกว่า "อ่านข้อมูลจากตารางในฐานข้อมูล SQL" คุณสามารถค้นหาตัวอย่างนี้ ได้โดยคลิกที่แท็บ แก้ไข จากนั้นคลิกที่ปุ่ม "แทรกตัวอย่าง" และนําทางไปยัง "ฐานข้อมูล SQL"

สกรีนช็อตของการแทรกแค็ตตาล็อกข้อมูลตัวอย่างด้วยรายการของแหล่งข้อมูล

นี่คือโค้ดตัวอย่างที่ถูกแทรกเข้าไป:

@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

โน้ต

แม้ว่าตัวอย่างนี้จะเชื่อมต่อกับฐานข้อมูล SQL แต่ก็ไม่จําเป็นต้องมี Schema หรือข้อมูลในฐานข้อมูลของคุณเพื่อเรียกใช้

เมื่อต้องการใช้การเชื่อมต่อข้อมูลที่คุณสร้างขึ้น ให้ปรับเปลี่ยนบรรทัดต่อไปนี้ในตัวอย่างนี้: @udf.connection(argName="sqlDB",alias="<alias for sql database>") โดยการแทนที่ค่าของ alias ด้วยค่าที่คุณได้รับจากเมนู Manage Connections รหัสต่อไปนี้แสดงตัวอย่างที่มีค่า ContosoSalesDat:

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

หลังจากแก้ไขโค้ดแล้ว คุณสามารถทดสอบการเปลี่ยนแปลงของคุณโดยใช้ ความสามารถทดสอบในโหมด พัฒนา เมื่อคุณพร้อมแล้ว คุณสามารถเผยแพร่ฟังก์ชันของคุณโดยใช้ปุ่ม เผยแพร่ ในแถบเครื่องมือ การดำเนินการนี้อาจใช้เวลาสองสามนาที

สกรีนช็อตของปุ่ม 'เผยแพร่'

เมื่อการเผยแพร่เสร็จสมบูรณ์คุณสามารถเรียกใช้ฟังก์ชันของคุณโดยวางเมาส์เหนือชื่อในรายการ Functions Explorer และคลิกที่ปุ่ม "เรียกใช้" ในบานหน้าต่างด้านข้าง แผงด้านล่าง "เอาต์พุต" แสดงผลลัพธ์ของการเรียกใช้ฟังก์ชัน

สกรีนช็อตของแผงด้านข้างที่ใช้ในการเรียกใช้ฟังก์ชัน

และนั่นคือทั้งหมดที่คุณต้องการเพื่อเชื่อมต่อกับแหล่งข้อมูลจากฟังก์ชันข้อมูลผู้ใช้ Fabric ของคุณ

รับตัวแปรจากไลบรารีตัวแปร Fabric

ไลบรารีตัวแปร Fabric ใน Microsoft Fabric เป็นที่เก็บส่วนกลางสําหรับจัดการตัวแปรที่สามารถใช้กับรายการต่างๆ ภายในพื้นที่ทํางาน ช่วยให้นักพัฒนาสามารถปรับแต่งและแชร์การกําหนดค่ารายการได้อย่างมีประสิทธิภาพ ทําตามขั้นตอนเหล่านี้เพื่อใช้ Variable Libraries ในฟังก์ชันของคุณ:

  1. เพิ่มการเชื่อมต่อกับไลบรารีตัวแปรโดยใช้จัดการการเชื่อมต่อและรับนามแฝงสําหรับรายการไลบรารีตัวแปร
  2. เพิ่มตัวตกแต่งการเชื่อมต่อสําหรับรายการไลบรารีตัวแปร ตัวอย่างเช่น @udf.connection(argName="varLib", alias="<My Variable Library Alias>") และแทนที่นามแฝงของการเชื่อมต่อที่เพิ่มเข้ามาใหม่สําหรับรายการไลบรารีตัวแปร
  3. ในคําจํากัดความของฟังก์ชัน ให้รวมอาร์กิวเมนต์ที่มีชนิดfn.FabricVariablesClient ไคลเอ็นต์นี้มีวิธีการที่คุณต้องการในการทํางานกับรายการไลบรารีตัวแปร
  4. ใช้ getVariables() เมธอดเพื่อรับตัวแปรทั้งหมดจากไลบรารีตัวแปร
  5. หากต้องการอ่านค่าของตัวแปรให้ใช้ ["variable-name"] หรือ .get("variable-name").

ตัวอย่าง ในตัวอย่างนี้ เราจําลองสถานการณ์การตั้งค่าคอนฟิกสําหรับสภาพแวดล้อมการผลิตและการพัฒนา ฟังก์ชันนี้ตั้งค่าเส้นทางการจัดเก็บข้อมูลโดยขึ้นอยู่กับสภาพแวดล้อมที่เลือกโดยใช้ค่าที่ดึงมาจากไลบรารีตัวแปร ไลบรารีตัวแปรมีตัวแปรที่เรียกว่า ENV ซึ่งผู้ใช้สามารถตั้งค่า dev หรือ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"