Freigeben über


Herstellen einer Verbindung mit Fabric-Elementen aus dem Fabric-Benutzerdatenfunktionen-Element

Fabric-Benutzerdatenfunktionen stellen Verbindungen zu unterstützten Fabric-Datenquellen und -Elementen mithilfe des Features "Verbindungen verwalten " im Fabric-Portal bereit. Mit diesem Feature können Sie eine Verbindung mit Ihren Fabric-Datenquellen herstellen, ohne Verbindungszeichenfolgen erstellen oder Zugriffsanmeldeinformationen verwalten zu müssen. Für Fabric-Elemente, die keine Datenquelle sind, können Sie sicher eine Verbindung mit diesen Elementen innerhalb einer Funktion herstellen.

In diesem Artikel erfahren Sie, wie Sie:

  • Erstellen Sie eine neue Verbindung für das User Data Functions-Element.
  • Verwenden Sie die neue Verbindung in Ihrem Funktionscode.
  • Ändern oder löschen Sie Ihre Datenverbindung.

Unterstützte Elemente in Fabric-Benutzerdatenfunktionen

Die folgenden Elemente werden derzeit für Fabric-Benutzerdatenfunktionen unterstützt:

Erstellen Sie eine neue Datenverbindung für das User Data Functions-Element.

Alle von Ihnen hinzugefügten Datenverbindungen sind Ihrem User Data Functions-Element zugeordnet. Zudem kann im Code einer beliebigen Funktion auf diese Datenverbindungen verwiesen werden. Um diesem Leitfaden zu folgen, benötigen Sie ein vorhandenes Fabric User Data Functions-Element und eine vorhandene Fabric-Datenquelle.

1. Zugreifen auf das Feature zum Verwalten von Verbindungen über das Functions-Portal

Suchen und wählen Sie im Entwicklungsmodus im Menüband des Funktionsportal-Editors Verbindungen verwalten aus.

Screenshot: Editor im Functions-Portal mit hervorgehobener Schaltfläche „Verbindungen verwalten“

Der geöffnete Bereich enthält alle von Ihnen erstellten Datenverbindungen. Wählen Sie Datenverbindung hinzufügen aus, um eine neue Verbindung zu erstellen.

Screenshot: Seitenbereich, auf dem die Registerkarte „Verbindungen“ ausgewählt ist und keine Verbindungen aufgelistet sind

2. Auswählen der Datenverbindung aus dem OneLake-Katalog

Wenn Sie Datenverbindung hinzufügenauswählen, wird der OneLake-Katalog mit einer Liste aller Datenquellen geöffnet, auf die Ihr Benutzerkonto Zugriff hat. Die Liste wird so gefiltert, dass lediglich unterstützte Datenquellen enthalten sind. Einige diese Datenquellen können sich jedoch in weiteren Arbeitsbereichen befinden.

Wählen Sie Ihre Datenquelle und anschließend Verbinden aus.

Screenshot: OneLake-Datenkatalog mit einer Liste von Datenquellen

Hinweis

Wenn Sie die gesuchte Datenquelle nicht finden können, stellen Sie sicher, dass Sie über die richtigen Berechtigungen zum Herstellen einer Verbindung mit dieser Datenquelle verfügen. Stellen Sie alternativ sicher, dass Sie eine der am Anfang dieses Artikels aufgelisteten, unterstützten Datenquellen verwenden.

Nach der Erstellung wird im Seitenbereich auf der Registerkarte Verbindungen die neue Verbindung mit der ausgewählten Datenquelle angezeigt. Wenn die Verbindung angezeigt wird, notieren Sie sich das für sie generierte Feld Alias. Sie benötigen diesen Alias, um von einer beliebigen Funktion in Ihrem User Data Functions-Element auf die Verbindung zu verweisen.

Screenshot: Seitenbereich „Verbindungen“ mit einer neu erstellten Datenquellenverbindung

3. Verwenden des Verbindungsalias in Ihrem Funktionscode

Im Portal-Editor müssen Sie dem Code den Alias der Verbindung hinzufügen, die Sie auf der Registerkarte Manage Connections erstellt haben. Dieser Alias wird automatisch basierend auf dem Namen des Fabric-Elements erstellt, mit dem Sie eine Verbindung herstellen.

In diesem Fall verwenden wir ein Codebeispiel namens "Lesen von Daten aus einer Tabelle in sql-Datenbank". Sie können dieses Beispiel suchen, indem Sie auf die Registerkarte „Bearbeiten“ und anschließend auf die Schaltfläche „Beispiel einfügen“ klicken und zu „SQL-Datenbank“ navigieren.

Screenshot: Datenkatalog für „Beispiel einfügen“ mit einer Liste von Datenquellen

Der folgende Beispielcode wurde eingefügt:

@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

Hinweis

Während dieses Beispiel eine Verbindung mit einer SQL-Datenbank herstellt, sind weder ein Schema noch Daten in Ihrer Datenbank erforderlich, um es auszuführen.

Um die von Ihnen erstellte Datenverbindung zu verwenden, ändern Sie die folgende Zeile in diesem Beispiel: @udf.connection(argName="sqlDB",alias="<alias for sql database>"). Ersetzen Sie in dieser Zeile den Wert der alias durch den Wert, den Sie über das Menü Manage Connections erhalten haben. Im folgenden Code wird dieses Beispiel mit dem Wert ContosoSalesDat veranschaulicht:

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

Nachdem Sie den Code geändert haben, können Sie Ihre Änderungen mithilfe der Testfunktion im Entwicklungsmodus testen. Sobald Sie fertig sind, können Sie Ihre Funktion über die Schaltfläche "Veröffentlichen" auf der Symbolleiste veröffentlichen. Dieser Vorgang kann einige Minuten dauern.

Screenshot: Schaltfläche „Veröffentlichen“

Nachdem die Veröffentlichung abgeschlossen ist, können Sie Ihre Funktion ausführen, indem Sie in der Liste des Functions-Explorers auf den Namen der Funktion zeigen und im Seitenpanel auf die Schaltfläche „Ausführen“ klicken. Im unteren Bereich "Ausgabe" wird das Ergebnis der Ausführung der Funktion angezeigt.

Screenshot: Seitenpanel, das zum Ausführen einer Funktion verwendet wird

Sie haben nun alles erfahren, was Sie zum Herstellen einer Verbindung mit einer Datenquelle aus Ihrem Fabric User Data Functions-Element benötigen.

Abrufen von Variablen aus Fabric-Variablenbibliotheken

Eine Fabric-Variable-Bibliothek in Microsoft Fabric ist ein zentrales Repository zum Verwalten von Variablen, die für verschiedene Elemente innerhalb eines Arbeitsbereichs verwendet werden können. Es ermöglicht Entwicklern, Elementkonfigurationen effizient anzupassen und zu teilen. Führen Sie die folgenden Schritte aus, um Variable Bibliotheken in Ihren Funktionen zu verwenden:

  1. Fügen Sie eine Verbindung zu einer Variablenbibliothek mithilfe von "Verbindungen verwalten" hinzu, und rufen Sie den Alias für das Variablenbibliothekselement ab.
  2. Fügen Sie einen Verbindungsdekorator für das Variablenbibliothekselement hinzu. Ersetzen Sie beispielsweise @udf.connection(argName="varLib", alias="<My Variable Library Alias>") das Alias durch die neu hinzugefügte Verbindung für das Variablenbibliothekselement.
  3. Fügen Sie in der Funktionsdefinition ein Argument mit Typ fn.FabricVariablesClientein. Dieser Client stellt Methoden bereit, die Sie für die Arbeit mit dem Variablenbibliothekselement benötigen.
  4. Verwenden Sie getVariables() die Methode, um alle Variablen aus der Variablenbibliothek abzurufen.
  5. Um die Werte der Variablen zu lesen, verwenden Sie entweder ["variable-name"] oder .get("variable-name").

Beispiel In diesem Beispiel simulieren wir ein Konfigurationsszenario für eine Produktions- und Entwicklungsumgebung. Diese Funktion legt abhängig von der ausgewählten Umgebung einen Speicherpfad fest, indem ein wert verwendet wird, der aus der Variablenbibliothek abgerufen wird. Die Variable-Bibliothek enthält eine Variable, die ENV genannt wird, in der Benutzer einen Wert von dev oder prod festlegen können.

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