Megosztás a következőn keresztül:


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, ha 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 más alkalmazások, szolgáltatások, rendszerek, protokollok és platformok adataihoz, eseményeihez és műveleteihez csatlakozhatnak és férhetnek hozzá. 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. Ezeknek a műveleteknek a használatával kibővítheti a felhőalkalmazások és a helyszíni alkalmazások képességeit az új és a meglévő adatokkal való együttműködéshez.

Az Azure Logic Apps-összekötők 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 ugyanazon a folyamaton futnak, 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 proxyk vagy burkolók egy API körül, például az Office 365 vagy a Salesforce körül, amely segít a mögöttes szolgáltatásnak az Azure Logic Appsszel való beszélgetésben. A felügyelt összekötőket az Azure-beli összekötőinfrastruktúra működteti, és a Microsoft telepíti, üzemelteti, futtatja és felügyeli. Több száz felügyelt összekötő közül választhat, amelyek az Azure Logic Apps munkafolyamataihoz használhatók.

Amikor először használ összekötő-műveletet egy munkafolyamatban, egyes összekötők nem igénylik, hogy először hozzon létre kapcsolatot, 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álati 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 fut. Az Azure Logic Apps összekötőiről az alábbi dokumentációban talál további információt:

Használatlogika-alkalmazások

A több-bérlős Azure Logic Appsben egyéni összekötőket hozhat létre Swagger-alapú vagy SOAP-alapú API-kból , egészen a használati logikai alkalmazások munkafolyamataiban való használat meghatározott 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 a Consumption logikai alkalmazásokhoz, beleértve a teljes alapszintű és speciális oktatóanyagokat. Az alábbi lista közvetlen hivatkozásokat is tartalmaz a Consumption 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 szabványos logikai alkalmazás-munkafolyamatokat működtet. Ez a futtatókörnyezet különbözik a több-bérlős Azure Logic Apps-futtatókörnyezettől, amely a Használat logikai alkalmazás munkafolyamatait működteti. Az egybérlős futtatókörnyezet az Azure Functions bővíthetőségi modelljét használja, amely kulcsfontosságú lehetőséget biztosít 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 egyebeket biztosít.

Az egybérlős Azure Logic Apps hivatalos kiadásakor az új beépített összekötők közé tartozik az Azure Blob Storage, az Azure Event Hubs, az Azure Service Bus és az SQL Server. Idővel a beépített összekötők listája folyamatosan nő. Ha azonban olyan összekötőkre van szüksége, amelyek nem érhetők el a Standard logikai alkalmazások munkafolyamataiban, létrehozhat saját beépített összekötőket ugyanazzal a bővíthetőségi modellel, amelyet a szolgáltatói alapú beépített összekötők a Standard munkafolyamatokban használnak.

Szolgáltatói 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 nem hivatalosan szolgáltatóként ismerünk. Ezek az összekötők például az Azure Functions bővíthetőségi modelljén 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 az Azure Functions bővíthetőségi modelljén alapul.

  • Közvetlenül feladatként implementálva van az Azure Logic Apps-futtatókörnyezetben, például ütemezési, HTTP-, kérelem- és XML-műveletekben.

Jelenleg nem áll rendelkezésre olyan képesség, amely közvetlenül az Azure Logic Apps-futtatókörnyezetben futó, nem szolgáltatói beépített összekötőt vagy új feladattípust hozna létre. A szolgáltatói infrastruktúrával azonban létrehozhat saját beépített összekötőket.

Az alábbi szakasz további információt nyújt arról, hogyan működik a bővíthetőségi modell az egyéni beépített összekötők esetében.

Beépített összekötő bővíthetőségi modell

Az Azure Functions bővíthetőségi modellje alapján az egybérlős Azure Logic Apps beépített összekötő-bővíthetőségi modellje olyan szolgáltatói infrastruktúrával rendelkezik, amellyel saját beépített összekötőket hozhat létre, csomagolhat, regisztrálhat és telepíthet Azure Functions-bővítményekként, amelyeket 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 az Azure Functions-eseményindítók vagy -műveletek 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 az Azure Functions-alapú eseményindítóval rendelkező egyéni beépített összekötőhöz vár:

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

A következő szakaszok további információt nyújtanak az összekötő által implementálandó felületekről.

IServiceOperationsProvider

Ez az interfész tartalmazza azokat a metódusokat, amelyek az egyéni beépített összekötő műveleti jegyzéké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 ezekkel a metaadatokkal hajtja végre az összekötő műveleteinek szerzői és monitorozási élményét. 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ágjogkivonatainak generálását a művelet kimeneteinek sémája alapján.

    A tervező a GetService() és a GetOperations() metódusok használatával kérdezi le az összekötő által a tervezőfelületen nyújtott és megjelenő műveleteket. A GetService() metódus a kapcsolat tervező által megkövetelt bemeneti paramétereit is megadja.

    Ezekről a módszerekről és azok implementálásáról a jelen cikk későbbi, implementálandó metódusok szakaszában talál további információt.

  • Művelethívások

    A műveletmeghívások az Azure Logic Apps-futtatókörnyezet által a munkafolyamat-végrehajtás során használt metódus-implementációk, amelyek meghívják a munkafolyamat-definícióban megadott műveleteket.

    • Ha az eseményindító Egy Azure Functions-alapú triggertípus, a GetBindingConnectionInformation() metódust az Azure Logic Apps futtatókörnyezete használja a szükséges kapcsolatparaméter-információk megadásához az 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 módszert.

Ezekről a módszerekről és azok implementálásáról a jelen cikk későbbi, implementálandó metódusok szakaszában talál további információt.

IServiceOperationsTriggerProvider

Az egyéni beépített triggerfunkciók támogatják az Azure Functions-eseményindítók vagy -műveletek szolgáltatói eseményindítóként való hozzáadását vagy felfedést az egyéni beépített összekötőben. Az Azure Functions-alapú eseményindító típusának és az Azure-beli felügyelt összekötő-eseményindítóval azonos Azure Functions-kötésnek a használatához hajtsa végre az alábbi módszereket a kapcsolati adatok megadásához és a kötések aktiválásához az Azure Functions által megkövetelt módon.

  • A GetFunctionTriggerType() metódusra van szükség ahhoz, hogy visszaadja azt a sztringet, amely megegyezik az Azure Functions eseményindító kötésének típusparaméterével .

  • A GetFunctionTriggerDefinition() 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.

Implementálási 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 esetében tekintse át a minta CosmosDbServiceOperationProvider.cs és egyéni beépített összekötők létrehozását standard logikai alkalmazásokhoz az egybérlős Azure Logic Appsben.

Fontos

Ha bizalmas információi vannak, például a felhasználóneveket és jelszavakat tartalmazó kapcsolati sztring, ügyeljen arra, hogy az elérhető legbiztonságosabb hitelesítési folyamatot használja. A Microsoft például azt javasolja, hogy felügyelt identitással hitelesítse az Azure-erőforrásokhoz való hozzáférést, ha rendelkezésre áll támogatás, és rendeljen hozzá egy olyan szerepkört, amely a legkevésbé szükséges jogosultsággal rendelkezik.

Ha ez a funkció nem érhető el, győződjön meg arról, hogy a kapcsolati sztring más mértékekkel, például az Azure Key Vaulttal is biztonságossá teszi, amelyet az alkalmazásbeállítások használatával használhat. Ezután közvetlenül hivatkozhat biztonságos sztringekre, például kapcsolati sztring és kulcsokra. Az ARM-sablonokhoz hasonlóan, ahol az üzembe helyezéskor definiálhat környezeti változókat, az alkalmazásbeállításokat a logikai alkalmazás munkafolyamat-definíciójában határozhatja meg. Ezután rögzítheti a dinamikusan létrehozott infrastruktúra-értékeket, például a kapcsolati végpontokat, a tárolási sztringeket stb. További információ: Alkalmazástípusok a Microsoft Identitásplatform.

GetService()

A tervezőnek szüksége van erre a módszerre 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árka színét, az ikon URL-címét stb.

public ServiceOperationApi GetService()
{
   return this.{custom-service-name-apis}.ServiceOperationServiceApi();
}

További információkért tekintse át a minta CosmosDbServiceOperationProvider.cs.

GetOperations()

A tervező megköveteli ezt a módszert a szolgáltatás által végrehajtott műveletek végrehajtásához. A műveleti lista 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ágjogkivonatké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ókért tekintse át a minta CosmosDbServiceOperationProvider.cs.

GetBindingConnectionInformation()

Ha az Azure Functions-alapú triggertípust szeretné használni, ez a metódus biztosítja a szükséges kapcsolati paraméterek adatait az 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ókért tekintse át a minta CosmosDbServiceOperationProvider.cs.

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őnek vannak implementálandó műveletei, implementálnia kell az InvokeOperation() metódust, amelyet a rendszer meghív az összekötő minden olyan műveletéhez, amely a munkafolyamat végrehajtása során fut. Bármilyen ügyfelet használhat, például FTPClient, HTTPClient stb. az összekötő műveleteinek megfelelően. Ez a példa HTTPClient-et használ.

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ókért tekintse át a minta CosmosDbServiceOperationProvider.cs.

GetFunctionTriggerType()

Ha egy Azure Functions-alapú eseményindítót szeretne használni az összekötőben, vissza kell adnia azt a sztringet, amely megegyezik az Azure Functions eseményindító kötésének típusparaméterével .

Az alábbi példa a beépített Azure Cosmos DB-eseményindító sztringét adja vissza: "type": "cosmosDBTrigger"

public string GetFunctionTriggerType()
{
   return "CosmosDBTrigger";
}

További információkért tekintse át a minta CosmosDbServiceOperationProvider.cs.

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: