Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Narzędzia języka Python rozszerzają agenta usługi Azure SRE poza wbudowane możliwości platformy Azure. Tworzenie niestandardowych narzędzi łączących się z wewnętrznymi interfejsami API, lokalnymi bazami danych, platformami wielochmurowymi i zastrzeżonymi systemami przy użyciu kodu języka Python. Opisz, czego potrzebujesz w języku angielskim, wklej istniejące skrypty lub opakuj punkty końcowe HTTP, a następnie przetestuj i wdróż bez ponownego uruchomienia.
Wskazówka
- Rozszerz agenta, aby uzyskać dostęp do systemów, dla których nie ma wbudowanej obsługi.
- Nawiąż połączenie z wewnętrznymi interfejsami API, lokalnymi bazami danych i platformami wielochmurowymi.
- Kodowanie niestandardowej logiki biznesowej (obliczenia umowy SLA, modele kosztów, reguły zgodności).
Problem
Agent ma zaawansowane wbudowane narzędzia dla platformy Azure, w tym zapytania Kusto, Azure Monitor i operacje ARM. Twoja organizacja nie mieszka jednak w całości na platformie Azure:
- Systemy wewnętrzne: bazy danych CMDB, niestandardowe systemy biletów i wewnętrzne interfejsy API używane tylko przez twoją organizację.
- Wiele chmur: pulpity nawigacyjne usługi Datadog, dzienniki splunk i metryki usługi AWS CloudWatch obok platformy Azure.
- Starsza infrastruktura: lokalne bazy danych, zastrzeżone protokoły i systemy bez nowoczesnych interfejsów API.
- Niestandardowa logika biznesowa: obliczenia SLA specyficzne dla twoich kontraktów, formuły alokacji kosztów i modele planowania pojemności.
Agent może zdiagnozować problemy z platformą Azure, ale nie może nawiązać połączenia z systemami wewnętrznymi ani zastosować unikatowej logiki organizacji, chyba że ją rozszerzysz.
Jak działają narzędzia języka Python
Narzędzia języka Python umożliwiają nauczenie nowych możliwości agenta. Opisz potrzebne elementy, wygeneruj kod, przetestuj go i wdróż. Agent może następnie uzyskać dostęp do systemów i zastosować logikę, która nie była wcześniej możliwa.
Wygenerowany kod jest zgodny ze wzorcem:
-
main()Funkcja, która akceptuje typizowane parametry. - Wartości zwracane w formacie JSON można serializować.
- Opisowe docstrigi, które wyjaśniają logikę.
Przed utworzeniem narzędzia przetestuj je przy użyciu rzeczywistych danych wejściowych na placu zabaw. Wprowadź wartości parametrów, wybierz pozycję Testuj i zobacz rzeczywiste wyniki, a nie tylko walidację składni.
Po przetestowaniu narzędzia wybierz pozycję Utwórz narzędzie. Agent może z niego natychmiast korzystać bez konieczności ponownego uruchamiania i wdrażania.
Narzędzia języka Python a łączniki MCP
W przypadku platform innych firm dostępne są dwie opcje.
| Metoda | Najlepsze dla | Examples |
|---|---|---|
| Łączniki MCP | Popularne platformy ze standardowymi interfejsami API | Datadog, Splunk, ServiceNow, GitHub |
| Narzędzia języka Python | Systemy wewnętrzne, logika dostosowana, platformy bez MCP | Twoje CMDB, zastrzeżone interfejsy API, obliczenia niestandardowe |
Użyj łączników MCP, gdy łącznik istnieje dla twojej platformy. McP zapewnia schematy ustrukturyzowane, zarządzanie uwierzytelnianiem i spójne zachowanie.
Użyj narzędzi języka Python, gdy musisz nawiązać połączenie z systemami wewnętrznymi, zakodować niestandardową logikę biznesową lub nawiązać połączenie z platformami bez obsługi mcp.
Co sprawia, że różni się to
W poniższej tabeli porównaliśmy możliwości agentów z narzędziami języka Python i bez nich.
| Bez narzędzi języka Python | Za pomocą narzędzi języka Python |
|---|---|
| Agent może używać tylko wbudowanych funkcji | Agent dociera do dowolnego systemu, który może wywołać język Python |
| Wewnętrzne interfejsy API wymagają oddzielnych przepływów pracy | Systemy wewnętrzne stają się narzędziami agentów |
| Logika niestandardowa znajduje się w skryptach zewnętrznych | Zasady biznesowe są realizowane podczas rozmów z agentem |
| Systemy lokalne są odłączone od agenta | Środowiska hybrydowe są w pełni dostępne |
Narzędzia języka Python przekształcają agenta z asystenta natywnego platformy Azure w rozszerzalną platformę, która współpracuje z całą infrastrukturą.
Przed i po
| przed | po |
|---|---|
| "Nasza baza danych CMDB jest lokalna, agent nie może go zobaczyć" | Narzędzie Pythona z dostępem do sieci, które wykonuje zapytania w systemach wewnętrznych |
| "Mamy niestandardowe formuły UMOWY SLA, których nikt nie zautomatyzował" | Zakoduj swoje formuły jako narzędzie; agent stosuje je automatycznie |
| "Raporty zgodności wymagają określonego formatowania PDF" | Generowanie raportów za pomocą narzędzia ReportLab obsługiwanego przez agenta |
Wymagania wstępne
- Dostęp konstruktora do agenta usługi Azure SRE.
- W przypadku punktów końcowych HTTP: adres URL i poświadczenia uwierzytelniania dla systemów docelowych.
Tworzenie narzędzia języka Python
Narzędzia języka Python można tworzyć przy użyciu trzech metod.
| Metoda | Podajesz | Agent działa | Najlepsze dla |
|---|---|---|---|
| Opis w zwykłym języku angielskim | Oblicz SLA na podstawie czasu pracy i przestoju | Generuje pełny kod w języku Python | Szybka logika niestandardowa, bez konieczności kodowania |
| Wklej istniejący kod | Twoja funkcja w języku Python | Opakowuje go jako narzędzie | Migrowanie istniejących skryptów, złożonej logiki |
| Wywoływanie punktów końcowych HTTP | Adres URL punktu końcowego i uwierzytelnianie | Wywołuje interfejs API za pośrednictwem protokołu HTTP | Azure Functions, Lambda, wewnętrzne interfejsy API, elementy webhook |
Opcja 1. Pozwól sztucznej inteligencji napisać kod
Opisz, czego potrzebujesz w oknie dialogowym, a następnie wybierz pozycję Generuj. Sztuczna inteligencja tworzy działającą funkcję języka Python z typowymi parametrami, obsługą błędów i dokumentami.
Opisz: "Oblicz zgodność z umową SLA na podstawie minut czasu pracy i przestoju, sprawdź, czy spełnia próg 99,9%"
Agent generuje: Kompletna main() funkcja gotowa do testowania i wdrażania.
Opcja 2: Użyj swojego kodu
Wklej istniejący język Python na karcie Kod . Funkcja musi być zgodna z tym wzorcem:
def main(param1: str, param2: int) -> dict:
# Your logic here
return {"result": "value"}
Opcja 3. Wywoływanie punktów końcowych HTTP
Owiń dowolny punkt końcowy HTTP (Azure Functions, AWS Lambda, wewnętrzne interfejsy API lub webhooki) jako narzędzie w języku 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()
Uwaga / Notatka
Narzędzia języka Python mają wychodzący dostęp sieciowy. Możesz wywołać dowolny punkt końcowy HTTP, na który zezwala sieć. W przypadku uwierzytelnionych punktów końcowych uwzględnij klucze interfejsu API lub tokeny w nagłówkach lub parametrach zapytania.
Przykładowe scenariusze
W poniższych przykładach przedstawiono typowe przypadki użycia narzędzi języka Python.
Wewnętrzne zapytanie 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()
Niestandardowe obliczenie SLA:
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}
Generowanie raportu zgodności:
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"}
Sprawdzanie, czy narzędzie działa
Po utworzeniu narzędzia przetestuj go w nowym czacie:
Calculate SLA for 43185 minutes uptime and 15 minutes downtime
Twój agent powinien rozpoznać, że zadanie pasuje do narzędzia i wykonać je automatycznie.
Środowisko uruchomieniowe
W poniższej tabeli opisano środowisko wykonywania dla narzędzi języka Python.
| Majątek | Wartość |
|---|---|
| Limit czasu | Od 5 do 900 sekund (wartość domyślna: 120) |
| Izolacja | Nowy kontener dla każdego wykonania |
| System plików |
/mnt/data dla plików tymczasowych |
| Network | Włączono łączność wychodzącą |
| Pakiety | 700+ wstępnie zainstalowanych (pandas, requests, azure-identity, reportlab i inne) |
| Stan | Brak trwałości między wywołaniami |
Uwierzytelnianie dla zasobów platformy Azure
Narzędzia języka Python mogą uwierzytelniać się w zasobach platformy Azure przy użyciu tożsamości zarządzanej z wstępnie ustawionymi zakresami.
| Scope | Dostęp |
|---|---|
| ARM | Azure Resource Manager (management.azure.com) |
| Key Vault (magazyn kluczy) | Wpisy tajne, klucze, certyfikaty (vault.azure.net) |
| Przechowywanie | Obiekt blob, kolejka, przechowywanie tabel (storage.azure.com) |
Włącz uwierzytelnianie na karcie Tożsamość podczas tworzenia narzędzia.
Ograniczenia
- Brak stanu trwałego: każde wykonanie rozpoczyna się od nowa. W razie potrzeby przechowuj wyniki zewnętrznie.
- Maksymalny limit czasu: 900 sekund (15 minut) dla długotrwałych operacji.
- Brak GPU: środowisko wykonywania wyłącznie na CPU.
- Wymagane dane wyjściowe JSON: Wartości zwracane muszą być serializowalne w formacie JSON.