Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Python-eszközök a beépített Azure-képességeken túl bővítik az Azure SRE-ügynököt. Hozzon létre egyéni eszközöket, amelyek Python-kóddal csatlakoznak a belső API-khoz, a helyszíni adatbázisokhoz, a többfelhős platformokhoz és a védett rendszerekhez. Írja le, hogy mire van szüksége egyszerű angol nyelven, illessze be a meglévő szkripteket, vagy csomagolja be a HTTP-végpontokat, majd indítsa újra a tesztelést és az üzembe helyezést.
Jótanács
- Bővítse ki az ügynököt olyan rendszerek elérésére, amelyekhez nem rendelkezik beépített támogatással.
- Csatlakozzon belső API-khoz, helyszíni adatbázisokhoz és többfelhős platformokhoz.
- Egyéni üzleti logika kódolása, például SLA-számítások, költségmodellek és megfelelőségi szabályok.
A probléma
Az ügynök hatékony beépített eszközökkel rendelkezik az Azure-hoz, beleértve a Kusto-lekérdezéseket, az Azure Monitort és az Azure Resource Manager-műveleteket. A szervezet azonban nem teljes mértékben az Azure-ban él:
- Belső rendszerek: CMDB-adatbázisok, egyéni jegykezelő rendszerek és belső API-k, amelyeket csak a szervezet használ.
- Többfelhős: Datadog-irányítópultok, Splunk-naplók és AWS CloudWatch-metrikák az Azure mellett.
- Örökölt infrastruktúra: Helyszíni adatbázisok, védett protokollok és modern API-k nélküli rendszerek.
- Egyéni üzleti logika: A szerződésekre, a költségfelosztási képletekre és a kapacitástervezési modellekre vonatkozó SLA-számítások.
Az ügynök képes diagnosztizálni az Azure-problémákat, de nem tudja elérni a belső rendszereket, és nem alkalmazhatja a szervezet egyedi logikáját, hacsak nem terjeszti ki.
A Python-eszközök működése
A Python-eszközökkel új képességeket taníthat az ügynöknek. Írja le, mire van szüksége, hozza létre a kódot, tesztelje és telepítse. Az ügynök ezután elérheti a rendszereket, és olyan logikát alkalmazhat, amely korábban nem volt lehetséges.
A létrehozott kód egységes mintát követ:
- A
main()beírt paramétereket elfogadó függvény. - JSON-szerializálható visszatérési értékek.
- Leíró szöveg, amely elmagyarázza a logikát.
Az eszköz létrehozása előtt tesztelje valós bemenetekkel a játszótéren. Adja meg a paraméterértékeket, válassza a Tesztelés lehetőséget, és ne csak a szintaxisérvényesítést, hanem a tényleges eredményeket is lássa.
Az eszköz tesztelése után válassza az Eszköz létrehozása lehetőséget. Az ügynök azonnal használhatja újraindítás és üzembehelyezési folyamat nélkül.
Python-eszközök és MCP-összekötők
Nem Microsoft-platformok esetén két lehetőség közül választhat.
| Megközelítés | A következőkre alkalmas | Examples |
|---|---|---|
| MCP-összekötők | Népszerű platformok standard API-kkal | Datadog, Splunk, ServiceNow, GitHub |
| Python-eszközök | Belső rendszerek, egyéni logika, platformok MCP nélkül | Az Ön CMDB-je, az Ön védett API-jai, az Ön egyéni számításai |
Akkor használjon MCP-összekötőket, ha létezik összekötő a platformhoz. Az MCP strukturált sémákat, hitelesítéskezelést és konzisztens viselkedést biztosít.
A Python-eszközöket akkor használja, ha belső rendszereket kell elérnie, egyéni üzleti logikát kell kódolnia, vagy mcp-támogatás nélkül kell csatlakoznia a platformokhoz.
Miben különbözik ez a helyzet?
Az alábbi táblázat az ügynök képességeit hasonlítja össze Python-eszközökkel és anélkül.
| Python-eszközök nélkül | Python-eszközökkel |
|---|---|
| Az ügynök csak beépített képességeket használhat | Az ügynök bármely olyan rendszerhez ér, amelyről a Python meghívható |
| A belső API-k külön munkafolyamatokat igényelnek | A belső rendszerek ügynökeszközökké válnak |
| Az egyéni logika külső szkriptekben él | Üzleti szabályok végrehajtása ügynökbeszélgetéseken belül |
| A helyszíni rendszerek leválasztva vannak az ügynökről | A hibrid környezetek teljes mértékben elérhetők |
A Python-eszközök az ügynököt natív Azure-asszisztensből bővíthető platformmá alakítják, amely a teljes infrastruktúrával működik.
Előtte és utána
| Előtte | Utána |
|---|---|
| "A CMDB helyszíni, az ügynök nem látja" | Python-eszköz, amely hálózati hozzáféréssel rendelkezik, lekérdezi a belső rendszereket. |
| "Vannak egyéni SLA-képletek, amelyeket senki sem automatizált" | A képletek kódolása eszközként; az ügynök automatikusan alkalmazza őket |
| "A megfelelőségi jelentéseknek speciális PDF-formázásra van szükségük" | Jelentések létrehozása a ReportLab használatával, az ügynökön keresztül |
Előfeltételek
- Fejlesztő hozzáférés egy Azure SRE ügynökhöz.
- HTTP-végpontok esetén: a célrendszerek URL-címe és hitelesítési hitelesítő adatai.
Python-eszköz létrehozása
Python-eszközöket három megközelítéssel hozhat létre.
| Megközelítés | Ön biztosítja | Az ügynök | A következőkre alkalmas |
|---|---|---|---|
| Egyszerű angol nyelvű leírás | "SLA kiszámítása üzemidőből és állásidőből" | Teljes Python-kód létrehozása | Gyors egyéni logika, nincs szükség kódolásra |
| Meglévő kód beillesztése | A Python függvény | Eszközként csomagolva | Meglévő szkriptek migrálása összetett logikával |
| HTTP-végpontok meghívása | Végpont URL-címe és hitelesítése | Meghívja az API-t HTTP-n keresztül | Azure Functions, Lambda, belső API-k, webhookok |
1. lehetőség: A kód írása az AI-ben
Írja le, mire van szüksége a párbeszédpanelen, és válassza a Létrehozás lehetőséget. Az AI létrehoz egy működő Python-függvényt gépelt paraméterekkel, hibakezeléssel és dokumentumokkal.
A következőt írja le: "SLA-megfelelőség kiszámítása üzemidőből és állásidőből, adja vissza, hogy az megfelel-e a 99,9-% küszöbértéknek"
Az ügynök a következőt hozza létre: Egy teljes main() függvény, amely készen áll a tesztelésre és üzembe helyezésre.
2. lehetőség: Saját kód használata
Illessze be a meglévő Pythont a Kód lapra. A függvénynek a következő mintát kell követnie:
def main(param1: str, param2: int) -> dict:
# Your logic here
return {"result": "value"}
3. lehetőség: HTTP-végpontok meghívása
Bármely HTTP-végpont (Azure Functions, AWS Lambda, belső API-k vagy webhookok) burkolása Python-eszközként:
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()
Megjegyzés:
A Python-eszközök kimenő hálózati hozzáféréssel rendelkeznek. A hálózat által engedélyezett HTTP-végpontokat meghívhatja. Hitelesített végpontok esetén api-kulcsokat vagy jogkivonatokat kell tartalmaznia a fejlécekben vagy a lekérdezési paraméterekben.
Példaforgatókönyvek
Az alábbi példák a Python-eszközök gyakori használati eseteit mutatják be.
Belső CMDB-lekérdezés:
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()
Egyéni SLA-számítás:
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}
Megfelelőségi jelentés létrehozása:
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"}
Az eszköz működésének ellenőrzése
Az eszköz létrehozása után tesztelje azt egy új csevegésben:
Calculate SLA for 43185 minutes uptime and 15 minutes downtime
Az ügynöknek fel kell ismernie, hogy a feladat illeszkedik az eszközhöz, és automatikusan elindítja azt.
Végrehajtási környezet
Az alábbi táblázat a Python-eszközök végrehajtási környezetét ismerteti.
| Ingatlan | Érték |
|---|---|
| Időkorlát | 5–900 másodperc (alapértelmezett: 120) |
| Izoláció | Friss tároló végrehajtásonként |
| Fájlrendszer |
/mnt/data ideiglenes fájlok esetén |
| Network | A kimenő kapcsolat engedélyezve van |
| Csomagok | 700 vagy több előre telepített (pandas, requests, azure-identity, reportlab és mások) |
| State | Nincs tartósság a hívások között |
Hitelesítés Azure-erőforrásokhoz
A Python-eszközök az Előre beállított hatókörökkel rendelkező felügyelt identitással hitelesíthetők az Azure-erőforrásokban.
| Scope | Hozzáférés |
|---|---|
| ARM | Azure Resource Manager (management.azure.com) |
| Key Vault (kulcstároló) | Titkos kulcsok, kulcsok, tanúsítványok (vault.azure.net) |
| Raktározás | Blob, üzenetsor, táblatároló (storage.azure.com) |
Eszköz létrehozásakor engedélyezze a hitelesítést az Identitás lapon.
Korlátozások
- Nincs állandó állapot: Minden végrehajtás újraindul. Szükség esetén külsőleg tárolja az eredményeket.
- Időtúllépési maximum: 900 másodperc (15 perc) hosszú ideig futó műveletek esetén.
- Nincs GPU: csak processzoralapú végrehajtási környezet.
- JSON-kimenet szükséges: A visszatérési értékeknek JSON-szerializálhatónak kell lenniük.
Kapcsolódó tartalom
| Képesség | Mit ad hozzá? |
|---|---|
| Eszközök áttekintése | Az ügynök által használható összes eszköztípus |
| Csatlakozók | Beépített integrációk a közös platformokhoz |