Egyéni összekötők az Azure Logic Appsben
A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)
Kód írása nélkül gyorsan létrehozhat automatizált integrációs munkafolyamatokat, amikor az Azure Logic Apps előre összeállított összekötőműveleteit használja. Az összekötők segítségével a munkafolyamatok adatokat, eseményeket és műveleteket csatlakoztathatnak és érhetnek el más alkalmazásokban, szolgáltatásokban, rendszerekben, protokollokban és platformokon. Minden összekötő eseményindítóként, műveletként vagy mindkettőként kínál műveleteket, amelyeket hozzáadhat a munkafolyamatokhoz. Ezekkel a műveletekkel kibővítheti a felhőalkalmazások és a helyszíni alkalmazások képességeit az új és meglévő adatokkal való együttműködéshez.
Az Azure Logic Apps összekötői beépítettek vagy felügyeltek. A beépített összekötők natív módon futnak az Azure Logic Apps-futtatókörnyezetben, ami azt jelenti, hogy ugyanabban a folyamatban vannak üzemeltetve, mint a futtatókörnyezet, és magasabb átviteli sebességet, alacsony késést és helyi kapcsolatot biztosítanak. A felügyelt összekötők olyan proxyk vagy api-k körüli burkolók, mint például a Office 365 vagy a Salesforce, amelyek segítenek a mögöttes szolgáltatásnak az Azure Logic Appsszel való kommunikációban. A felügyelt összekötőket az Azure-beli összekötőinfrastruktúra működteti, és a Microsoft helyezi üzembe, üzemelteti, futtatja és felügyeli. Több száz felügyelt összekötő közül választhat, amelyet az Azure Logic Appsben használhat a munkafolyamataihoz.
Amikor először használ összekötő-műveletet egy munkafolyamatban, egyes összekötők esetében nem szükséges először kapcsolatot létrehozni, de sok más összekötő megköveteli ezt a lépést. Minden létrehozott kapcsolat valójában egy külön Azure-erőforrás, amely hozzáférést biztosít a célalkalmazáshoz, szolgáltatáshoz, rendszerhez, protokollhoz vagy platformhoz.
Előfordulhat azonban, hogy olyan REST API-kat szeretne meghívni, amelyek nem érhetők el előre összeállított összekötőként. A testreszabottabb forgatókönyvek támogatásához létrehozhat saját egyéni összekötőket , amelyek olyan eseményindítókat és műveleteket kínálnak, amelyek nem érhetők el előre összeállított műveletekként.
Ez a cikk áttekintést nyújt a használatalapú logikai alkalmazás munkafolyamatainak egyéni összekötőiről és a Standard logikai alkalmazás munkafolyamatairól. Minden logikai alkalmazástípust egy másik Azure Logic Apps-futtatókörnyezet működtet, amely több-bérlős Azure-ban és egybérlős Azure-ban üzemel. Az Azure Logic Apps-összekötőkkel kapcsolatos további információkért tekintse át a következő dokumentációt:
- Az Azure Logic Apps összekötőinek ismertetése
- Beépített összekötők az Azure Logic Appsben
- Felügyelt összekötők az Azure Logic Appsben
- Összekötők áttekintése
- Egybérlős és több-bérlős és integrációs szolgáltatási környezet az Azure Logic Appshez
Használatalapú logikai alkalmazások
A több-bérlős Azure Logic Appsbenegyéni összekötőket hozhat létre Swagger-alapú vagy SOAP-alapú API-kból , a használati logikai alkalmazás munkafolyamataiban való használat bizonyos korlátaiig . Az Összekötők dokumentációja további áttekintést nyújt arról, hogyan hozhat létre egyéni összekötőket használatalapú logikai alkalmazásokhoz, beleértve a teljes alapszintű és speciális oktatóanyagokat. Az alábbi lista közvetlen hivatkozásokat is tartalmaz a használatalapú logikai alkalmazások egyéni összekötőire vonatkozó információkra:
- Azure Logic Apps-összekötő létrehozása
- Egyéni összekötő létrehozása OpenAPI-definícióból
- Egyéni összekötő létrehozása Postman-gyűjteményből
- Logikai alkalmazásból származó egyéni összekötő használata
- Egyéni összekötő megosztása a cégen belül
- Összekötők beküldése Microsoft-hitelesítésre
- Egyéni összekötő – gyakori kérdések
Standard logikai alkalmazások
Az egybérlős Azure Logic Appsben az újratervezett Azure Logic Apps-futtatókörnyezet standard logikaialkalmazás-munkafolyamatokat működtet. Ez a futtatókörnyezet eltér a több-bérlős Azure Logic Apps-futtatókörnyezettől, amely a használatalapú logikai alkalmazás munkafolyamatait működteti. Az egybérlős futtatókörnyezet a Azure Functions bővíthetőségi modellt használja, amely kulcsfontosságú lehetőséget nyújt arra, hogy saját beépített összekötőket hozzon létre, amelyeket bárki használhat a Standard munkafolyamatokban. A legtöbb esetben a beépített verzió jobb teljesítményt, képességeket, díjszabást és így tovább.
Az egybérlős Azure Logic Apps hivatalos kiadásakor az új beépített összekötők közé tartoznak a Azure Blob Storage, a Azure Event Hubs, a Azure Service Bus és a SQL Server. Idővel a beépített összekötők listája folyamatosan bővül. Ha azonban olyan összekötőkre van szüksége, amelyek nem érhetők el a Standard logikai alkalmazás munkafolyamataiban, létrehozhatja saját beépített összekötőit ugyanazzal a bővíthetőségi modellel, amelyet a szolgáltatói alapú beépített összekötők használnak a Standard munkafolyamatokban.
Szolgáltatóalapú beépített összekötők
Az egybérlős Azure Logic Appsben egy adott attribútumokkal rendelkező beépített összekötőt informálisan szolgáltatónak neveznek. Ezek az összekötők például a Azure Functions bővíthetőségi modellen alapulnak, amely lehetővé teszi saját egyéni beépített összekötők létrehozását a Standard logikai alkalmazás munkafolyamataiban.
Ezzel szemben a nem szolgáltatói beépített összekötők a következő attribútumokkal rendelkeznek:
Nem a Azure Functions bővíthetőségi modellen alapul.
Közvetlenül feladatként van implementálva az Azure Logic Apps-futtatókörnyezetben, például ütemezési, HTTP-, kérelem- és XML-műveletekben.
Jelenleg nem érhető el képesség egy nem szolgáltatói beépített összekötő vagy egy olyan új feladattípus létrehozásához, amely közvetlenül az Azure Logic Apps-futtatókörnyezetben fut. A szolgáltatói infrastruktúrával azonban létrehozhat saját beépített összekötőket.
A következő szakasz további információt nyújt az egyéni beépített összekötők bővíthetőségi modelljének működéséről.
Beépített összekötő bővíthetőségi modell
Az Azure Functions bővíthetőségi modell alapján az egybérlős Azure Logic Apps beépített összekötő-bővíthetőségi modellje egy szolgáltatói infrastruktúrával rendelkezik, amellyel létrehozhatja, csomagolhatja, regisztrálhatja és telepítheti saját beépített összekötőit Azure Functions bővítményként, amelyet bárki használhat a Standard munkafolyamatokban. Ez a modell egyéni beépített eseményindító-képességeket tartalmaz, amelyek támogatják egy Azure Functions eseményindító vagy művelet szolgáltatói eseményindítóként való felfedését az egyéni beépített összekötőben.
Az alábbi ábra azOkat a metódus-implementációkat mutatja be, amelyeket az Azure Logic Apps-tervező és a futtatókörnyezet elvár egy egyéni beépített összekötőhöz egy Azure Functions-alapú eseményindítóval:
Az alábbi szakaszok további információkat nyújtanak az összekötő által implementálandó interfészekről.
IServiceOperationsProvider
Ez a felület tartalmazza azokat a metódusokat, amelyek az egyéni beépített összekötő műveleti jegyzékfájlját tartalmazzák.
Műveleti jegyzék
A műveleti jegyzék metaadatokat tartalmaz az egyéni beépített összekötőben végrehajtott műveletekről. Az Azure Logic Apps tervezője elsősorban ezt a metaadatot használja az összekötő műveleteinek szerzői és figyelési élményéhez. A tervező például műveleti metaadatokkal értelmezi az adott művelethez szükséges bemeneti paramétereket, és megkönnyíti a kimenetek tulajdonságtokenjeinek létrehozását a művelet kimeneteinek sémája alapján.
A tervező megköveteli és használja a GetService() és a GetOperations() metódusokat az összekötő által biztosított és a tervezőfelületen megjelenő műveletek lekérdezéséhez. A GetService() metódus a kapcsolat tervező által megkövetelt bemeneti paramétereit is meghatározza.
Ezekről a módszerekről és azok implementálásáról a cikk későbbi, Implementálási módszerek szakaszában talál további információt.
Művelethívások
A művelethívások azok a metódus-implementációk, amelyeket az Azure Logic Apps-futtatókörnyezet a munkafolyamat-végrehajtás során használ a megadott műveletek meghívásához a munkafolyamat-definícióban.
Ha az eseményindító egy Azure Functions-alapú eseményindító-típus, akkor az Azure Logic Apps futtatókörnyezete a GetBindingConnectionInformation() metódust használja a szükséges kapcsolatparaméter-információk megadásához a Azure Functions eseményindító kötéséhez.
Ha az összekötő rendelkezik műveletekkel, a futtatókörnyezet az InvokeOperation() metódust használja a munkafolyamat végrehajtása során futó összekötő minden egyes műveletének meghívásához. Ellenkező esetben nem kell implementálnia ezt a metódust.
Ezekről a módszerekről és azok implementálásáról a cikk későbbi, Implementálási módszerek szakaszában talál további információt.
IServiceOperationsTriggerProvider
Az egyéni beépített triggerfunkciók támogatják egy Azure Functions-eseményindító vagy -művelet szolgáltatói eseményindítóként való hozzáadását vagy felfedését az egyéni beépített összekötőben. A Azure Functions-alapú eseményindító típusának és az Azure által felügyelt összekötő eseményindítójának Azure Functions kötésének használatához implementálja az alábbi módszereket a kapcsolatadatok és a triggerkötések Azure Functions által megkövetelt megadásához.
A GetFunctionTriggerType() metódus szükséges a Azure Functions triggerkötés típusparaméterével megegyező sztring visszaadásához.
A GetFunctionTriggerDefinition() alapértelmezett implementációval rendelkezik, így nem kell explicit módon implementálnia ezt a módszert. Ha azonban frissíteni szeretné az eseményindító alapértelmezett viselkedését, például további paramétereket szeretne megadni, amelyeket a tervező nem tesz közzé, akkor implementálhatja ezt a módszert, és felülbírálhatja az alapértelmezett viselkedést.
Implementálandó módszerek
Az alábbi szakaszok további információkat nyújtanak az összekötő által implementálandó módszerekről. A teljes mintaért tekintse át a Minta CosmosDbServiceOperationProvider.cs és az Egyéni beépített összekötők létrehozása standard logikai alkalmazásokhoz az egybérlős Azure Logic Appsben című cikket.
GetService()
A tervező megköveteli ezt a módszert a szolgáltatás magas szintű metaadatainak lekéréséhez, beleértve a szolgáltatás leírását, a kapcsolat bemeneti paramétereit, a képességeket, a márkaszínt, az ikon URL-címét stb.
public ServiceOperationApi GetService()
{
return this.{custom-service-name-apis}.ServiceOperationServiceApi();
}
További információért tekintse át a CosmosDbServiceOperationProvider.cs mintát.
GetOperations()
A tervező megköveteli ezt a módszert a szolgáltatás által implementált műveletek lekéréséhez. A műveleti lista a Swagger-sémán alapul. A tervező a művelet metaadatait is felhasználja az adott műveletek bemeneti paramétereinek megértéséhez, és a kimeneteket tulajdonságtokenként hozza létre a művelet kimenetének sémája alapján.
public IEnumerable<ServiceOperation> GetOperations(bool expandManifest)
{
return expandManifest ? serviceOperationsList : GetApiOperations();
}
További információért tekintse át a CosmosDbServiceOperationProvider.cs mintát.
GetBindingConnectionInformation()
Ha a Azure Functions-alapú triggertípust szeretné használni, ez a metódus biztosítja a szükséges kapcsolatparaméter-információkat a Azure Functions eseményindító kötéséhez.
public string GetBindingConnectionInformation(string operationId, InsensitiveDictionary<JToken> connectionParameters)
{
return ServiceOperationsProviderUtilities
.GetRequiredParameterValue(
serviceId: ServiceId,
operationId: operationID,
parameterName: "connectionString",
parameters: connectionParameters)?
.ToValue<string>();
}
További információért tekintse át a CosmosDbServiceOperationProvider.cs mintát.
InvokeOperation()
Ha az egyéni beépített összekötő csak eseményindítóval rendelkezik, nem kell implementálnia ezt a módszert. Ha azonban az összekötő implementálandó műveletekkel rendelkezik, implementálnia kell az InvokeOperation() metódust , amelyet a rendszer meghív a munkafolyamat végrehajtása során futó összekötő minden egyes műveletéhez. Bármilyen ügyfelet használhat, például FTPClient, HTTPClient stb. az összekötő műveletei által megkövetelt módon. Ez a példa a HTTPClient függvényt használja.
public Task<ServiceOperationResponse> InvokeOperation(string operationId, InsensitiveDictionary<JToken> connectionParameters, ServiceOperationRequest serviceOperationRequest)
{
using (var client = new HttpClient())
{
response = client.SendAsync(httpRequestMessage).ConfigureAwait(false).ToJObject();
}
return new ServiceOperationResponse(body: response);
}
További információért tekintse át a CosmosDbServiceOperationProvider.cs mintát.
GetFunctionTriggerType()
Ha Azure Functions-alapú eseményindítót szeretne használni az összekötőben, vissza kell adnia azt a sztringet, amely megegyezik a Azure Functions triggerkötés típusparaméterével.
Az alábbi példa a beépített Beépített Azure Cosmos DB-eseményindító sztringét adja vissza: "type": "cosmosDBTrigger"
public string GetFunctionTriggerType()
{
return "CosmosDBTrigger";
}
További információ: CosmosDbServiceOperationProvider.cs minta.
GetFunctionTriggerDefinition()
Ez a metódus alapértelmezett implementációval rendelkezik, ezért nem kell explicit módon implementálnia ezt a metódust. Ha azonban frissíteni szeretné az eseményindító alapértelmezett viselkedését, például további paramétereket szeretne megadni, amelyeket a tervező nem tesz közzé, implementálhatja ezt a módszert, és felülbírálhatja az alapértelmezett viselkedést.
Következő lépések
Ha készen áll a megvalósítási lépések megkezdésére, folytassa a következő cikkel:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: