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 KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapszintű | Standard | Prémium
Az API Management fejlesztői portál vizualizációszerkesztővel és beépített widgetekkel rendelkezik, így testre szabhatja és stílusba állíthatja a portál megjelenését. Előfordulhat azonban, hogy egyéni funkciókkal tovább kell szabnia a fejlesztői portált. Előfordulhat például, hogy a fejlesztői portált egy olyan támogatási rendszerrel szeretné integrálni, amely egy egyéni felület hozzáadását foglalja magában. Ez a cikk bemutatja, hogyan adhat hozzá egyéni funkciókat, például egyéni widgeteket az API Management fejlesztői portálhoz.
Az alábbi táblázat két lehetőséget foglal össze, és további részletekre mutató hivatkozásokat tartalmaz.
| Metódus | Leírás |
|---|---|
| Egyéni HTML-kód widget | – Egyszerű megoldás az API-közzétevők számára az egyéni logika alapszintű használati esetekhez való hozzáadásához – Egyéni HTML-kód másolása és beillesztése egy űrlapba, és a fejlesztői portál iframe-ben jeleníti meg |
| Egyéni widget létrehozása és feltöltése | - Fejlesztői megoldás fejlettebb widget-használati esetekhez – Helyi implementációt igényel a Reactben, a Vue-ban vagy az egyszerű TypeScriptben - Widget-állványok és eszközök, amelyek segítenek a fejlesztőknek widgetet létrehozni és feltölteni a fejlesztői portálra – A widgetek létrehozása, tesztelése és üzembe helyezése szkriptelhető nyílt forráskód React Component Toolkit használatával – Támogatja a forrásvezérlési, verziószámozási és kód-újrafelhasználási munkafolyamatokat |
Feljegyzés
A fejlesztői portál önkiszolgáló üzemeltetése bővíthetőségi lehetőség azoknak az ügyfeleknek, akiknek testre kell szabni a teljes portálmag forráskódját. Teljes rugalmasságot biztosít a portál élményének testreszabásához, de speciális konfigurációt igényel. Az önkiszolgáló üzemeltetéssel ön felelős a kód teljes életciklusának kezeléséért: elágazásos kódbázis, fejlesztés, üzembe helyezés, gazdagép, javítás és frissítés.
Tipp.
A fejlesztői portál testreszabásának másik lehetősége egy nyílt forráskódú fejlesztői portál beépülő modul használata a WordPresshez. Használja ki a WordPress webhelyfunkcióit a tartalom honosításához, a menük testreszabásához, az egyéni stíluslapok alkalmazásához és egyebekhez a fejlesztői portálon.
Egyéni HTML-kód widget használata
A felügyelt fejlesztői portál tartalmaz egy egyéni HTML-kód widgetet, ahová HTML-kódot szúrhat be a kis portál testreszabásához. Egyéni HTML-kód használatával például beágyazhat egy videót, vagy hozzáadhat egy űrlapot. A portál beágyazott keretben (iframe) jeleníti meg az egyéni widgetet.
A fejlesztői portál felügyeleti felületén lépjen arra a lapra vagy szakaszra, ahová be szeretné szúrni a widgetet.
Jelölje ki a szürke "plusz" (+) ikont, amely akkor jelenik meg, amikor az egérmutatót az oldal fölé viszi.
A Widget hozzáadása ablakban válassza az Egyéni HTML-kód lehetőséget.
Válassza ki az új widgetet, majd kattintson a Vezérlő szerkesztése gombra.
Adja meg a widget szélességét és magasságát (képpontban).
Ha stílusokat szeretne örökölni a fejlesztői portálról (ajánlott), válassza a Fejlesztői portál stílusának alkalmazása lehetőséget.
Feljegyzés
Ha ez a beállítás nincs kiválasztva, a beágyazott elemek egyszerű HTML-vezérlők lesznek, a fejlesztői portál stílusai nélkül.
Cserélje le a minta HTML-kódot az egyéni tartalomra.
Ha a konfiguráció befejeződött, zárja be az ablakot.
A módosítások mentéséhez kattintson a Mentés gombra, majd tegye közzé újra a portált.
Feljegyzés
A Microsoft nem támogatja az egyéni HTML-kód widgetben hozzáadott HTML-kódot.
Egyéni widget létrehozása és feltöltése
Speciálisabb használati esetek esetén létrehozhat és feltölthet egy egyéni widgetet a fejlesztői portálra. Az API Management egy kódállványt biztosít a fejlesztők számára, hogy egyéni widgeteket hozzanak létre a Reactben, a Vue-ban vagy az egyszerű TypeScriptben. Az állványzat olyan eszközöket tartalmaz, amelyekkel fejlesztheti és helyezheti üzembe a widgetet a fejlesztői portálon.
Előfeltételek
- Node.js futtatókörnyezet helyi telepítése
- Programozás és webfejlesztés alapszintű ismerete
Widget létrehozása
Figyelmeztetés
Az egyéni widget kódját az API Management-példányhoz társított globális Azure Blob Storage tárolja. Amikor egyéni widgetet ad hozzá a fejlesztői portálhoz, a rendszer egy olyan végponton keresztül olvassa be a kódot a tárolóból, amely nem igényel hitelesítést, még akkor is, ha a fejlesztői portál vagy az egyéni widgetet tartalmazó lap csak hitelesített felhasználók számára érhető el. Ne tartalmazzon bizalmas információkat vagy titkos kulcsokat az egyéni widgetkódban.
A fejlesztői portál felügyeleti felületén válassza az Egyéni widgetek>Új egyéni widget hozzáadása lehetőséget.
Adjon meg egy widgetnevet, és válasszon egy technológiát. További információkért tekintse meg a cikk későbbi részében található widgetsablonokat.
Válassza az Mentésgombot.
Nyisson meg egy terminált, keresse meg azt a helyet, ahová menteni szeretné a widgetkódot, és futtassa a következő parancsot a kódállvány letöltéséhez:
npx @azure/api-management-custom-widgets-scaffolderLépjen az újonnan létrehozott mappára, amely tartalmazza a widget kódállványát.
cd <name-of-widget>Nyissa meg a mappát a választott kódszerkesztőben, például a Visual Studio Code-ban.
Telepítse a függőségeket, és indítsa el a projektet:
npm install npm startA böngészőnek meg kell nyitnia egy új lapot, amelyen a fejlesztői portál fejlesztői módban csatlakozik a widgethez.
Feljegyzés
Ha a lap nem nyílik meg, tegye a következőket:
- Győződjön meg arról, hogy a fejlesztőkiszolgáló elindult az előző lépésben, ellenőrizze a konzol kimenetét ott, ahol elindította a kiszolgálót. Meg kell jelenítenie azt a portot,
http://127.0.0.1:3001amelyen a kiszolgáló fut (például). - Nyissa meg az API Management szolgáltatást az Azure Portalon, és nyissa meg a fejlesztői portált a felügyeleti felülettel.
- Fűzze hozzá az
/?MS_APIM_CW_localhost_port=3001elérés utat az URL-címhez. Módosítsa a portszámot, ha a kiszolgáló egy másik porton fut.
- Győződjön meg arról, hogy a fejlesztőkiszolgáló elindult az előző lépésben, ellenőrizze a konzol kimenetét ott, ahol elindította a kiszolgálót. Meg kell jelenítenie azt a portot,
Implementálja a widget kódját, és tesztelje helyileg. A widget kódja a
srcmappában található, az alábbi almappákban:-
app– Annak a widget-összetevőnek a kódja, amelyet a közzétett fejlesztői portál látogatói látnak és használnak -
editor- A widget-összetevő kódja, amelyet a fejlesztői portál felügyeleti felületén használ a widgetbeállítások szerkesztéséhez
A
values.tsfájl tartalmazza a widget szerkesztéshez engedélyezhető egyéni tulajdonságainak alapértelmezett értékeit és típusait.
Az egyéni tulajdonságok lehetővé teszik az egyéni widget példányának értékeinek módosítását a fejlesztői portál felügyeleti felhasználói felületéről anélkül, hogy módosítaná a kódot, vagy újra üzembe helyezi az egyéni widgetet. Ezt az objektumot át kell adni a widgetek néhány segédfüggvényének.
-
Az egyéni widget üzembe helyezése a fejlesztői portálon
Adja meg a következő értékeket a
deploy.jsprojekt gyökerében található fájlban:resourceId- Az API Management szolgáltatás erőforrás-azonosítója a következő formátumban:subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ApiManagement/service/<api-management service-name>managementApiEndpoint- Azure Management API-végpont (általában a környezetétőlmanagement.azure.comfügg)apiVersion– Nem kötelező az alapértelmezett felügyeleti API-verzió felülbírálása
Futtassa az alábbi parancsot:
npm run deployHa a rendszer kéri, jelentkezzen be az Azure-fiókjába.
Feljegyzés
Amikor a rendszer kéri a bejelentkezést, a Microsoft Entra ID-bérlő egyik tagfiókját kell használnia, amely ahhoz az Azure-előfizetéshez van társítva, amelyben az API Management szolgáltatás található. A fiók nem lehet vendég vagy összevont fiók, és megfelelő engedéllyel kell rendelkeznie a portál felügyeleti felületének eléréséhez.
Az egyéni widget üzembe lett helyezve a fejlesztői portálon. A portál felügyeleti felületének használatával felveheti a fejlesztői portál lapjaira, és beállíthatja a widgetben konfigurált egyéni tulajdonságok értékeit.
A fejlesztői portál közzététele
Miután konfigurálta a widgetet a felügyeleti felületen, tegye közzé újra a portált , hogy éles környezetben is elérhetővé tegye a widgetet.
Feljegyzés
- Ha egy későbbi időpontban telepíti a frissített widgetkódot, az éles környezetben használt widget nem frissül, amíg újra nem teszi közzé a fejlesztői portált.
- A widget lefordított kódja egy adott portál változatához van társítva. Ha egy korábbi portálváltozatot aktuálissá tesz, a rendszer az adott változathoz társított egyéni widgetet használja.
Widgetsablonok
Sablonokat biztosítunk a widgethez használható alábbi technológiákhoz:
- TypeScript (tiszta implementáció keretrendszer nélkül)
- Reagálás
- Vue
Minden sablon a TypeScript programozási nyelven alapul.
A React-sablon előkészített egyéni horgokat tartalmaz a hooks.ts fájlban, és létrehozott szolgáltatókat a környezet megosztásához az összetevőfán keresztül dedikált useSecrets, useValuesés useEditorValues horgokkal.
@azure/api-management-custom-widgets-tools A csomag használata
Ez az npm-csomag az alábbi funkciókat tartalmazza az egyéni widget fejlesztéséhez, és olyan funkciókat biztosít, mint a fejlesztői portál és a widget közötti kommunikáció:
| Függvény | Leírás |
|---|---|
| getValues | A widgetszerkesztőben beállított értékeket tartalmazó JSON-objektumot ad vissza alapértelmezett értékekkel kombinálva |
| getEditorValues | Olyan JSON-objektumot ad vissza, amely csak a widgetszerkesztőben beállított értékeket tartalmazza |
| buildOnChange | TypeScript-típust fogad el, és visszaad egy függvényt a widget értékeinek frissítéséhez. A visszaadott függvény paraméterként egy frissített értékeket tartalmazó JSON-objektumot vesz fel, és nem ad vissza semmit. Belsőleg használva a widgetszerkesztőben |
| askForSecrets | JavaScript-ígéretet ad vissza, amely a felbontás után egy JSON-objektumot ad vissza, amely a háttérrendszerrel való kommunikációhoz szükséges. |
| deployNodeJs | Widget üzembe helyezése a Blob Storage-ba |
| getWidgetData | A fejlesztői portálról az egyéni widgetnek átadott összes adatot visszaadja Belsőleg használva sablonokban |
@azure/api-management-custom-widgets-tools/getValues
Ez egy függvény, amely egy JSON-objektumot ad vissza, amely a widgetszerkesztőben beállított értékeket tartalmazza az alapértelmezett értékekkel kombinálva, argumentumként átadva.
Import {getValues} from "@azure/api-management-custom-widgets-tools/getValues"
import {valuesDefault} from "./values"
const values = getValues(valuesDefault)
A vezérlő futásidejű (app) részében használható.
@azure/api-management-custom-widgets-tools/getEditorValues
Ez a függvény ugyanúgy működik, mint getValuesa szerkesztőben, de csak a szerkesztőben beállított értékeket adja vissza.
A vezérlő szerkesztőjében használható, de futtatókörnyezetben is használható.
@azure/api-management-custom-widgets-tools/buildOnChange
Feljegyzés
Ez a függvény csak a widgetszerkesztőben használható.
Ez a függvény egy TypeScript-típust fogad el, és visszaad egy függvényt a widget értékeinek frissítéséhez. A visszaadott függvény paraméterként egy frissített értékeket tartalmazó JSON-objektumot vesz fel, és nem ad vissza semmit.
import {Values} from "./values"
const onChange = buildOnChange<Values>()
onChange({fieldKey: 'newValue'})
@azure/api-management-custom-widgets-tools/askForSecrets
Ez a függvény egy JavaScript-ígéretet ad vissza, amely a feloldás után egy JSON-objektumot ad vissza, amely a háttérrendszerrel való kommunikációhoz szükséges.
token szükséges a hitelesítéshez.
userId felhasználóspecifikus erőforrások lekérdezéséhez szükséges. Ezek az értékek meghatározatlanok lehetnek, ha egy névtelen felhasználó megtekinti a portált. Az Secrets objektum tartalmazza managementApiUrla portál háttérrendszerének URL-címét is, és apiVersionazt az apiVersion-t, amelyet a fejlesztői portál jelenleg használ.
Figyelemfelhívás
Gondosan kezelje és használja a jogkivonatot. Bárki, aki rendelkezik vele, hozzáférhet az API Management szolgáltatás adataihoz.
@azure/api-management-custom-widgets-tools/deployNodeJs
Ez a függvény üzembe helyezi a widgetet a blobtárolóban. Minden sablonban előre konfigurálva van a deploy.js fájlban.
Alapértelmezés szerint három argumentumot fogad el:
serviceInformation: Az Azure-szolgáltatással kapcsolatos információk:resourceId: Az API Management szolgáltatás erőforrás-azonosítója a következő formátumban:subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ApiManagement/service/<api-management service-name>managementApiEndpoint: Azure management API-végpont (a környezettől függ, általábanmanagement.azure.com)
A widget azonosítója: A widget neve "PC-barát" formátumban (latin alfanumerikus kisbetűk és kötőjelek;
Contoso widgetlesznekcontoso-widget). A kulcs alattpackage.jsontalálhatóname.fallbackConfigPath: A helyiconfig.msapim.jsonfájl elérési útja, például:./static/config.msapim.json
@azure/api-management-custom-widgets-tools/getWidgetData
Feljegyzés
Ezt a függvényt belsőleg használják a sablonokban. A legtöbb implementációban máskülönben nem szükséges.
Ez a függvény a fejlesztői portálról az egyéni widgetnek átadott összes adatot visszaadja. Olyan egyéb adatokat tartalmaz, amelyek hasznosak lehetnek a hibakeresésben vagy a speciálisabb helyzetekben. Ez az API várhatóan megváltozik a lehetséges kompatibilitástörő változásokkal. A következő kulcsokat tartalmazó JSON-objektumot ad vissza:
-
values: A szerkesztőben beállított összes érték, ugyanaz az objektum, amelyet a rendszer visszaadgetEditorData -
instanceId: A widget példányának azonosítója
Egyéni tulajdonságok hozzáadása vagy eltávolítása
Az egyéni tulajdonságok lehetővé teszik az egyéni widget kódjának értékeinek módosítását a fejlesztői portál felügyeleti felhasználói felületéről anélkül, hogy módosítaná a kódot, vagy újra üzembe helyezi az egyéni widgetet. Alapértelmezés szerint négy egyéni tulajdonság beviteli mezői vannak definiálva. Szükség szerint hozzáadhat vagy eltávolíthat más egyéni tulajdonságokat.
Figyelmeztetés
Ne tárolja a titkos vagy bizalmas értékeket az egyéni tulajdonságokban.
Egyéni tulajdonság hozzáadása:
- A fájlban
src/values.tsadja hozzá annak a tulajdonságnak a nevét és típusát, amelybe menteni fogja azValuesadatokat. - Ugyanabban a fájlban adjon hozzá egy alapértelmezett értéket.
- Keresse meg a
editor.htmlfájlt (editor/indexa pontos hely a választott keretrendszertől függ), és duplikáljon egy meglévő bemenetet, vagy adjon hozzá egyet. - Győződjön meg arról, hogy a beviteli mező a módosított értéket a
onChangefüggvényre jelenti, amelyből lekérheti a függvénytbuildOnChange.
(Nem kötelező) Másik keretrendszer használata
Ha egy másik JavaScript felhasználói felületi keretrendszerrel és kódtárakkal szeretné implementálni a widgetet, a projektet az alábbi irányelvekkel kell beállítania:
- A legtöbb esetben azt javasoljuk, hogy kezdje a TypeScript-sablonnal.
- Telepítse a függőségeket, mint bármely más npm-projektben.
- Ha a választott keretrendszer nem kompatibilis a Vite buildelési eszközével, konfigurálja úgy, hogy lefordított fájlokat állítson ki a
./distmappába. Szükség esetén újradefiniálta a lefordított fájlok helyét úgy, hogy a függvény negyedik argumentumakéntdeployNodeJsrelatív elérési utat ad meg. - Helyi fejlesztés esetén a
config.msapim.jsonfájlnak elérhetőnek kell lennie az URL-címenlocalhost:<port>/config.msapim.json, amikor a kiszolgáló fut.
Egyéni widgetek létrehozása nyílt forráskód React Component Toolkit használatával
A nyílt forráskód React Component Toolkit npm-csomagszkripteket tartalmaz, amelyekkel a React-alkalmazásokat átalakíthatja az egyéni widget-keretrendszerre, tesztelheti és üzembe helyezheti az egyéni widgetet a fejlesztői portálon. Ha rendelkezik hozzáféréssel egy Azure OpenAI-szolgáltatáshoz, az eszközkészlet az Ön által megadott szöveges leírásból is létrehozhat widgetet.
Jelenleg az eszközkészletet kétféleképpen használhatja egyéni widgetek üzembe helyezéséhez:
- Manuálisan, az eszközkészlet telepítésével és az npm-csomag szkriptjeinek helyi futtatásával. A szkripteket egymás után futtatva hozhat létre, tesztelhet és helyezhet üzembe egy React-összetevőt egyéni widgetként a fejlesztői portálon.
-
Azure Developer CLI-sablon (azd) használata a végpontok közötti üzembe helyezéshez. A
azdsablon üzembe helyez egy Azure API Management-példányt és egy Azure OpenAI-példányt. Az erőforrások kiépítése után egy interaktív szkript segít egyéni widgetek létrehozásában, tesztelésében és üzembe helyezésében a fejlesztői portálon egy ön által megadott leírás alapján.
Feljegyzés
A React Component Toolkit és az Azure Developer CLI mintasablon nyílt forráskód projektek. A támogatás csak a gitHub-problémákon keresztül érhető el az adott adattárakban.
Kapcsolódó tartalom
További információ a fejlesztői portálról: