从 Fabric 用户数据函数项连接到数据源

Fabric 用户数据函数使用 Fabric 门户中的“管理连接”功能提供本机数据源连接。 此功能允许连接到 Fabric 数据源,而无需创建连接字符串或管理访问凭据。

在这篇文章中,你将学会如何:

  • 为用户数据函数项创建新连接。
  • 在函数代码中使用新连接。
  • 修改或删除数据连接。

Fabric 用户数据函数中支持的数据源连接

以下数据源当前支持用于 Fabric 用户数据函数:

为用户数据函数项创建新连接

添加的任何数据连接都与用户数据函数项相关联,并且可以在任何函数的代码中引用。 若要遵循本指南,需要现有的 Fabric 用户数据函数项和现有的 Fabric 数据源。

1.从 Functions 门户访问“管理连接”功能

“开发”模式下,在 Functions 门户编辑器的功能区中查找并选择“ 管理连接 ”。

Functions 门户编辑器的屏幕截图,其中突出显示了“管理连接”按钮。

打开的窗格包含你创建的任何数据连接。 选择“添加数据连接”以创建新连接。

侧窗格的屏幕截图,其中选择了“连接”选项卡且未列出任何连接。

2.从 OneLake 目录选择数据连接

选择“添加数据连接”时,OneLake 目录将打开,其中包含用户帐户有权访问的所有数据源的列表。 该列表经过筛选,仅包含受支持的数据源,其中一些数据源可能位于其他工作区中。

选择你的数据源,然后选择“连接”。

OneLake 数据目录的屏幕截图,其中包含数据源列表。

注释

如果找不到要查找的数据源,请确保你有权连接到数据源。 或者,请确保使用受支持的数据源,如本文开头所列。

创建后,所选数据源的新连接将显示在“连接”选项卡的侧窗格中。看到连接时,请记下为其生成的“别名字段”。 需要使用此别名从用户数据函数项中的任何函数引用连接。

“连接”侧窗格的屏幕截图,其中创建了新的数据源连接。

3.在函数代码中使用连接别名

回到门户编辑器后,需要向代码添加在 Manage Connections 选项卡中创建的连接的别名。 此别名根据要连接到的 Fabric 项的名称自动创建。

在这种情况下,我们将使用一个名为“Read data from a table in SQL Database(从 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 数据库,但它不需要数据库中有架构或数据才能运行。

若要使用你创建的数据连接,请修改此示例中的以下行:@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:
    [...]

修改代码后,可以在开发模式下使用 测试功能 测试更改。 准备就绪后,可以使用工具栏中的“发布”按钮发布函数。 此操作可能需要几分钟的时间。

“发布”按钮的屏幕截图。

发布完成后,可以通过将鼠标悬停在函数资源管理器列表中函数的名称上,然后单击侧面板中的“运行”按钮来运行函数。 底部面板“输出”将显示运行函数的结果。

用于运行函数的侧面板的屏幕截图。

这样就可以从 Fabric 用户数据函数连接到数据源。

后续步骤