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ŐRE VONATKOZIK: Minden API Management-szint
Az API importálása során előfordulhat, hogy korlátozásokat tapasztal, vagy azonosítania és kijavítania kell a problémákat, mielőtt sikeresen importálhatná azokat. Ebben a cikkben a következő tudnivalókat ismerheti meg:
- Az API Management viselkedése az OpenAPI-importálás során.
- Az OpenAPI importálási korlátozásai és az OpenAPI-exportálás működése.
- A WSDL- és WADL-importálásra vonatkozó követelmények és korlátozások.
API Management az OpenAPI importálása során
Az OpenAPI-importálás során az API Management:
- Kifejezetten kötelezőként megjelölt lekérdezési string-paramétereket keres.
- Alapértelmezés szerint a szükséges lekérdezési sztringparamétereket a szükséges sablonparaméterekké alakítja.
Ha azt szeretné, hogy a specifikációban szereplő szükséges lekérdezési paraméterek le legyenek fordítva a lekérdezési paraméterekre az API Managementben, tiltsa le a Lekérdezési paraméterek belefoglalása műveletsablonok beállításba az API portálon való létrehozásakor. Ezt a beállítást az Apis – REST API létrehozásával vagy frissítésével is beállíthatja, hogy az API tulajdonsága translateRequiredQueryParameters a következő legyen query.
GET, HEAD és OPTIONS műveletek esetén az API-kezelés elveti a kérés törzsparaméterét, ha az az OpenAPI-specifikációban van definiálva.
OpenAPI/Swagger importálási korlátozások
Ha hibaüzenetet kap az OpenAPI-dokumentum importálása közben, győződjön meg arról, hogy korábban az alábbiak szerint érvényesítette:
- Az Azure Portalon lévő tervező használata (Design > Front End > OpenAPI Specification Editor), vagy
- Külső eszközzel, például Swagger Editorral.
Általános
AZ URL-sablon követelményei
| Követelmény | Leírás |
|---|---|
| A szükséges elérési utak és lekérdezési paraméterek egyedi nevei | Az OpenAPI-ban:
|
| Definiált URL-paraméter | Az URL-sablon részét kell képeznie. |
| Elérhető forrásfájl URL-címe | Relatív szerver URL-ekre alkalmazva. |
\$ref Mutatók |
Nem lehet külső fájlokra hivatkozni. |
| Az URL-cím maximális hossza | Az API URL-címének 128 karakternél rövidebbnek kell lennie. |
OpenAPI-specifikációk
Támogatott verziók
Az API Management csak a következőket támogatja:
- OpenAPI 2-es verzió
- OpenAPI 3.0.x-es verzió (a 3.0.3-ig)
- OpenAPI 3.1-es verzió (csak importálás)
Méretkorlátozások
| Méretkorlát | Leírás |
|---|---|
| Legfeljebb 4 MB | OpenAPI-specifikáció beágyazott importálása az API Managementbe. |
| Az Azure Resource Manager API kérésmérete | Ha egy OpenAPI-dokumentumot egy URL-címen keresztül ad meg egy, az API Management szolgáltatásból elérhető helyre. Tekintse meg az Azure-előfizetés korlátait. |
Támogatott bővítmények
Az egyetlen támogatott bővítmények a következők:
| Kiterjesztés | Leírás |
|---|---|
x-ms-paths |
|
x-servers |
Az OpenAPI 3 objektum visszaportolása az OpenAPI 2-höz. |
Nem támogatott bővítmények
| Kiterjesztés | Leírás |
|---|---|
Recursion |
Az API Management nem támogatja a rekurzívan definiált definíciókat. Például a sémák magukra hivatkoznak. |
Server tárgy |
Az API-művelet szintjén nem támogatott. |
Produces kulcsszó |
Az API által visszaadott MIME-típusokat ismerteti. Nem támogatott. |
Egyéni bővítmények
- Az importáláskor figyelmen kívül maradnak.
- Nincsenek mentve vagy megőrizve exportálásra.
Nem támogatott definíciók
Az API-műveletek beágyazott sémadefiníciói nem támogatottak. Sémadefiníciók:
- Az API-hatókörben vannak definiálva.
- Az API műveletek kérésének vagy válaszának hatókörében hivatkozhat.
Figyelmen kívül hagyott definíciók
A rendszer figyelmen kívül hagyja a biztonsági definíciókat.
Definíciós korlátozások
Lekérdezési paraméterek importálásakor csak az alapértelmezett tömb szerializálási módszer (style: form, explode: true) támogatott. Az OpenAPI-specifikációk lekérdezési paramétereiről a szerializálási specifikációban talál további információt.
A cookie-kban definiált paraméterek nem támogatottak. Továbbra is használhatja a szabályzatot a cookie-k tartalmának dekódolására és ellenőrzésére.
OpenAPI 2-es verzió
Az OpenAPI 2-es verziójának támogatása csak JSON-formátumra korlátozódik.
Az "Űrlap" típusú paraméterek nem támogatottak . A szabályzatot továbbra is használhatja application/x-www-form-urlencoded és application/form-data hasznos adatok dekódolásához és ellenőrzéséhez.
OpenAPI 3.x-es verzió
Az API Management a következő specifikációs verziókat támogatja:
- OpenAPI 3.0.3
- OpenAPI 3.1.0 (csak importálás)
HTTPS URL-címek
- Ha több
serversvan megadva, az API Management az első megtalált HTTPS-URL-címet használja. - Ha nincsenek HTTPS URL-címek, a kiszolgáló URL-címe üres.
Támogatott
example
Nem támogatott
A következő mezők az OpenAPI 3.0.x vagy az OpenAPI 3.1.x-es verziójában találhatók, de nem támogatottak:
| Objektum | Mező |
|---|---|
| OpenAPI | externalDocs |
| Információ | summary |
| Összetevők |
|
| Elérési út |
|
| Művelet |
|
| Paraméter |
|
| Kiszolgálói sablonozás |
|
OpenAPI importálási, frissítési és exportálási mechanizmusok
Általános
Az API Management szolgáltatásból exportált API-definíciók a következők:
- Elsősorban olyan külső alkalmazásokhoz készült, amelyeknek meg kell hívniuk az API Management szolgáltatásban üzemeltetett API-t.
- Nem importálható ugyanabba a vagy más API Management szolgáltatásba.
Az API-definíciók különböző szolgáltatások/környezetek közötti konfigurálásához tekintse meg az API Management szolgáltatás Gittel való használatával kapcsolatos dokumentációt.
Új API hozzáadása OpenAPI-importáláson keresztül
Az OpenAPI-dokumentumban található minden művelethez létrejön egy új művelet a következőkkel:
Az Azure-erőforrás neve a következőre
operationIdvan állítva: .-
operationIdaz érték normalizálva van. - Ha
operationIdnincs megadva (nem jelenik meg vagynullüres), az Azure-erőforrásnév-érték a HTTP-metódus és az elérésiút-sablon kombinálásával jön létre.- Például:
get-foo.
- Például:
-
A megjelenítendő név beállítva
summary.-
summaryérték:- Importálva változtatás nélkül.
- A hossz legfeljebb 300 karakter hosszúságú lehet.
- Ha
summarynincs megadva (nincs megadva,nullvagy üres), a megjelenítendő név értéke a következőreoperationIdvan állítva: .
-
Normalizálási szabályok a következőhöz: operationId
- Konvertálás kisbetűssé.
- Cserélje le a nonalphanumerikus karakterek sorozatait egyetlen kötőjelre.
- Például
GET-/foo/{bar}?buzz={quix}átalakulget-foo-bar-buzz-quix--vé.
- Például
- Vágja le a kötőjeleket mindkét oldalon.
-
get-foo-bar-buzz-quix-példáulget-foo-bar-buzz-quixlesz.
-
- Rövidítse 76 karakterre, ami négy karakterrel kevesebb, mint egy erőforrásnév maximális határa.
- Ha szükséges, használja a fennmaradó négy karaktert a deduplikációs utótaghoz.
-1, -2, ..., -999
Meglévő API frissítése OpenAPI-importáláson keresztül
Az importálás során a meglévő API-művelet:
- Az OpenAPI-dokumentumban leírt API-val megegyező módosítások.
- Megegyezik az OpenAPI-dokumentumban lévő művelettel úgy, hogy annak
operationIdértékét összehasonlítja a meglévő művelet Azure-erőforrás nevével.- Ha talál egyezést, a meglévő művelet tulajdonságai "helyben" frissülnek.
- Ha nem található egyezés:
- Egy új művelet jön létre a HTTP-metódus és az elérésiút-sablon kombinálásával, például
get-foo. - Minden új művelet esetében az importálás megkísérli a szabályzatok másolását egy meglévő műveletből ugyanazzal a HTTP-metódussal és elérésiút-sablonnal.
- Egy új művelet jön létre a HTTP-metódus és az elérésiút-sablon kombinálásával, például
A rendszer minden meglévő nem egyező műveletet töröl.
Az importálás kiszámíthatóbbá tétele érdekében kövesse az alábbi irányelveket:
- Minden művelethez adjon meg
operationIdtulajdonságot. - A kezdeti importálás után tartózkodjon a módosítástól
operationId. - Soha ne módosítsa egyszerre a
operationId, valamint a HTTP-metódust és az elérési út sablont.
Normalizálási szabályok a következőhöz: operationId
- Konvertálás kisbetűssé.
- Cserélje le a nonalphanumerikus karakterek sorozatait egyetlen kötőjelre.
- Például
GET-/foo/{bar}?buzz={quix}átalakulget-foo-bar-buzz-quix--vé.
- Például
- Vágja le a kötőjeleket mindkét oldalon.
- Például:
get-foo-bar-buzz-quix-válikget-foo-bar-buzz-quix
- Például:
- Rövidítse 76 karakterre, ami négy karakterrel kevesebb, mint egy erőforrásnév maximális határa.
- Ha szükséges, használja a fennmaradó négy karaktert a deduplikációs utótaghoz.
-1, -2, ..., -999
API exportálása OpenAPI-ként
Minden művelet esetében a következő:
- Az Azure-erőforrásnév exportálva mint
operationId. - A megjelenítendő nevet
summaryformátumban exportálják.
A normalizálás importáláskor operationId történik, nem exportáláskor.
WSDL
A SOAP átmenő és SOAP-to-REST API-kat WSDL-fájlokkal is létrehozhatja.
SOAP összekapcsolások
- Csak a "document" és a "literál" kódolási stílusú SOAP-kötések támogatottak.
- Nem támogatott az "rpc" stílus vagy a SOAP-kódolás.
Import és beleértendő
A
wsdl:import,xsd:importésxsd:includeirányelvek nem támogatottak. Ehelyett egyesítse a függőségeket egy dokumentumba.Tekintse meg ezt a
wsdl:import, ha egy nyílt forráskódú eszközt keres axsd:import,xsd:include, és függőségek feloldásához és egyesítéséhez egy WSDL fájlban.
WS-* specifikációk
A WS-* specifikációkat tartalmazó WSDL-fájlok nem támogatottak.
Több részből álló üzenetek
Ez az üzenettípus nem támogatott.
WCF wsHttpBinding
- A Windows Communication Foundation szolgáltatással létrehozott SOAP-szolgáltatásoknak a következőt kell használniuk
basicHttpBinding: -
wsHttpBindingnem támogatott.
MTOM
- A használt
MTOMszolgáltatások működhetnek. - A hivatalos támogatást jelenleg nem kínáljuk.
Rekurzió
- Az API Management nem támogatja a rekurzívan definiált típusokat.
- Hivatkozzon például egy önmagát tartalmazó tömbre.
Több névtér
Bár egy sémában több névtér is használható, csak a célnévtér használható üzenetrészek definiálására. Ezek a névterek más bemeneti vagy kimeneti elemek definiálására szolgálnak.
A céltól eltérő névterek exportáláskor nem maradnak meg. Bár importálhat egy WSDL-dokumentumot, amely más névterekkel rendelkező üzenetrészeket határoz meg, az összes üzenetrészen megjelenik a WSDL-célnévtér exportálása.
Több végpont
A WSDL-fájlok több szolgáltatást és végpontot (portot) definiálhatnak egy vagy több wsdl:service elem alapján wsdl:port . Az API Management-átjáró azonban csak egyetlen szolgáltatásba és végpontba importálhat API-kat és proxykéréseket. Ha több szolgáltatás vagy végpont van definiálva a WSDL-fájlban, a wsdlSelector tulajdonság használatával azonosítsa a célszolgáltatás nevét és végpontot az API importálásakor.
Tipp
Ha több szolgáltatás és végpont közötti terheléselosztási kérelmeket szeretne kiosztani, érdemes lehet konfigurálni egy elosztott terhelésű háttérkészletet.
Tömbök
A SOAP-to-REST átalakítás csak az alábbi példában látható burkolt tömböket támogatja:
<complexType name="arrayTypeName">
<sequence>
<element name="arrayElementValue" type="arrayElementType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="typeName">
<sequence>
<element name="element1" type="someTypeName" minOccurs="1" maxOccurs="1"/>
<element name="element2" type="someOtherTypeName" minOccurs="0" maxOccurs="1" nillable="true"/>
<element name="arrayElement" type="arrayTypeName" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
WADL
Jelenleg nincsenek ismert WADL-importálási problémák.