Egyéni összekötő létrehozása bővítménnyel OpenAPI
Az egyik módja annak, hogy egyéni összekötőket hozzon létre a Azure Logic Apps Microsoft Power Automate, vagy Microsoft Power Apps egy definíciós fájl megadása OpenAPI , amely egy nyelvfüggetlen, géppel olvasható dokumentum, amely leírja az API műveleteit és paramétereit. A beépített funkciók mellett OpenAPI a következő OpenAPI bővítményeket is felveheti, amikor egyéni összekötőket hoz létre a Logic Apps és Power Automate:
summary
x-ms-summary
description
x-ms-visibility
x-ms-api-annotation
x-ms-operation-context
x-ms-capabilities
x-ms-trigger
x-ms-trigger-hint
x-ms-notification-content
x-ms-notification-url
x-ms-url-encoding
x-ms-dynamic-values and x-ms-dynamic-list
x-ms-dynamic-schema and x-ms-dynamic-properties
A következő szakaszok ismertetik ezeket a bővítményeket.
összegzés
A művelet címe.
A következőkre vonatkozik: Műveletek
Ajánlott: Mondat kis- és nagybetűinek summary
használata.
Példa: "Amikor egy esemény hozzá van adva a naptárhoz" vagy "E-mail küldése"
"actions" {
"Send_an_email": {
/// Other action properties here...
"summary": "Send an email",
/// Other action properties here...
}
},
x-ms-summary
Egy entitás címe.
A következőkre vonatkozik: Paraméterek, válaszséma
Ajánlott: Használja a cím kis- és nagybetűit x-ms-summary
.
Példa: "Naptárazonosító", "Tárgy", "Esemény leírása"
"actions" {
"Send_an_email": {
/// Other action properties here...
"parameters": [{
/// Other parameters here...
"x-ms-summary": "Subject",
/// Other parameters here...
}]
}
},
description
A művelet funkciójának vagy egy entitás formátumának és funkciójának szöveges leírása.
A következőkre vonatkozik: Műveletek, paraméterek, válaszséma
Ajánlott: Használjon mondatot a következőhöz description
:
Példa: "Ez a művelet akkor indul el, ha új eseményt adnak hozzá a naptárhoz", "Adja meg az e-mail tárgyát"
"actions" {
"Send_an_email": {
"description": "Specify the subject of the mail",
/// Other action properties here...
}
},
x-ms-visibility
Azt határozza meg, hogy az entitás hogyan jelenik meg a felhasználók számára.
Lehetséges értékek: important
, advanced
, és internal
A következőkre vonatkozik: Műveletek, paraméterek, sémák
-
important
A műveletek és a paraméterek mindig először a felhasználó számára jelennek meg. -
advanced
A műveletek és a paraméterek egy további menü alatt vannak elrejtve. -
internal
A műveletek és a paraméterek rejtve vannak a felhasználó elől.
Feljegyzés
Az és internal
paraméterek required
esetében meg kell adnia az alapértelmezett értékeket.
Példa: A Továbbiak és a Speciális beállítások megjelenítése menü elrejti a műveleteket advanced
és a paramétereket.
"actions" {
"Send_an_email": {
/// Other action properties here...
"parameters": [{
"name": "Subject",
"type": "string",
"description": "Specify the subject of the mail",
"x-ms-summary": "Subject",
"x-ms-visibility": "important",
/// Other parameter properties here...
}]
/// Other action properties here...
}
},
x-ms-api-annotation
Egy művelet verziószámozásához és életciklus-kezelésére használható.
Hatóköre: Műveletek
-
family
– A műveletcsalád mappáját jelölő karakterlánc. -
revision
—A revíziószámot jelölő egész szám. -
replacement
– A helyettesítő API-információkat és műveleteket tartalmazó objektum.
"x-ms-api-annotation": {
"family": "ListFolder",
"revision": 1,
"replacement": {
"api": "SftpWithSsh",
"operationId": "ListFolder"
}
}
x-ms-operation-context
Egy eseményindító aktiválásának szimulálására szolgál, hogy tesztelni lehessen az eseményindítótól függő folyamatokat.
Hatóköre: Műveletek
"x-ms-operation-context": {
"simulate": {
"operationId": "GetItems_V2",
"parameters": {
"$top": 1
}
}
x-ms-capabilities
Az összekötő szintjén használva ez az összekötő által kínált képességek áttekintése, beleértve az adott műveleteket is.
A következőkre vonatkozik: Összekötők
"x-ms-capabilities": {
"testConnection": {
"operationId": "GetCurrentUser"
},
}
A műveleti szinten való használat esetén ez annak azonosítására szolgál, hogy a művelet támogatja-e az adattömbfeltöltést és/vagy a statikus adattömbméretet, és a felhasználó megadhatja.
Hatóköre: Műveletek
-
chunkTransfer
—Logikai érték, amely azt jelzi, hogy támogatott-e az adattömbátvitel.
"x-ms-capabilities": {
"chunkTransfer": true
}
x-ms-trigger
Azonosítja, hogy az aktuális művelet egyetlen eseményt előidéző eseményindító-e. A mező hiánya azt jelenti, hogy ez egy action
művelet.
Hatóköre: Műveletek
-
single
—Objektum válasza -
batch
– Tömb válasza
"x-ms-trigger": "batch"
x-ms-trigger-hint
Annak a leírása, hogyan aktiválható egy esemény egy eseményindító művelethez.
Hatóköre: Műveletek
"x-ms-trigger-hint": "To see it work, add a task in Outlook."
x-ms-notification-content
Egy webhook értesítési kérelmének sémadefinícióját tartalmazza. Ez a webhook külső szolgáltatások által az értesítési URL-ben közzétett hasznos adatainak sémája.
A következőkre vonatkozik: Erőforrások
"x-ms-notification-content": {
"schema": {
"$ref": "#/definitions/WebhookPayload"
}
},
x-ms-notification-url
Egy logikai értékben azonosítja, hogy egy webhook-értesítési URL-címet kell-e elhelyezni ebben a paraméterben/mezőben egy webhook-regisztrációs művelethez.
A következőkre vonatkozik: Paraméterek/beviteli mezők
"x-ms-notification-url": true
x-ms-url-encoding
Azonosítja, hogy az aktuális elérési út paraméternek dupla URL-kódolásúnak double
vagy egyetlen URL-kódolásúnak single
kell-e lennie. A mező hiánya kódolást jelez single
.
A következőkre vonatkozik: Elérési út paraméterei
"x-ms-url-encoding": "double"
Dinamikus értékek használata
A dinamikus értékek lehetőségek listáját kínálják a felhasználó számára, amelyből kiválaszthatja egy művelet bemeneti paramétereit.
A következőkre vonatkozik: Paraméterek
A dinamikus értékek használata
Feljegyzés
Az elérésiút-sztring egy JSON-mutató, amely nem tartalmazza a kezdő perjelet. Tehát ez egy JSON-mutató: /property/childProperty, és ez egy elérési út karakterlánc: property/childProperty.
A dinamikus értékek kétféle módon határozhatók meg:
Használ
x-ms-dynamic-values
Név szerint Szükséges Ismertetés operationId Igen Az értékeket visszaadó művelet. paraméterek Igen Egy objektum, amely megadja a dinamikus-értékek művelet meghívásához szükséges bemeneti paramétereket. value-collection Nem A válaszban objektumokból álló tömbként kiértékelt útvonal-karakterlánc. Ha az érték-gyűjtemény nincs megadva, a válasz tömbként lesz értelmezve. value-title Nem Az objektumon belüli érték-gyűjteményben található útvonal-karakterlánc, amely az érték leírására hivatkozik. value-path Nem Az objektumon belüli érték-gyűjteményben található útvonal-karakterlánc, amely a paraméterértékre hivatkozik. "x-ms-dynamic-values": { "operationId": "PopulateDropdown", "value-path": "name", "value-title": "properties/displayName", "value-collection": "value", "parameters": { "staticParameter": "<value>", "dynamicParameter": { "parameter": "<name of the parameter to be referenced>" } } }
Feljegyzés
Dinamikus értékek használatakor előfordulhat, hogy nem egyértelműek a paraméterek hivatkozásai. Egy művelet következő definíciójában például a dinamikus értékek a mezőazonosítóra hivatkoznak, amely nem egyértelmű a definícióból, mert nem egyértelmű, hogy a paraméterre vagy a requestBody/id tulajdonságrahivatkozik-e.
{ "summary": "Tests dynamic values with ambiguous references", "description": "Tests dynamic values with ambiguous references.", "operationId": "TestDynamicValuesWithAmbiguousReferences", "parameters": [{ "name": "id", "in": "path", "description": "The request id.", "required": true }, { "name": "requestBody", "in": "body", "description": "query text.", "required": true, "schema": { "description": "Input body to execute the request", "type": "object", "properties": { "id": { "description": "The request Id", "type": "string" }, "model": { "description": "The model", "type": "string", "x-ms-dynamic-values": { "operationId": "GetSupportedModels", "value-path": "name", "value-title": "properties/displayName", "value-collection": "value", "parameters": { "requestId": { "parameter": "id" } } } } } } }], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "default": { "description": "Operation Failed." } } }
x-ms-dynamic-list
Nincs mód a paraméterekre egyértelműen hivatkozni. Ez a funkció a jövőben is elérhető lehet. Ha azt szeretné, hogy a művelet kihasználja az új frissítések előnyeit, adja hozzá az új bővítményt
x-ms-dynamic-list
isx-ms-dynamic-values
. Továbbá, ha a dinamikus bővítmény paramétereken belüli tulajdonságokra hivatkozik, hozzá kell adnia az új bővítménytx-ms-dynamic-list
isx-ms-dynamic-values
. A tulajdonságokra mutató paraméterhivatkozásokat elérésiút-sztringekként kell kifejezni.parameters
—Ez a tulajdonság egy olyan objektum, ahol a hívott dinamikus művelet minden bemeneti tulajdonsága statikus értékmezővel vagy a forrásművelet tulajdonságára mutató dinamikus hivatkozással van definiálva. Mindkét beállítást az alábbiakban definiáljuk.value
– Ez a bemeneti paraméterhez használandó konstans érték. A következő példában a művelet GetDynamicList nevű version nevű művelet bemeneti paramétere a 2.0 statikus értékkel van meghatározva.{ "operationId": "GetDynamicList", "parameters": { "version": { "value": "2.0" } } }
parameterReference
—Ez a teljes paraméterhivatkozási útvonal, amely a paraméter nevével kezdődik, majd a hivatkozni kívánt tulajdonság elérési útjának karakterláncával. A GetDynamicList nevű property1 művelet bemeneti tulajdonsága például, amely a destinationInputParam1 paraméteralatt található, dinamikus hivatkozásként van definiálva a sourceInputParam1 paraméter sourceInputParam1 nevűtulajdonságára .{ "operationId": "GetDynamicList", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Feljegyzés
Ha olyan tulajdonságra szeretne hivatkozni, amely alapértelmezett értékkel van megjelölve belsőként, akkor az alapértelmezett értéket statikus értékként kell használnia a definícióban itt, ahelyett, hogy a következőt
parameterReference
használná. A lista alapértelmezett értéke nem használatos, ha a használatávalparameterReference
van definiálva.Name Szükséges Description operationId Igen A listát visszaadó művelet. paraméterek Igen Egy objektum, amely megadja a dinamikus lista művelet meghívásához szükséges bemeneti paramétereket. itemsPath Nem A válaszban objektumokból álló tömbként kiértékelt útvonal-karakterlánc. Ha itemsPath
nincs megadva, a válasz tömbként lesz kiértékelve.itemTitlePath Nem Az objektum belsejében itemsPath
lévő elérésiút-sztring, amely az érték leírására hivatkozik.itemValuePath No A belső itemsPath
objektum elérési útjának sztringje, amely az elem értékére hivatkozik.Használjon
x-ms-dynamic-list
paraméterhivatkozásokat a hivatkozott tulajdonság elérési útjának sztringjével. Ezeket a paraméter-hivatkozásokat használja a dinamikus művelet paraméter-hivatkozásának kulcsához és értékéhez is.{ "summary": "Tests dynamic values with ambiguous references", "description": "Tests dynamic values with ambiguous references.", "operationId": "TestDynamicListWithAmbiguousReferences", "parameters": [ { "name": "id", "in": "path", "description": "The request id.", "required": true }, { "name": "requestBody", "in": "body", "description": "query text.", "required": true, "schema": { "description": "Input body to execute the request", "type": "object", "properties": { "id": { "description": "The request id", "type": "string" }, "model": { "description": "The model", "type": "string", "x-ms-dynamic-values": { "operationId": "GetSupportedModels", "value-path": "name", "value-title": "properties/displayName", "value-collection": "cardTypes", "parameters": { "requestId": { "parameter": "id" } } }, "x-ms-dynamic-list": { "operationId": "GetSupportedModels", "itemsPath": "cardTypes", "itemValuePath": "name", "itemTitlePath": "properties/displayName", "parameters": { "requestId": { "parameterReference": "requestBody/id" } } } } } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "default": { "description": "Operation Failed." } } }
Dinamikus séma használata
A dinamikus séma jelzi, hogy az erre a paraméterre vagy válaszra vonatkozó séma dinamikus jellegű. Ez az objektum meghív egy műveletet, amelyet a mező értéke határoz meg, dinamikusan felderíti a sémát, és megjeleníti a megfelelő felhasználói felületet a felhasználói bevitel gyűjtéséhez, vagy megjeleníti az elérhető mezőket.
A következőkre vonatkozik: Paraméterek, válaszok
Ez a kép azt mutatja, hogyan változik a beviteli űrlap a felhasználó által a listából kiválasztott elem alapján:
Ez a kép azt mutatja, hogyan változnak a kimenetek a felhasználó által a legördülő listából kiválasztott elem alapján. Ebben a verzióban a felhasználó az Autók lehetőséget választja:
Ebben a verzióban a felhasználó az Étel lehetőséget választja:
A dinamikus séma használata
Feljegyzés
Az elérésiút-sztring egy JSON-mutató, amely nem tartalmazza a kezdő perjelet. Tehát ez egy JSON-mutató: /property/childProperty, és ez egy elérési út karakterlánc: property/childProperty.
A dinamikus séma kétféle módon határozható meg:
x-ms-dynamic-schema
:Név szerint Szükséges Ismertetés operationId Igen A sémát visszaadó művelet. paraméterek Igen Egy objektum, amely megadja a dinamikus-séma művelet meghívásához szükséges bemeneti paramétereket. value-path Nem Az elérési út sémát tartalmazó tulajdonságra hivatkozó útvonalsztringje. Ha nincs megadva, a válasz feltételezhetően tartalmazza a sémát a gyökérobjektum tulajdonságaiban. Ha meg van adva, a sikeres válasznak tartalmaznia kell a tulajdonságot. Üres vagy nem definiált séma esetén ennek az értéknek null értékűnek kell lennie. { "name": "dynamicListSchema", "in": "body", "description": "Dynamic schema for items in the selected list", "schema": { "type": "object", "x-ms-dynamic-schema": { "operationId": "GetListSchema", "parameters": { "listID": { "parameter": "listID-dynamic" } }, "value-path": "items" } } }
Feljegyzés
A paraméterekben kétértelmű hivatkozások lehetnek. Egy művelet következő definíciójában például a dinamikus séma egy query nevű mezőre hivatkozik, amely determinisztikusan nem érthető meg a definícióból – függetlenül attól, hogy a paraméterobjektum-lekérdezésrevagy a sztringtulajdonság lekérdezésére/lekérdezésére hivatkozik-e.
{ "summary": "Tests dynamic schema with ambiguous references", "description": "Tests dynamic schema with ambiguous references.", "operationId": "TestDynamicSchemaWithAmbiguousReferences", "parameters": [{ "name": "query", "in": "body", "description": "query text.", "required": true, "schema": { "description": "Input body to execute the request", "type": "object", "properties": { "query": { "description": "Query Text", "type": "string" } } }, "x-ms-summary": "query text" }], "responses": { "200": { "description": "OK", "schema": { "x-ms-dynamic-schema": { "operationId": "GetDynamicSchema", "parameters": { "query": { "parameter": "query" } }, "value-path": "schema/valuePath" } } }, "default": { "description": "Operation Failed." } } }
Példák nyílt forráskódú összekötőkről
Összekötő Forgatókönyv Hivatkozás Jegykiadás Séma lekérése a kiválasztott esemény részleteihez Jegykiadás x-ms-dynamic-properties
:Nincs mód a paraméterekre egyértelműen hivatkozni. Ez a funkció a jövőben is elérhető lehet. Ha azt szeretné, hogy a művelet kihasználja az új frissítések előnyeit, adja hozzá az új bővítményt
x-ms-dynamic-properties
isx-ms-dynamic-schema
. Továbbá, ha a dinamikus bővítmény paramétereken belüli tulajdonságokra hivatkozik, hozzá kell adnia az új bővítménytx-ms-dynamic-properties
isx-ms-dynamic-schema
. A tulajdonságokra mutató paraméterhivatkozásokat elérésiút-sztringekként kell kifejezni.parameters
—Ez a tulajdonság egy olyan objektum, ahol a hívott dinamikus művelet minden bemeneti tulajdonsága statikus értékmezővel vagy a forrásművelet tulajdonságára mutató dinamikus hivatkozással van definiálva. Mindkét beállítást az alábbiakban definiáljuk.value
– Ez a bemeneti paraméterhez használandó konstans érték. A következő példában a GetDynamicSchemanevű művelet bemeneti paramétere 2.0 statikus értékkelvan definiálva.{ "operationId": "GetDynamicSchema", "parameters": { "version": { "value": "2.0" } } }
parameterReference
—Ez a teljes paraméterhivatkozási útvonal, amely a paraméter nevével kezdődik, majd a hivatkozni kívánt tulajdonság elérési útjának karakterláncával. A GetDynamicSchema nevű property1 művelet bemeneti tulajdonsága például a sourceInputParam1 paraméteralatt van definiálva, dinamikus hivatkozásként van definiálva a sourceInputParam1 paraméter sourceInputParam1 nevűtulajdonságára .{ "operationId": "GetDynamicSchema", "parameters": { "destinationInputParam1/property1": { "parameterReference": "sourceInputParam1/property1" } } }
Feljegyzés
Ha olyan tulajdonságra szeretne hivatkozni, amely alapértelmezett értékkel van megjelölve belsőként, akkor az alapértelmezett értéket statikus értékként kell használnia a definícióban itt, ahelyett, hogy a következőt
parameterReference
használná. A rendszer nem használja a séma alapértelmezett értékét, ha a használatávalparameterReference
van definiálva.Name Szükséges Description operationId Igen A sémát visszaadó művelet. paraméterek Igen Egy objektum, amely megadja a dinamikus-séma művelet meghívásához szükséges bemeneti paramétereket. itemValuePath Nem Az elérési út sémát tartalmazó tulajdonságra hivatkozó útvonalsztringje. Ha nincs megadva, a válasz feltételezi, hogy tartalmazza a sémát a gyökérobjektumban. Ha meg van adva, a sikeres válasznak tartalmaznia kell a tulajdonságot. Üres vagy nem definiált séma esetén ennek az értéknek null értékűnek kell lennie. x-ms-dynamic-properties
A paraméterhivatkozások a hivatkozni kívánt tulajdonság elérési útjának sztringjével használhatók, mind a kulcshoz, mind a dinamikus műveleti paraméterhivatkozás értékéhez.{ "summary": "Tests dynamic schema with ambiguous references", "description": "Tests dynamic schema with ambiguous references.", "operationId": "TestDynamicSchemaWithAmbiguousReferences", "parameters": [{ "name": "query", "in": "body", "description": "query text.", "required": true, "schema": { "description": "Input body to execute the request", "type": "object", "properties": { "query": { "description": "Query Text", "type": "string" } } }, "x-ms-summary": "query text" }], "responses": { "200": { "description": "OK", "schema": { "x-ms-dynamic-schema": { "operationId": "GetDynamicSchema", "parameters": { "version": "2.0", "query": { "parameter": "query" } }, "value-path": "schema/valuePath" }, "x-ms-dynamic-properties": { "operationId": "GetDynamicSchema", "parameters": { "version": { "value": "2.0" }, "query/query": { "parameterReference": "query/query" } }, "itemValuePath": "schema/valuePath" } } }, "default": { "description": "Operation Failed." } } }
Következő lépés
Egyéni összekötő létrehozása definícióból OpenAPI
Kapcsolódó információk
Visszajelzés küldése
Nagyra értékeljük az összekötőplatform problémáival kapcsolatos visszajelzéseket és az új funkciókkal kapcsolatos ötleteket. Ha visszajelzést szeretne küldeni, lépjen a Problémák elküldése vagy az összekötőkkel kapcsolatos segítség kérése elemre, és válassza ki a visszajelzés típusát.