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:

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:

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:

A Azure Functions-alapú szolgáltatói infrastruktúrát bemutató fogalmi diagram.

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: