Bővítményfejlesztési fogalmak

Az Azure Developer CLI (azd) bővítményei új parancsokkal bővítik, automatizálják a munkafolyamatokat, és más szolgáltatásokkal integrálják a azd-t. Ez a cikk ismerteti a bővítmények létrehozása előtt szükséges fogalmakat, például a fejlesztői eszközöket, a szoftverfejlesztői készletet (SDK), valamint a futó bővítményekkel való kommunikációt azd . A bővítmények felhasználói szempontból való megismeréséhez tekintse meg a bővítmények áttekintését.

A fejlesztői bővítmény

A bővítmények készítésének leggyorsabb módja a azd fejlesztői bővítmény (microsoft.azd.extensions) használata. A fejlesztői bővítmény egy parancskészletet ad hozzá a azd x névtérhez, amely felépíti, összeállítja, csomagolja és közzéteszi a bővítményt:

Parancs Description
azd x init Egy új bővítményprojektet hoz létre az Ön által választott nyelven.
azd x build Létrehozza a bővítmény bináris fájljait a helyi fejlesztéshez.
azd x watch Figyeli a projektet a módosításokért, és automatikusan újraépíti és telepíti a bővítményt.
azd x pack A bővítményösszetevőket a közzétételre való felkészüléshez csomagolja.
azd x release Létrehoz egy GitHub kiadást a bővítményhez.
azd x publish Frissíti a bővítményregisztrációs adatbázist az új bővítmény metaadataival.

A mintabővítmény összeállítása rövid útmutatója bemutatja, hogyan telepítheti a fejlesztői bővítményt, és hogyan hozhatja létre az első bővítményt.

A fejlesztői bővítmény támogatja a beállításjegyzék-alapú közzétételi munkafolyamatokat és a hordozható csomagterjesztést. A azd x pack használatával platform-összetevőket hozhat létre kiadáshoz és jegyzékben való közzétételhez, vagy létrehozhat egy önálló .zip csomagot, ha egy bővítményt jegyzék üzemeltetése nélkül kell megosztania. A csomagok helyi fájlból telepíthetők, vagy távolról, HTTPS URL-címen üzemeltethetők. Részletes útmutatást a bővítmény közzététele című témakörben talál.

A bővítmény keretrendszere és a gRPC

azd és a bővítmények különálló folyamatokként futnak, amelyek a gRPC-n keresztül kommunikálnak. Bővítményparancs meghívásakor a következő lépések történnek:

  1. azd elindít egy gRPC-kiszolgálót egy véletlenszerű porton, és beállítja a AZD_SERVER környezeti változót a kiszolgáló címével.
  2. azd beállítja a AZD_ACCESS_TOKEN környezeti változót, amely egy aláírt JSON Web Token (JWT), és a parancs futásának időtartamára hozzáférést biztosít a bővítmény számára a azd szolgáltatásaihoz.
  3. azd meghívja a bővítményparancsot, és átadja az aktuális argumentumokat, jelölőket és környezeti változókat.
  4. A bővítmény gRPC-ügyfél használatával kommunikál a azd keretrendszer szolgáltatásaival, például a felhasználó kérésével vagy a projektkonfiguráció olvasásával.
  5. azd vár, amíg a parancs befejeződik, és hibaként jelenti a nem ero kilépési kódot.

Ez a modell lehetővé teszi, hogy a bővítmények konzisztens, biztonságos módon működhessenek azd együtt anélkül, hogy közvetlenül hozzáférnek a belső azd állapothoz.

Project szintű bővítménykövetelmények

A projektek deklarálhatják a szükséges bővítményeket.azure.yaml A szakaszban felsorolhatja a requiredVersions.extensions bővítményazonosítókat és a verziókorlátozásokat, így azd megoldhatja a projektnek megfelelő verziókat.

requiredVersions:
  extensions:
    azure.ai.agents: ">=1.0.0"
    contoso.azd.tagger: "^2.0.0"

Deklarálja a szükséges bővítményeket, ha egy projekt a bővítmény által biztosított gazdagéptől, szolgáltatótól, életciklus-kezelőtől, érvényesítéstől vagy parancstól függ. A séma pontos és támogatott szintaxisát lásd: requiredVersions.

Az azdext SDK

A azdext csomag a bővítmény-keretrendszer Go SDK-ja. Ez egy gRPC-ügyfelet és segítőket biztosít, amelyek kezelik az Ön kommunikációs adatait, így a bővítménylogikára összpontosíthat. Az SDK a következőkhöz nyújt segítséget:

  • Hozzon létre egy gyökérparancsot, amely regisztrálja a szabványos azd jelzőket és a környezeti változók kezelését.
  • Csatolja a azd hozzáférési jogkivonatot a kimenő kérésekhez.
  • Meghívhatja a azd keretrendszer szolgáltatásait, például a Projekt, a Környezet, a Fiók és a Prompt szolgáltatásait.
  • A névvel ellátott használati események jelentése a TelemetryService.ReportUsage gRPC API-n keresztül a hivatalos forráskiterjesztésekhez. Az API-használat részleteiért lásd: Kommunikáció az azd-vel az SDK használatával.
  • Az életciklus eseménykezelőinek és egyéni szolgáltatóinak regisztrálása bővítménygazda segítségével.

Ha tudni szeretné, hogyan hívhat meg azd szolgáltatásokat a bővítményből, olvassa el a Kommunikáció az azd szolgáltatással az SDK használatával című témakört.

Bővítmények képességei

A képességek deklarálják, hogy egy bővítmény mire képes. Listázhatja egy bővítmény képességeit a jegyzékben extension.yaml , és azd futásidőben megadja a megfelelő engedélyeket. Az elérhető képességek a következők:

  • custom-commands: Új parancscsoportok és parancsok hozzáadása a következőhöz azd:
  • lifecycle-events: Feliratkozás projekt- és szolgáltatáséletciklus-eseményekre, például preprovision és postdeploy.
  • mcp-server: Adja meg a Model Context Protocol (MCP) eszközöket az AI-ügynökök számára.
  • service-target-provider: Egyéni szolgáltatástelepítési célok megadása.
  • framework-service-provider: Egyéni nyelv és keretrendszer buildtámogatásának biztosítása.
  • provisioning-provider: Testreszabott infrastruktúra-üzembehelyezési lehetőség biztosítása.
  • validation-provider: Érvényesítési ellenőrzések hozzáadása a(z) azd érvényesítési folyamatához.
  • metadata: Adjon meg részletes parancs- és konfigurációs metaadatokat a súgó kimenetéhez és az IntelliSense-hez.

Ha tudni szeretné, hogyan adhat hozzá képességeket egy bővítményhez, olvassa el a bővítmény képességeinek hozzáadása című témakört.

Támogatott nyelvek

A bővítményeket bármely olyan nyelven létrehozhatja azd , amely támogatja a gRPC-t, és azd x init több nyelvhez is tartalmaz kezdősablonokat. A Go rendelkezik a legteljesebb támogatással, beleértve az első osztályú azdext SDK-segítőket is, így az ebben a szakaszban található cikkek a Go-t használják minden példához.

Nyelv Támogatási szint
Go Legjobb támogatás és első osztályú SDK-segítők.
.NET (C#) Erős integráció kezdősablonnal.
Python Jó integráció kezdősablonnal.
JavaScript Alapszintű integráció kezdősablonnal.

A Go-tól eltérő nyelveken létrehozott bővítmények esetében gRPC-ügyfeleket hozhat létre az adattár protoazure/azure-dev fájljaiból. A nyelvi támogatás aktuális állapotáról a felsőbb rétegbeli bővítmény-keretrendszer dokumentációjában olvashat.

Bővítményregisztrációs adatbázisok

A bővítményeket beállításjegyzék-forrásokon vagy bővítménycsomagokon keresztül terjesztheti. A beállításjegyzék-források URL-alapú vagy fájlalapú jegyzékek, amelyek leírják az elérhető bővítményeket és azok összetevőit. A bővítménycsomagok hordozható .zip csomagok, amelyeket közvetlenül helyi fájlból telepíthet, vagy távolról, HTTPS URL-en hosztolhat, ha nem szeretne registryt üzemeltetni.

  • A hivatalos regiszter előre be van állítva a(z) azd rendszerben, és ellenőrzött, saját fejlesztésű bővítményeket tartalmaz. A hivatalos bővítmények az azure/azure-dev adattár egy elágazásában vannak kifejlesztve.
  • Az URL-alapú források segítségével távoli nyilvános vagy magánregisztrációs jegyzékekből telepíthet.
  • A fájlalapú források lehetővé teszik a helyi beállításjegyzék-jegyzékekből való telepítést fejlesztési, tesztelési vagy offline forgatókönyvekhez.
  • A fejlesztői és éjszakai regiszterek opcionálisan engedélyezhető források a fejlesztés alatt álló és az automatikusan buildelt, saját fejlesztésű bővítményekhez. A fejlesztői beállításjegyzék bővítményei aláíratlanok, nem fedik le a Azure-támogatás, és értesítés nélkül módosíthatók vagy eltávolíthatók.

Ha tudni szeretné, hogyan tehet közzé bővítményt egy beállításjegyzékben, olvassa el a bővítmény közzététele című témakört.