通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:在 Azure SRE 代理中创建 Python 工具

在本教程中,你将生成一个可计算 Azure SRE 代理的 SLA 符合性的工作 Python 工具。 你以纯英语描述该工具的目的,让 AI 生成代码、测试结果,并部署工具供代理使用。

本教程中,您将学习如何:

  • 使用纯英语描述工具功能
  • 使用 AI 生成 Python 代码
  • 在部署之前使用实际输入测试工具
  • 保存代理要使用的工具

估计时间:10 分钟

先决条件

在开始之前,请确保拥有以下资源和权限:

打开 Python 工具对话框

转到代理画布并开始创建 Python 工具。

  1. 打开 SRE 代理门户 并选择代理。
  2. 在左侧导航中选择 生成器
  3. 展开 构建器 并选择 代理画布
  4. 选择 创建>工具>Python 工具

显示工具和 Python 工具选项的“创建”菜单的屏幕截图。

Python 工具对话框随即打开,其中包含三个选项卡: 代码测试场标识

描述工具应执行的操作

在说明字段中,用简单英语编写您希望工具执行的内容。 明确输入、输出和逻辑。

输入以下说明:

Calculate SLA compliance percentage from total uptime minutes and downtime
minutes. Return whether the SLA meets a target threshold (default 99.9%).
Include the calculated percentage and a status message.

Python 工具对话框的屏幕截图,其中输入了说明。

小窍门

为获得最佳结果,请指定输入参数及其类型、描述计算或逻辑、说明输出应包含的内容,并在适用时提及默认值。

生成代码

选择 “生成 ”,让 AI 从说明中创建 Python 函数。

AI 使用以下命令分析说明并创建 Python 函数:

  • 与输入匹配的类型化参数
  • 说明逻辑的文档字符串
  • 边缘事例的错误处理
  • JSON 可序列化的返回值

以下示例显示了生成的代码:

def main(total_uptime_minutes: int, total_downtime_minutes: int,
         target_sla_percent: float = 99.9) -> dict:
    """Calculate SLA compliance from uptime and downtime minutes.

    Computes SLA as (uptime / (uptime + downtime)) * 100.
    Returns the SLA percentage, whether it meets the target,
    and a status message.
    """
    total_minutes = total_uptime_minutes + total_downtime_minutes

    if total_minutes == 0:
        sla_percent = 100.0
    else:
        sla_percent = (total_uptime_minutes / total_minutes) * 100

    meets_target = sla_percent >= target_sla_percent

    return {
        "sla_percent": round(sla_percent, 4),
        "target_sla_percent": target_sla_percent,
        "meets_target": meets_target,
        "status": "Meets SLA" if meets_target else "Below SLA"
    }

显示生成的 Python 函数的代码选项卡的屏幕截图。

在“代码”选项卡中显示的是一个带有类型化参数的main()函数。 工具名称来自您的描述。

使用实际输入进行测试

在创建工具之前,请使用实际值对其进行测试。

  1. 选择 “测试场 ”选项卡。
  2. 输入以下测试值:
    • total_uptime_minutes43185
    • total_downtime_minutes15
    • target_sla_percent99.9
  3. 选择测试

显示成功执行的测试场的屏幕截图。

以下示例显示了预期结果:

{
  "sla_percent": 99.9653,
  "target_sla_percent": 99.9,
  "meets_target": true,
  "status": "Meets SLA"
}

测试显示绿色成功指示器,JSON 输出与预期值匹配。

创建工具

测试通过后,选择“ 创建工具”。

工具现已可用。 当任务与工具的说明匹配时,代理可以自动调用它。

验证工具

在新聊天线程中,向代理询问触发该工具的问题:

What's my SLA for last month? We had 43185 minutes of uptime and 15 minutes of downtime.

代理识别此问题与工具匹配,并调用它来计算结果。

故障排除

使用以下信息解决常见问题。

“测试”按钮已禁用

“测试”按钮需要:

  • 具有 main() 函数的有效 Python 代码
  • 所有必需的参数字段均已填写

检查代码是否没有语法错误,并且所有参数都具有值。

代码与意向不匹配

选择说明字段,优化文本,然后再次选择“ 生成 ”。 更具体地说:

  • 参数名称和类型
  • 计算逻辑
  • 预期的输出格式

测试返回错误

在结果面板中检查错误消息。 常见问题包括:

  • 除以零(添加边缘事例的处理)
  • 参数类型不正确(确保输入与预期类型匹配)
  • 导入错误(检查库是否可用)

编辑或删除工具

可以直接在代理画布中修改或删除工具。

编辑

  1. 代理画布上,选择工具节点以打开信息面板。
  2. 在面板标题中选择 “编辑 ”(铅笔)图标。
  3. 此时将打开“编辑”对话框。 修改说明、代码或参数。
  4. 选择“保存”

删除

  1. 选择工具节点以打开信息面板。
  2. 在面板标题中选择 (更多操作)菜单。
  3. 选择 “删除”工具
  4. 请在对话框中确认删除操作。

后续步骤