发布用户数据函数后,可以从 Fabric 项或外部应用程序调用它们。 使用 “生成调用代码 ”功能自动创建现成的代码模板,而不是从头开始编写调用代码。
根据集成方案选择代码生成选项:
- Fabric Notebooks 代码 (Python) - 用于从 Fabric Notebooks 中调用函数,这是与 Fabric 项集成的一种方法。 有关管道和激活器等其他 Fabric 项,请参阅 集成文档。
- 客户端应用程序代码 (Python, C#, Node.js) - 用于通过每个函数公开的唯一 REST 终结点从外部应用程序调用函数。 这样就可以与 Fabric 外部的 Web 应用、服务或任何系统集成。
- OpenAPI 规范 (JSON, YAML) - 对于 API 管理平台、AI 代理或生成客户端 SDK。 使用此函数将函数与 Azure API 管理集成、配置 AI 系统或为外部应用程序生成库。
先决条件
在生成调用代码之前,需要:
- 具有至少一个函数的已发布用户数据函数项
- 访问 Fabric 门户中的用户数据函数项
- 至少需要对用户数据函数项具有执行权限,以生成和使用调用代码。
生成Fabric Notebooks的代码
与 Fabric 产品集成时,使用此选项从 Fabric Notebook 调用您的函数。 生成的代码使用内置 mssparkutils.userDataFunction 实用工具,它提供了一种简单的方法来调用函数,而无需管理身份验证或终结点。 这非常适合在 Fabric 环境中处理数据工作流、探索性分析和机器学习管道。
在 Fabric 门户中打开用户数据函数项。
在“开始”选项卡上,选择“生成调用代码>”。
在“ 调用位置”下,从下拉列表中选择 “笔记本 ”。
选择要调用的函数名称。
代码在 Python 中自动生成。 (Python 是唯一可用于笔记本调用代码的语言。
复制生成的代码片段。
将其粘贴到 Fabric Notebook 中的新单元格中。
使用实际值更新函数参数。 生成的代码包含显示更新位置的注释:
# UPDATE BELOW: Update the request body based on the inputs to your function myFunctions.hello_fabric(name = "string")运行单元格以调用你的函数。
有关详细信息,请参阅 Fabric Notebook 用户数据函数实用工具。
为客户端应用程序生成代码
与外部应用程序集成时,使用此选项通过每个函数公开的唯一 REST 终结点调用函数。 生成的代码包括使用 Microsoft Entra ID 的身份验证设置,并处理 HTTP 请求/响应流。 这样,便可以从 Web 应用、移动应用、微服务或任何结构环境外部的系统调用 Fabric 函数。
在 Fabric 门户中打开用户数据函数项。
在“开始”选项卡上,选择“生成调用代码>”。
在“ 调用方”下,从下拉列表中选择 “客户端应用程序 ”。
选择要调用的函数名称。
选择编程语言:
- Python
- C#
- Node.js
复制生成的代码并将其添加到应用程序。
查看代码结构:
-
身份验证 - 用于
InteractiveBrowserCredential获取令牌(仅用于开发/测试) - 终结点 URL - 特定函数的唯一 REST 终结点
- 请求正文 - 包含函数期望的输入参数
-
身份验证 - 用于
使用您的实际参数值更新
request_body部分。 生成的代码包含显示更新位置的注释:# UPDATE HERE: Update the request body based on the inputs to your function request_body = { "name": "string" }对于生产应用程序,请将身份验证代码替换为正确的Microsoft Entra ID 应用程序注册。 生成的代码包含警告和指向生产身份验证指南的链接。
有关包括生产身份验证设置的完整演练,请参阅 从 Python 应用程序调用用户数据函数。
生成 OpenAPI 规范
如果需要将函数与 API 管理平台、AI 代理或为外部应用程序生成客户端 SDK 集成,请使用此选项创建 OpenAPI 规范。 OpenAPI 规范提供函数 REST 终结点的计算机可读说明,使工具和系统可以轻松地以编程方式发现和集成函数。
在 Fabric 门户中打开用户数据函数项。
在“ 开始 ”选项卡上,选择“ 生成调用代码>OpenAPI 规范”。
在 “生成 OpenAPI 规范 ”对话框中,选择输出格式:
- JSON
- YAML
复制生成的规范。 规范包括:
- 用户数据函数项中的所有已发布函数
- 每个函数的请求和响应架构
- 身份验证要求(持有者令牌)
- 标准 HTTP 错误响应(400、401、403、408、413、500)
- 函数摘要和说明(来自 docstrings)
使用 docstring 改进 OpenAPI 输出
OpenAPI 规范的质量取决于函数代码中的文档。 当 Azure API 管理、AI 代理或 API 文档工具等系统使用 OpenAPI 规范时,它们依赖于明确的说明来了解函数的作用。
OpenAPI 生成器会自动从函数 docstring 中提取信息。 将这些属性添加到函数以创建全面的 API 文档:
- 摘要 - API 目录和高级视图中显示的单行说明
- 说明 - 详细说明函数的作用、它期望的输入以及它返回的内容
具有适当文档的示例函数:
@udf.function()
def hello_fabric(name: str) -> str:
"""
Summary: A Python function that prints your name and the time.
Description: This function takes a string input and concatenates it with the current time
to give you a warm welcome to User Data Functions. Returns a string and provides a log entry.
"""
logging.info('Python UDF trigger function processed a request.')
return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"
生成 OpenAPI 规范时,这些文档字符串值将填充 OpenAPI 架构中的 summary 和 description 字段,使开发人员和系统更容易理解如何使用您的函数。
生成的代码的常见用途
生成调用代码后,可以使用它将函数集成到不同的方案中:
结构项集成:
- 从笔记本调用函数进行数据处理、机器学习和探索分析
- 在管道中编排用于数据转换工作流的函数
- 从激活器规则触发函数以响应实时事件
外部应用程序集成:
- 使用客户端应用程序代码从 Web 应用、移动应用或微服务调用函数
- 将 OpenAPI 规范导入 Azure API 管理或其他 API 网关进行集中管理
- 使用 OpenAPI 生成器生成客户端 SDK,以便跨多个系统进行一致的集成
- 配置 AI 代理,使用 OpenAPI 规范来发现和调用您的函数
- 使用 Postman 或 Swagger UI 等工具测试和验证函数
相关内容
- 从 Python 应用程序调用用户数据函数 - 从外部 Python 应用调用函数的完整演练
- Fabric Notebook 实用工具 - 从笔记本调用函数的参考
- 与 Fabric 管道集成 - 在数据管道中使用函数
- Python 编程模型 - 了解如何使用正确的 docstring 编写函数