Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las herramientas de Python amplían el agente de SRE de Azure más allá de las funcionalidades integradas de Azure. Cree herramientas personalizadas que se conecten a api internas, bases de datos locales, plataformas multinube y sistemas propietarios mediante código python. Describa lo que necesita en inglés sin formato, pegue los scripts existentes o encapsula los puntos de conexión HTTP y, a continuación, pruebe e implemente sin reiniciar.
Sugerencia
- Amplíe el agente para llegar a los sistemas para los que no tenga compatibilidad integrada.
- Conéctese a api internas, bases de datos locales y plataformas multinube.
- Codificación de lógica de negocios personalizada (cálculos del Acuerdo de Nivel de Servicio, modelos de costos, reglas de cumplimiento).
El problema.
El agente tiene herramientas integradas eficaces para Azure, incluidas las consultas de Kusto, Azure Monitor y las operaciones de ARM. Pero su organización no vive completamente en Azure:
- Sistemas internos: bases de datos CMDB, sistemas de vales personalizados y API internas que solo usa su organización.
- Multinube: paneles de Datadog, registros de Splunk y métricas de AWS CloudWatch junto con Azure.
- Infraestructura heredada: bases de datos locales, protocolos propietarios y sistemas sin API modernas.
- Lógica de negocios personalizada: cálculos del Acuerdo de Nivel de Servicio específicos de los contratos, fórmulas de asignación de costos y modelos de planeamiento de capacidad.
El agente puede diagnosticar problemas de Azure, pero no puede acceder a los sistemas internos ni aplicar la lógica única de su organización a menos que la extienda.
Funcionamiento de las herramientas de Python
Las herramientas de Python le permiten enseñar a su agente nuevas funcionalidades. Describir lo que necesita, generar el código, probarlo e implementarlo. Después, el agente puede acceder a sistemas y aplicar lógica que no era posible antes.
El código generado sigue un patrón coherente:
- Función
main()que acepta parámetros con tipo. - Valores de retorno serializables de JSON.
- Documentos descriptivos que explican la lógica.
Antes de crear la herramienta, pruebelo con entradas reales en el área de juegos. Escriba los valores de parámetro, seleccione Probar y vea los resultados reales, no solo la validación de sintaxis.
Después de probar la herramienta, seleccione Crear herramienta. El agente puede usarlo inmediatamente sin reiniciar ni ninguna canalización de implementación.
Herramientas de Python frente a conectores MCP
Para plataformas de terceros, tiene dos opciones.
| Enfoque | Más adecuado para | Ejemplos |
|---|---|---|
| Conectores MCP | Plataformas populares con API estándar | Datadog, Splunk, ServiceNow, GitHub |
| Herramientas de Python | Sistemas internos, lógica personalizada, plataformas sin MCP | Su CMDB, API propietarias, cálculos personalizados |
Use conectores MCP cuando exista un conector para tu plataforma. MCP proporciona esquemas estructurados, administración de autenticación y comportamiento coherente.
Use herramientas de Python cuando necesite acceder a sistemas internos, codificar lógica de negocios personalizada o conectarse a plataformas sin compatibilidad con MCP.
Lo que hace que esto sea diferente
En la tabla siguiente se comparan las funcionalidades del agente con y sin herramientas de Python.
| Sin herramientas de Python | Con herramientas de Python |
|---|---|
| El agente solo puede usar funcionalidades integradas | El agente alcanza cualquier sistema al que Python pueda llamar |
| Las API internas requieren flujos de trabajo independientes | Los sistemas internos se convierten en herramientas de agente |
| La lógica personalizada reside en scripts externos | Las reglas de negocio se ejecutan dentro de las conversaciones del agente |
| Los sistemas locales están desconectados del agente | Los entornos híbridos son totalmente accesibles |
Las herramientas de Python transforman tu agente de un asistente nativo de Azure en una plataforma extensible que funciona con toda tu infraestructura.
Antes y después
| antes de | después de |
|---|---|
| "Nuestra base de datos de gestión de configuraciones (CMDB) es local, el agente no tiene acceso." | Herramienta de Python con consultas de acceso de red a sistemas internos |
| "Tenemos fórmulas de Acuerdo de Nivel de Servicio personalizadas que nadie ha automatizado" | Codifique sus fórmulas como una herramienta; el agente las aplica automáticamente. |
| "Los informes de cumplimiento necesitan formato PDF específico" | Generación de informes con ReportLab, servidos a través del agente |
Prerrequisitos
- Acceso del desarrollador a un agente de SRE de Azure.
- Para los puntos de conexión HTTP: direcciones URL y credenciales de autenticación para los sistemas de destino.
Creación de una herramienta de Python
Puede crear herramientas de Python mediante tres enfoques.
| Enfoque | Usted proporciona | El agente realiza | Más adecuado para |
|---|---|---|---|
| Describir en inglés simple | "Calcular el Acuerdo de Nivel de Servicio a partir del tiempo de actividad y el tiempo de inactividad" | Genera código de Python completo. | Lógica personalizada rápida, sin necesidad de codificación |
| Pegar código existente | Tu función de Python | Lo presenta como una herramienta | Migración de scripts existentes, lógica compleja |
| Llamada a puntos de conexión HTTP | Dirección URL del punto de conexión y autenticación | Llama a la API a través de HTTP | Azure Functions, Lambda, APIs internas, webhooks |
Opción 1: Permitir que ia escriba el código
Describa lo que necesita en el cuadro de diálogo y seleccione Generar. AI crea una función de Python funcional con parámetros tipados, manejo de errores y cadenas de documentación.
Describe lo siguiente: "Calcular el cumplimiento del Acuerdo de Nivel de Servicio a partir del tiempo de actividad y los minutos de tiempo de inactividad, devuelva si cumple el umbral de 99,9%"
El agente genera: Una función completa main() lista para probar e implementar.
Opción 2: Traiga su propio código
Pegue Python existente en la pestaña Código . La función debe seguir este patrón:
def main(param1: str, param2: int) -> dict:
# Your logic here
return {"result": "value"}
Opción 3: Llamada a puntos de conexión HTTP
Envuelva cualquier endpoint HTTP (Función de Azure, Función Lambda de AWS, API interna o webhook) como una herramienta de Python.
def main(input_data: str) -> dict:
import requests
# Azure Function with function key
response = requests.post(
"https://<FUNCTION_APP_NAME>.azurewebsites.net/api/<ENDPOINT>?code=<FUNCTION_KEY>",
json={"data": input_data}
)
# Or internal API with bearer token
# response = requests.get(
# "https://internal-api.corp/resource",
# headers={"Authorization": "Bearer <API_TOKEN>"}
# )
return response.json()
Nota:
Las herramientas de Python tienen acceso de red saliente. Puede llamar a cualquier punto de conexión HTTP que permita la red. Para los puntos de conexión autenticados, incluya claves de API o tokens en encabezados o parámetros de consulta.
Escenarios de ejemplo
En los ejemplos siguientes se muestran casos de uso comunes para las herramientas de Python.
Consulta de CMDB interna:
def main(server_name: str) -> dict:
"""Query internal CMDB for server configuration."""
import requests
response = requests.get(f"https://cmdb.internal.corp/api/servers/{server_name}")
return response.json()
Cálculo del Acuerdo de Nivel de Servicio personalizado:
def main(uptime_minutes: int, downtime_minutes: int) -> dict:
"""Calculate SLA using your organization's formula."""
total = uptime_minutes + downtime_minutes
sla = (uptime_minutes / total) * 100 if total > 0 else 100.0
return {"sla_percent": round(sla, 4), "meets_target": sla >= 99.9}
Generación de informes de cumplimiento:
def main(incidents: list, month: str) -> dict:
"""Generate PDF compliance report."""
from reportlab.platypus import SimpleDocTemplate
doc = SimpleDocTemplate(f"/mnt/data/compliance-{month}.pdf")
# Build report...
return {"report_path": f"/api/files/compliance-{month}.pdf"}
Comprobación de que la herramienta funciona
Después de crear la herramienta, pruebelo en un nuevo chat:
Calculate SLA for 43185 minutes uptime and 15 minutes downtime
Su agente debe reconocer que la tarea es compatible con su herramienta y llamarla automáticamente.
Entorno de ejecución
En la tabla siguiente se describe el entorno de ejecución para las herramientas de Python.
| Propiedad | Importancia |
|---|---|
| Tiempo de espera | De 5 a 900 segundos (valor predeterminado: 120) |
| Aislamiento | Un nuevo contenedor por cada ejecución |
| sistema de archivos |
/mnt/data para archivos temporales |
| Network | Conectividad saliente habilitada |
| Paquetes | 700+ preinstalados (pandas, requests, azure-identity, reportlab, y más) |
| Estado | Sin persistencia entre llamadas |
Autenticación para recursos de Azure
Las herramientas de Python se pueden autenticar en recursos de Azure mediante la identidad administrada con ámbitos preestablecidos.
| Ámbito | Access |
|---|---|
| ARM | Azure Resource Manager (management.azure.com) |
| Almacén de claves | Secretos, claves, certificados (vault.azure.net) |
| Storage | Almacenamiento de BLOB, cola, tabla (storage.azure.com) |
Habilite la autenticación en la pestaña Identidad al crear una herramienta.
Limitaciones
- Sin estado persistente: cada ejecución se inicia de nuevo. Almacene los resultados externamente si es necesario.
- Tiempo de espera máximo: 900 segundos (15 minutos) para las operaciones de larga duración.
- Sin GPU: entorno de ejecución de solo CPU.
- Salida JSON requerida: los valores devueltos deben ser serializables JSON.