Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Python-verktyg utökar din Azure SRE-agent utöver inbyggda Azure-funktioner. Skapa anpassade verktyg som ansluter till interna API:er, lokala databaser, plattformar för flera moln och egna system med hjälp av Python-kod. Beskriv vad du behöver på vanlig engelska, klistra in befintliga skript eller omsluta HTTP-slutpunkter och testa och distribuera utan omstart.
Tips/Råd
- Utöka din agent för att nå system som den inte har inbyggt stöd för.
- Anslut till interna API:er, lokala databaser och plattformar för flera moln.
- Koda anpassad affärslogik (SLA-beräkningar, kostnadsmodeller, efterlevnadsregler).
Problemet
Din agent har kraftfulla inbyggda verktyg för Azure, inklusive Kusto-frågor, Azure Monitor och ARM-åtgärder. Men din organisation bor inte helt i Azure:
- Interna system: CMDB-databaser, anpassade biljettsystem och interna API:er som endast din organisation använder.
- Multicloud: Datadog-instrumentpaneler, Splunk-loggar och mätvärden från AWS CloudWatch tillsammans med Azure.
- Äldre infrastruktur: Lokala databaser, patentskyddade protokoll och system utan moderna API:er.
- Anpassad affärslogik: SLA-beräkningar som är specifika för dina kontrakt, kostnadsallokeringsformler och kapacitetsplaneringsmodeller.
Agenten kan diagnostisera Azure-problem, men den kan inte nå dina interna system eller tillämpa organisationens unika logik om du inte utökar den.
Så här fungerar Python-verktyg
Med Python-verktyg kan du lära din agent nya funktioner. Beskriv vad du behöver, generera koden, testa den och distribuera. Din agent kan sedan nå system och tillämpa logik som inte var möjlig tidigare.
Den genererade koden följer ett konsekvent mönster:
- En
main()funktion som accepterar inskrivna parametrar. - JSON-serialiserbara returvärden.
- Beskrivande dokumentsträngar som förklarar logiken.
Innan du skapar verktyget bör du testa det med riktiga indata på lekplatsen. Ange parametervärden, välj Test och se faktiska resultat, inte bara syntaxverifiering.
När du har testat verktyget väljer du Skapa verktyg. Agenten kan omedelbart använda den utan omstart och ingen distributionspipeline.
Python-verktyg jämfört med MCP-anslutningsappar
För plattformar från tredje part har du två alternativ.
| Tillvägagångssätt | Bäst för | Exempel |
|---|---|---|
| MCP-kontakter | Populära plattformar med standard-API:er | Datadog, Splunk, ServiceNow, GitHub |
| Python-verktyg | Interna system, anpassad logik, plattformar utan MCP | Din CMDB, egna API:er, anpassade beräkningar |
Använd MCP-kontakter när det finns en kontakt för din plattform. MCP tillhandahåller strukturerade scheman, autentiseringshantering och konsekvent beteende.
Använd Python-verktyg när du behöver nå interna system, koda anpassad affärslogik eller ansluta till plattformar utan MCP-stöd.
Vad gör detta annorlunda
I följande tabell jämförs agentfunktioner med och utan Python-verktyg.
| Utan Python-verktyg | Med Python-verktyg |
|---|---|
| Agenten kan bara använda inbyggda funktioner | Agenten når alla system som Python kan anropa |
| Interna API:er kräver separata arbetsflöden | Interna system blir agentverktyg |
| Anpassad logik finns i externa skript | Affärsregler körs i agentkonversationer |
| Lokala system är frånkopplade från agenten | Hybridmiljöer är fullt tillgängliga |
Python-verktyg förvandlar din agent från en Azure-intern assistent till en utökningsbar plattform som fungerar med hela infrastrukturen.
Före och efter
| före | Efter |
|---|---|
| Vår CMDB är lokalt installerad, agenten kan inte se den. | Python-verktyg med interna system för nätverksåtkomstfrågor |
| "Vi har anpassade SLA-formler som ingen har automatiserat" | Koda dina formler som ett verktyg; agenten tillämpar dem automatiskt |
| "Efterlevnadsrapporter behöver specifik PDF-formatering" | Generera rapporter med ReportLab, som hanteras via agenten |
Förutsättningar
- Builder-åtkomst till en Azure SRE-agent.
- För HTTP-slutpunkter: URL och autentiseringsuppgifter för dina målsystem.
Skapa ett Python-verktyg
Du kan skapa Python-verktyg med hjälp av tre metoder.
| Tillvägagångssätt | Du anger | Agenten gör det | Bäst för |
|---|---|---|---|
| Beskriv på vanlig engelska | "Beräkna serviceavtal från drifttid och stilleståndstid" | Genererar fullständig Python-kod | Snabb anpassad logik, ingen kodning behövs |
| Klistra in befintlig kod | Din Python-funktion | Förpackar den som ett verktyg | Migrera befintliga skript, komplex logik |
| Anropa HTTP-slutpunkter | Slutpunkts-URL och autentisering | Anropar ditt API via HTTP | Azure Functions, Lambda, interna API:er, webhooks |
Alternativ 1: Låt AI skriva koden
Beskriv vad du behöver i dialogrutan och välj Generera. AI skapar en fungerande Python-funktion med inskrivna parametrar, felhantering och dokumentsträngar.
Du beskriver: "Beräkna SLA-efterlevnad från drifttid och stilleståndstid minuter, returnera om den uppfyller 99,9% tröskelvärdet"
Agenten genererar: En komplett main() funktion som är redo att testa och distribuera.
Alternativ 2: Ta med din egen kod
Klistra in befintlig Python på fliken Kod . Funktionen måste följa det här mönstret:
def main(param1: str, param2: int) -> dict:
# Your logic here
return {"result": "value"}
Alternativ 3: Anropa HTTP-slutpunkter
Omslut alla HTTP-slutpunkter (Azure Functions, AWS Lambda, interna API:er eller webhooks) som ett Python-verktyg:
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()
Anmärkning
Python-verktyg har utgående nätverksåtkomst. Du kan anropa valfri HTTP-slutpunkt som nätverket tillåter. För autentiserade slutpunkter inkluderar du API-nycklar eller token i rubriker eller frågeparametrar.
Exempelscenarier
Följande exempel visar vanliga användningsfall för Python-verktyg.
Intern CMDB-förfrågan:
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()
Anpassad SLA-beräkning:
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}
Generering av efterlevnadsrapport:
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"}
Kontrollera att verktyget fungerar
När du har skapat verktyget testar du det i en ny chatt:
Calculate SLA for 43185 minutes uptime and 15 minutes downtime
Agenten bör känna igen att uppgiften matchar ditt verktyg och anropa den automatiskt.
Körningsmiljö
I följande tabell beskrivs körningsmiljön för Python-verktyg.
| Fastighet | Värde |
|---|---|
| Tidsgräns | 5 till 900 sekunder (standard: 120) |
| Isolering | Färsk container per körning |
| Filsystem |
/mnt/data för temporära filer |
| Nätverk | Utgående anslutning aktiverad |
| Paket | 700+ förinstallerat (Pandas, begäranden, azure-identitet, reportlab med mera) |
| Tillstånd | Ingen beständighet mellan anrop |
Autentisering för Azure-resurser
Python-verktyg kan autentisera till Azure-resurser med hjälp av hanterad identitet med förinställda omfång.
| Scope | Åtkomst |
|---|---|
| ARM | Azure Resource Manager (management.azure.com) |
| 密钥保管�� | Hemligheter, nycklar, certifikat (vault.azure.net) |
| Förvaring | Blob, kö, tabelllagring (storage.azure.com) |
Aktivera autentisering på fliken Identitet när du skapar ett verktyg.
Begränsningar
- Inget beständigt tillstånd: Varje körning startar på nytt. Lagra resultat externt om det behövs.
- Maximal tidsgräns: 900 sekunder (15 minuter) för långvariga åtgärder.
- Ingen GPU: Körningsmiljö endast för processor.
- JSON-utdata krävs: Returvärdena måste vara JSON-serialiserbara.