Compartilhar via


Ferramentas do Python no Agente SRE do Azure

As ferramentas do Python estendem o agente do SRE do Azure para além dos recursos internos do Azure. Crie ferramentas personalizadas que se conectam a APIs internas, bancos de dados locais, plataformas multinuvem e sistemas proprietários usando código Python. Descreva o que você precisa de forma clara em inglês, cole scripts existentes ou envolva endpoints HTTP, então teste e implante sem reiniciar.

Dica

  • Estenda seu agente para acessar sistemas para os quais ele não tem suporte interno.
  • Conecte-se a APIs internas, bancos de dados locais e plataformas multinuvem.
  • Codificar lógica de negócios personalizada, como cálculos de SLA, modelos de custo e regras de conformidade.

O problema

Seu agente tem ferramentas internas avançadas para o Azure, incluindo consultas Kusto, operações do Azure Monitor e do Azure Resource Manager. Mas sua organização não vive inteiramente no Azure:

  • Sistemas internos: bancos de dados CMDB, sistemas de tíquetes personalizados e APIs internas que somente sua organização usa.
  • Multinuvem: Painéis do Datadog, logs do Splunk e métricas do AWS CloudWatch, juntamente com o Azure.
  • Infraestrutura herdada: bancos de dados locais, protocolos proprietários e sistemas sem APIs modernas.
  • Lógica de negócios personalizada: cálculos SLA específicos para seus contratos, fórmulas de alocação de custos e modelos de planejamento de capacidade.

O agente pode diagnosticar problemas do Azure, mas não pode acessar seus sistemas internos ou aplicar a lógica exclusiva da sua organização, a menos que você o estenda.

Como as ferramentas do Python funcionam

As ferramentas do Python permitem que você ensine novos recursos ao agente. Descreva o que você precisa, gere o código, teste-o e implante-o. Em seguida, seu agente pode acessar sistemas e aplicar lógica que não eram possíveis antes.

Captura de tela da caixa de diálogo da ferramenta Python.

O código gerado segue um padrão consistente:

  • Função main() que aceita parâmetros tipados.
  • Valores de retorno serializáveis JSON.
  • Texto descritivo que explica a lógica.

Antes de criar a ferramenta, teste-a com entradas reais no ambiente de testes. Insira valores de parâmetro, selecione Testar e veja os resultados reais, não apenas a validação de sintaxe.

Captura de tela do playground de teste mostrando a execução bem-sucedida com o resultado do cálculo do SLA.

Depois de testar a ferramenta, selecione Criar ferramenta. Seu agente pode usá-lo imediatamente sem reinicialização e sem pipeline de implantação.

Ferramentas do Python versus conectores MCP

Para plataformas que não são da Microsoft, você tem duas opções.

Abordagem Mais adequado para Exemplos
Conectores MCP Plataformas populares com APIs padrão Datadog, Splunk, ServiceNow, GitHub
Ferramentas do Python Sistemas internos, lógica personalizada, plataformas sem MCP Seu CMDB, APIs proprietárias, cálculos personalizados

Use conectores MCP quando houver um conector para sua plataforma. O MCP fornece esquemas estruturados, gerenciamento de autenticação e comportamento consistente.

Use as ferramentas do Python quando precisar acessar sistemas internos, codificar a lógica de negócios personalizada ou conectar-se a plataformas sem suporte do MCP.

O que torna isso diferente

A tabela a seguir compara os recursos do agente com e sem ferramentas do Python.

Sem ferramentas do Python Com ferramentas do Python
O agente só pode usar recursos internos O agente atinge qualquer sistema que o Python possa chamar
APIs internas exigem fluxos de trabalho separados Sistemas internos se tornam ferramentas de agente
A lógica personalizada reside em scripts externos As regras de negócio são executadas dentro das conversas dos agentes
Os sistemas locais são desconectados do agente Ambientes híbridos são totalmente acessíveis

As ferramentas do Python transformam seu agente de um assistente nativo do Azure em uma plataforma extensível que funciona com toda a sua infraestrutura.

Antes e depois

Antes Após
"Nosso CMDB é local, o agente não consegue vê-lo" Ferramenta Python que consulta sistemas internos através de acesso à rede
"Temos fórmulas SLA personalizadas que ninguém automatizou" Codifique suas fórmulas como uma ferramenta, e o agente as aplica automaticamente.
"Os relatórios de conformidade precisam de formatação específica de PDF" Gerar relatórios com o ReportLab, fornecido por meio do agente

Pré-requisitos

  • Acesso do Construtor a um Agente SRE do Azure.
  • Para pontos de extremidade HTTP: URL e credenciais de autenticação para seus sistemas de destino.

Criar uma ferramenta do Python

Você pode criar ferramentas do Python usando três abordagens.

Abordagem Você fornece O agente faz Mais adequado para
Descrever em inglês sem formatação "Calcular o SLA de tempo de atividade e tempo de inatividade" Gera código Python completo Lógica personalizada rápida, sem necessidade de codificação
Colar código existente Sua função Python Encapsula-o como uma ferramenta Migrando scripts existentes, lógica complexa
Chamar pontos de extremidade HTTP URL do ponto de extremidade e autenticação Chama sua API via HTTP Azure Functions, Lambda, APIs internas, webhooks

Opção 1: Permitir que a IA escreva o código

Descreva o que você precisa na caixa de diálogo e selecione Gerar. IA cria uma função Python funcional com parâmetros tipados, tratamento de erros e documentação.

Você descreve: "Calcule a conformidade do SLA a partir dos minutos de tempo de atividade e inatividade, indicando se atende ao padrão de 99,9%"

O agente gera: Uma função completa main() pronta para testar e implantar.

Opção 2: Trazer seu próprio código

Cole o Python existente na guia Código . A função deve seguir este padrão:

def main(param1: str, param2: int) -> dict:
    # Your logic here
    return {"result": "value"}

Opção 3: Chamar pontos de extremidade HTTP

Encapsular qualquer ponto de extremidade HTTP (Azure Functions, AWS Lambda, APIs internas ou webhooks) como uma ferramenta 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()

Observação

As ferramentas do Python têm acesso à rede externa. Você pode chamar qualquer ponto de extremidade HTTP que sua rede permitir. Para pontos de extremidade autenticados, inclua chaves de API ou tokens em cabeçalhos ou parâmetros de consulta.

Cenários de exemplo

Os exemplos a seguir demonstram casos de uso comuns para ferramentas do Python.

Consulta interna do CMDB:

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 de SLA 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}

Geração de relatório de conformidade:

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

Verificar se a ferramenta funciona

Depois de criar a ferramenta, teste-a em um novo chat:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Seu agente deve reconhecer que a tarefa corresponde à sua ferramenta e chamá-la automaticamente.

Ambiente de execução

A tabela a seguir descreve o ambiente de execução para ferramentas do Python.

Propriedade Valor
Tempo Limite 5 a 900 segundos (padrão: 120)
Isolamento Um contêiner novo por execução
sistema de arquivos /mnt/data para arquivos temporários
Rede Conectividade de saída habilitada
Pacotes Mais de 700 pré-instalados (pandas, requests, azure-identity, reportlab e muito mais)
State Nenhuma persistência entre chamadas

Autenticação para recursos do Azure

As ferramentas do Python podem se autenticar nos recursos do Azure usando a identidade gerenciada com escopos predefinidos.

Scope Acesso
ARM Azure Resource Manager (management.azure.com)
Cofre de chaves Segredos, chaves, certificados (vault.azure.net)
Armazenamento Blob, fila, armazenamento de tabelas (storage.azure.com)

Habilite a autenticação na guia Identidade ao criar uma ferramenta.

Limitações

  • Nenhum estado persistente: cada execução começa novamente. Armazene resultados externamente, se necessário.
  • Máximo de tempo limite: 900 segundos (15 minutos) para operações de longa execução.
  • Sem GPU: ambiente de execução somente de CPU.
  • Saída JSON necessária: os valores retornados devem ser serializáveis em JSON.
Capacidade O que ele adiciona
Visão geral das ferramentas Todos os tipos de ferramentas que seu agente pode usar
Conectores Integrações internas para plataformas comuns