Freigeben über


Erstellen benutzerdefinierter integrierter Connectors für Standard-Logik-Apps in Azure Logic Apps-Instanzen mit nur einem Mandanten

Gilt für: Azure Logic Apps (Standard)

Wenn Sie Connectors benötigen, die nicht in Standard-Logik-App-Workflows verfügbar sind, können Sie Ihre eigenen integrierten Connectors mithilfe des gleichen Erweiterbarkeitsmodells erstellen, das von den integrierten Connectors auf Dienstanbieterbasis verwendet wird, die für Standard-Workflows in Azure Logic Apps mit nur einem Mandanten verfügbar sind. Dieses Erweiterbarkeitsmodell basiert auf dem Azure Functions-Erweiterbarkeitsmodell.

In diesem Artikel wird gezeigt, wie Sie einen benutzerdefinierten integrierten Azure Cosmos DB-Beispielconnector erstellen, der über einen einzelnen Azure Functions-basierten Trigger und keine Aktionen verfügt. Der Trigger wird ausgelöst, wenn ein neues Dokument zur Leasesammlung oder zum Container in Azure Cosmos DB hinzugefügt wird, und führt dann einen Workflow aus, der die Eingabenutzlast als Azure Cosmos DB-Dokument verwendet.

Vorgang Vorgangsdetails BESCHREIBUNG
Trigger Beim Empfang eines Dokuments Dieser Triggervorgang wird ausgeführt, wenn ein Einfügevorgang in der angegebenen Azure Cosmos DB-Datenbank und -Sammlung erfolgt.
Aktion Keine Dieser Connector definiert keine Aktionsvorgänge.

Dieser Beispielconnector verwendet dieselbe Funktionalität wie der Azure Cosmos DB-Trigger für Azure Functions, der auf Azure Functions-Triggern und -Bindungen basiert. Das vollständige Beispiel finden Sie unter Benutzerdefinierter integrierter Azure Cosmos DB-Beispielconnector: Azure Logic Apps-Connectorerweiterungen.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Voraussetzungen

Allgemeine Schritte

In der folgenden Gliederung werden die allgemeinen Schritte zum Erstellen des Beispielconnectors beschrieben.

  1. Erstellen Sie ein Klassenbibliotheksprojekt.

  2. Fügen Sie in Ihrem Projekt das NuGet-Paket Microsoft.Azure.Workflows.WebJobs.Extension als NuGet-Verweis hinzu.

  3. Stellen Sie mithilfe des NuGet-Pakets die Vorgänge für Ihren integrierten Connector bereit, um die Methoden für die Schnittstellen namens IServiceOperationsProvider und IServiceOperationsTriggerProvider zu implementieren.

  4. Registrieren Sie Ihren benutzerdefinierten integrierten Connector mit der Azure Functions-Laufzeiterweiterung.

  5. Installieren Sie den zu verwendenden Connector.

Erstellen Ihres Klassenbibliotheksprojekts

  1. Erstellen Sie in Visual Studio Code ein .NET Core 3.1-Klassenbibliotheksprojekt.

  2. Fügen Sie in Ihrem Projekt das NuGet-Paket namens Microsoft.Azure.Workflows.WebJobs.Extension als NuGet-Verweis hinzu.

Implementieren der Dienstanbieterschnittstelle

Um die Vorgänge für den integrierten Beispielconnector bereitzustellen, implementieren Sie im NuGet-Paket Microsoft.Azure.Workflows.WebJobs.Extension die Methoden für die folgenden Schnittstellen. Das folgende Diagramm zeigt die Schnittstellen mit den Methodenimplementierungen, die der Designer und die Laufzeit von Azure Logic Apps für einen benutzerdefinierten integrierten Connector erwarten, der über einen auf Azure Functions basierenden Trigger verfügt:

Konzeptionelles Klassendiagramm, das die Methodenimplementierung für den integrierten Azure Cosmos DB-Beispielconnector zeigt.

IServiceOperationsProvider

Diese Schnittstelle enthält die folgenden Methoden, die das Vorgangsmanifest bereitstellen und die spezifischen Aufgaben oder die tatsächliche Geschäftslogik Ihres Dienstanbieters in Ihrem benutzerdefinierten integrierten Connector ausführen. Weitere Informationen finden Sie unter IServiceOperationsProvider.

  • GetService()

    Der Designer in Azure Logic Apps benötigt die GetService()-Methode, um die allgemeinen Metadaten für Ihren benutzerdefinierten Dienst abzurufen, einschließlich der Dienstbeschreibung, für den Designer erforderlichen Verbindungseingabeparametern, Funktionen, Markenfarbe, Symbol-URL usw.

  • GetOperations()

    Der Designer in Azure Logic Apps erfordert die GetOperations()-Methode, um die von Ihrem benutzerdefinierten Dienst implementierten Vorgänge abzurufen. Die Liste der Vorgänge basiert auf dem Swagger-Schema. Der Designer verwendet die Vorgangsmetadaten außerdem, um die Eingabeparameter für bestimmte Vorgänge zu verstehen und die Ausgaben als Eigenschaftstoken basierend auf dem Schema der Ausgabe für einen Vorgang zu generieren.

  • GetBindingConnectionInformation()

    Wenn der Trigger ein auf Azure Functions basierender Triggertyp ist, erfordert die Laufzeit in Azure Logic Apps die GetBindingConnectionInformation()-Methode, um die erforderlichen Verbindungsparameterinformationen für die Azure Functions-Triggerbindung bereitzustellen.

  • InvokeOperation()

    Wenn Ihr Connector Aktionen enthält, erfordert die Laufzeit in Azure Logic Apps die InvokeOperation()-Methode, um jede Aktion in Ihrem Connector aufzurufen, die während der Workflowausführung ausgeführt wird. Wenn Ihr Connector keine Aktionen enthält, müssen Sie die InvokeOperation()-Methode nicht implementieren.

    In diesem Beispiel verfügt der benutzerdefinierte integrierte Azure Cosmos DB-Connector nicht über Aktionen. Die Methode ist jedoch der Vollständigkeit halber in diesem Beispiel enthalten.

Weitere Informationen zu diesen Methoden und deren Implementierung finden Sie weiter unten in diesem Artikel.

IServiceOperationsTriggerProvider

Sie können einen Trigger oder eine Aktion von Azure Functions als Dienstanbietertrigger in Ihrem benutzerdefinierten integrierten Connector hinzufügen oder verfügbar machen. Um den auf Azure Functions basierenden Triggertyp und die gleiche Azure Functions-Bindung wie der von Azure verwaltete Connectortrigger zu verwenden, implementieren Sie die folgenden Methoden, um die Verbindungsinformationen und Triggerbindungen bereitzustellen, die für Azure Functions erforderlich sind. Weitere Informationen finden Sie unter IServiceOperationsTriggerProvider.

  • Die GetFunctionTriggerType()-Methode ist erforderlich, um die Zeichenfolge zurückzugeben, die dem Parameter type in der Azure Functions-Triggerbindung entspricht.

  • GetFunctionTriggerDefinition() verfügt über eine Standardimplementierung, sodass Sie diese Methode nicht explizit implementieren müssen. Wenn Sie das Standardverhalten des Triggers jedoch aktualisieren möchten (etwa zusätzliche Parameter bereitstellen, die vom Designer nicht verfügbar gemacht werden), können Sie diese Methode implementieren und das Standardverhalten außer Kraft setzen.

Zu implementierende Methoden

In den folgenden Abschnitten werden die Methoden beschrieben, die der Beispielconnector implementiert. Das vollständige Beispiel finden Sie in Sample CosmosDbServiceOperationProvider.cs.

Wichtig

Wenn Sie über vertrauliche Informationen verfügen (z. B. Verbindungszeichenfolgen, die Benutzernamen und Kennwörter enthalten), stellen Sie sicher, dass Sie den sichersten Authentifizierungsflow verwenden. Microsoft empfiehlt beispielsweise, den Zugriff auf Azure-Ressourcen mit einer verwalteten Identität zu authentifizieren, wenn die Unterstützung verfügbar ist, und eine Rolle zuzuweisen, die über die geringsten erforderlichen Berechtigungen verfügt.

Wenn diese Funktion nicht verfügbar ist, stellen Sie sicher, dass Verbindungszeichenfolgen über andere Maßnahmen (z. B. Azure Key Vault) geschützt werden, die Sie mit App-Einstellungen verwenden können. Sie können dann direkt auf sichere Zeichenfolgen verweisen (z. B. Verbindungszeichenfolgen und Schlüssel). Ähnlich wie bei ARM-Vorlagen, bei denen Sie Umgebungsvariablen zum Bereitstellungszeitpunkt definieren können, können Sie App-Einstellungen in der Workflowdefinition für Ihre Logik-App definieren. Anschließend können Sie dynamisch generierte Infrastrukturwerte erfassen (z. B. Verbindungsendpunkte oder Speicherzeichenfolgen). Weitere Informationen finden Sie unter Anwendungstypen für die Microsoft Identity Platform.

GetService()

Der Designer erfordert die folgende Methode, um die allgemeine Beschreibung für Ihren Dienst abzurufen:

public ServiceOperationApi GetService()
{
   return this.CosmosDBApis.ServiceOperationServiceApi();
}

GetOperations()

Der Designer erfordert die folgende Methode, um die von Ihrem Dienst implementierten Vorgänge abzurufen: Diese Liste der Vorgänge basiert auf dem Swagger-Schema.

public IEnumerable<ServiceOperation> GetOperations(bool expandManifest)
{
   return expandManifest ? serviceOperationsList : GetApiOperations();
}

GetBindingConnectionInformation()

Zur Verwendung des auf Azure Functions basierenden Triggertyps stellt die folgende Methode die erforderlichen Verbindungsparameterinformationen für die Azure Functions-Triggerbindung bereit.

public string GetBindingConnectionInformation(string operationId, InsensitiveDictionary<JToken> connectionParameters)
{
   return ServiceOperationsProviderUtilities
      .GetRequiredParameterValue(
         serviceId: ServiceId,
         operationId: operationID,
         parameterName: "connectionString",
         parameters: connectionParameters)?
      .ToValue<string>();
}

InvokeOperation()

Der benutzerdefinierte integrierte Azure Cosmos DB-Beispielconnector verfügt nicht über Aktionen, die folgende Methode ist jedoch der Vollständigkeit halber enthalten:

public Task<ServiceOperationResponse> InvokeOperation(string operationId, InsensitiveDictionary<JToken> connectionParameters, ServiceOperationRequest serviceOperationRequest)
{
   throw new NotImplementedException();
}

GetFunctionTriggerType()

Um einen auf Azure Functions basierenden Trigger als Trigger in Ihrem Connector zu verwenden, müssen Sie die Zeichenfolge zurückgeben, die dem Parameter type in der Azure Functions-Triggerbindung entspricht.

Im folgenden Beispiel wird die Zeichenfolge für den vorkonfigurierten integrierten Azure Cosmos DB-Trigger zurückgegeben ("type": "cosmosDBTrigger"):

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

GetFunctionTriggerDefinition()

Diese Methode verfügt über eine Standardimplementierung, sodass Sie diese Methode nicht explizit implementieren müssen. Wenn Sie das Standardverhalten des Triggers jedoch aktualisieren möchten (etwa zusätzliche Parameter bereitstellen, die vom Designer nicht verfügbar gemacht werden), können Sie diese Methode implementieren und das Standardverhalten außer Kraft setzen.

Registrieren Ihres Connectors

Um Ihre benutzerdefinierte integrierte Connectorerweiterung während des Startvorgangs für die Azure Functions-Laufzeit zu laden, müssen Sie die Azure Functions-Erweiterungsregistrierung als Startauftrag hinzufügen und Ihren Connector als Dienstanbieter in der Dienstanbieterliste registrieren. Basierend auf dem Typ der Daten, die Ihr integrierter Trigger als Eingabe benötigt, fügen Sie optional den Konverter hinzu. In diesem Beispiel wird der Datentyp Document für Azure Cosmos DB-Dokumente in ein JObject-Array konvertiert.

In den folgenden Abschnitten wird gezeigt, wie Sie Ihren benutzerdefinierten integrierten Connector als Azure Functions-Erweiterung registrieren.

Erstellen des Startauftrags

  1. Erstellen Sie mithilfe des Assemblyattributs namens [assembly:WebJobsStartup] eine Startklasse.

  2. Implementieren Sie die Schnittstelle IWebJobsStartup. Registrieren Sie in der Configure()-Methode die Erweiterung, und fügen Sie den Dienstanbieter ein.

    Der folgende Codeausschnitt zeigt beispielsweise die Startklassenimplementierung für den benutzerdefinierten integrierten Azure Cosmos DB-Beispielconnector:

    using Microsoft.Azure.WebJobs;
    using Microsoft.Azure.WebJobs.Hosting;
    using Microsoft.Extensions.DependencyInjection.Extensions;
    
    [assembly: Microsoft.Azure.WebJobs.Hosting.WebJobsStartup(typeof(ServiceProviders.CosmosDb.Extensions.CosmosDbTriggerStartup))]
    
    namespace ServiceProviders.CosmosDb.Extensions
    {
       public class CosmosDbServiceProviderStartup : IWebJobsStartup
       {
          // Initialize the workflow service.
          public void Configure(IWebJobsBuilder builder)
          {
                // Register the extension.
                builder.AddExtension<CosmosDbServiceProvider>)();
    
                // Use dependency injection (DI) for the trigger service operation provider.
                builder.Services.TryAddSingleton<CosmosDbTriggerServiceOperationsProvider>();
          }
       }
    }
    

    Weitere Informationen finden Sie unter Registrieren von Diensten: Verwenden der Abhängigkeitsinjektion in Azure Functions (.NET).

Registrieren des Dienstanbieters

Registrieren Sie nun die Implementierung des Dienstanbieters als Azure Functions-Erweiterung mit der Azure Logic Apps-Engine. In diesem Beispiel wird der integrierte Azure Cosmos DB-Trigger für Azure Functions als neuer Trigger verwendet. Darüber hinaus wird in diesem Beispiel der neue Azure Cosmos DB-Dienstanbieter für eine vorhandene Liste von Dienstanbietern registriert, die bereits Teil der Azure Logic Apps-Erweiterung ist. Weitere Informationen finden Sie unter Registrieren von Bindungserweiterungen von Azure Functions.

using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs.Description;
using Microsoft.Azure.WebJobs.Host.Config;
using Microsoft.Azure.Workflows.ServiceProviders.Abstractions;
using Microsoft.WindowsAzure.ResourceStack.Common.Extensions;
using Microsoft.WindowsAzure.ResourceStack.Common.Json;
using Microsoft.WindowsAzure.ResourceStack.Common.Storage.Cosmos;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;

namespace ServiceProviders.CosmosDb.Extensions
{
   [Extension("CosmosDbServiceProvider", configurationSection: "CosmosDbServiceProvider")]
   public class CosmosDbServiceProvider : IExtensionConfigProvider
   {
      // Initialize a new instance for the CosmosDbServiceProvider class.
      public CosmosDbServiceProvider(ServiceOperationsProvider serviceOperationsProvider, CosmosDbTriggerServiceOperationsProvider operationsProvider)
      {
         serviceOperationsProvider.RegisterService(serviceName: CosmosDBServiceOperationsProvider.ServiceName, serviceOperationsProviderId: CosmosDBServiceOperationsProvider.ServiceId, serviceOperationsProviderInstance: operationsProvider);
      }

      // Convert the Azure Cosmos DB Document array to a generic JObject array.
      public static JObject[] ConvertDocumentToJObject(IReadOnlyList<Document> data)
      {
         List<JObject> jobjects = new List<JObject>();

         foreach(var doc in data)
         {
            jobjects.Add((JObject)doc.ToJToken());
         }

         return jobjects.ToArray();
      }

      // In the Initialize method, you can add any custom implementation.
      public void Initialize(ExtensionConfigContext context)
      {
         // Convert the Azure Cosmos DB Document list to a JObject array.
         context.AddConverter<IReadOnlyList<Document>, JObject[]>(ConvertDocumentToJObject);
      }
   }
}

Hinzufügen eines Konverters

Azure Logic Apps verfügt über eine generische Methode, alle integrierten Azure Functions-Trigger mithilfe des JObject-Arrays zu behandeln. Wenn Sie jedoch die schreibgeschützte Liste von Azure Cosmos DB-Dokumenten in ein JObject-Array konvertieren möchten, können Sie einen Konverter hinzufügen. Wenn der Konverter bereit ist, registrieren Sie den Konverter als Teil von ExtensionConfigContext, wie weiter oben in diesem Beispiel gezeigt:

// Convert the Azure Cosmos DB  document list to a JObject array.
context.AddConverter<IReadOnlyList<Document>, JObject[]>(ConvertDocumentToJObject);

Klassenbibliotheksdiagramm für implementierte Klassen

Wenn Sie fertig sind, sehen Sie sich das folgende Klassendiagramm an, das die Implementierung für alle Klassen im Erweiterungspaket Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB.dll zeigt:

  • CosmosDbServiceOperationsProvider
  • CosmosDbServiceProvider
  • CosmosDbServiceProviderStartup

Konzeptionelles Codezuordnungsdiagramm, das die vollständige Klassenimplementierung zeigt.

Installieren des Connectors

Wenn Sie den NuGet-Verweis aus dem vorherigen Abschnitt hinzufügen möchten, aktualisieren Sie im Erweiterungspaket namens Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB.dll die Datei extensions.json. Weitere Informationen finden Sie im Repository Azure/logicapps-connector-extensions im PowerShell-Skript namens add-extension.ps1.

  1. Aktualisieren Sie das Erweiterungspaket, um den benutzerdefinierten integrierten Connector einzuschließen.

  2. Erstellen Sie in der Visual Studio Code-Instanz (in der die Erweiterung Azure Logic Apps (Standard) für Visual Studio Code installiert sein muss) ein Logik-App-Projekt, und installieren Sie das Erweiterungspaket mithilfe des folgenden PowerShell-Befehls:

    PowerShell

    dotnet add package "Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB" --version 1.0.0  --source $extensionPath
    

    Führen Sie alternativ im Verzeichnis Ihres Logik-App-Projekts mithilfe einer PowerShell-Eingabeaufforderung das PowerShell-Skript mit dem Namen add-extension.ps1 aus:

    .\add-extension.ps1 {Cosmos-DB-output-bin-NuGet-folder-path} CosmosDB
    

    Bash

    Wenn Sie stattdessen Bash verwenden möchten, führen Sie im Verzeichnis Ihres Logik-App-Projekts das PowerShell-Skript mit dem folgenden Befehl aus:

    powershell -file add-extension.ps1 {Cosmos-DB-output-bin-NuGet-folder-path} CosmosDB
    

    Wenn die Erweiterung für den benutzerdefinierten integrierten Connector erfolgreich installiert wurde, erhalten Sie eine Ausgabe, die dem folgenden Beispiel ähnelt:

    C:\Users\{your-user-name}\Desktop\demoproj\cdbproj>powershell - file C:\myrepo\github\logicapps-connector-extensions\src\Common\tools\add-extension.ps1 C:\myrepo\github\logicapps-connector-extensions\src\CosmosDB\bin\Debug\CosmosDB
    
    Nuget extension path is C:\myrepo\github\logicapps-connector-extensions\src\CosmosDB\bin\Debug\
    Extension dll path is C:\myrepo\github\logicapps-connector-extensions\src\CosmosDB\bin\Debug\netcoreapp3.1\Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB.dll
    Extension bundle module path is C:\Users\{your-user-name}\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows1.1.9
    EXTENSION PATH is C:\Users\{your-user-name}\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows\1.1.9\bin\extensions.json and dll Path is C:\myrepo\github\logicapps-connector-extensions\src\CosmosDB\bin\Debug\netcoreapp3.1\Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB.dll
    SUCCESS: The process "func.exe" with PID 26692 has been terminated.
       Determining projects to restore...
       Writing C:\Users\{your-user-name}\AppData\Local\Temp\tmpD343.tmp`<br>
    info : Adding PackageReference for package 'Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB' into project 'C:\Users\{your-user-name}\Desktop\demoproj\cdbproj.csproj'.
    info : Restoring packages for C:\Users\{your-user-name}\Desktop\demoproj\cdbproj.csproj...
    info : Package 'Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB' is compatible with all the specified frameworks in project 'C:\Users\{your-user-name}\Desktop\demoproj\cdbproj.csproj'.
    info : PackageReference for package 'Microsoft.Azure.Workflows.ServiceProvider.Extensions.CosmosDB' version '1.0.0' updated in file 'C:\Users\{your-user-name}\Desktop\demoproj\cdbproj.csproj'.
    info : Committing restore...
    info : Generating MSBuild file C:\Users\{your-user-name}\Desktop\demoproj\cdbproj\obj\cdbproj.csproj.nuget.g.props.
    info : Generating MSBuild file C:\Users\{your-user-name}\Desktop\demoproj\cdbproj\obj\cdbproj.csproj.nuget.g.targets.
    info : Writing assets file to disk. Path: C:\Users\{your-user-name}\Desktop\demoproj\cdbproj\obj\project.assets.json.
    log : Restored C:\Users\{your-user-name}\Desktop\demoproj\cdbproj\cdbproj.csproj (in 1.5 sec).
    Extension CosmosDB is successfully added.
    
    C:\Users\{your-user-name}\Desktop\demoproj\cdbproj\>
    
  3. Wenn ein Prozess vom Typ func.exe ausgeführt wird, schließen oder beenden Sie diesen Prozess unbedingt, bevor Sie mit dem nächsten Schritt fortfahren.

Testen Ihres Connectors

  1. Öffnen Sie in Visual Studio Code Ihre Standard-Logik-App und den leeren Workflow im Designer.

  2. Wählen Sie auf der Designeroberfläche die Option Vorgang auswählen aus, um die Auswahl für Connectorvorgänge zu öffnen.

  3. Wählen Sie im Suchfeld für Vorgänge die Option Integriert aus. Geben Sie in das Suchfeld cosmos db ein.

    Die Vorgangsauswahl zeigt Ihren benutzerdefinierten integrierten Connector und Trigger an, z. B.:

    Screenshot von Visual Studio Code und Designer für einen Logik-App-Standardworkflow mit dem neuen benutzerdefinierten integrierten Azure Cosmos DB-Connector.

  4. Wählen Sie in der Liste Trigger Ihren benutzerdefinierten integrierten Trigger aus, um den Workflow zu starten.

  5. Geben Sie im Verbindungsbereich die folgenden Eigenschaftswerte an, um eine Verbindung zu erstellen, z. B.:

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Verbindungsname Ja <Azure-Cosmos-DB-connection-name> Der Name für die zu erstellende Azure Cosmos DB-Verbindung
    Verbindungszeichenfolge Ja <Azure Cosmos DB-DB-connection-string> Die Verbindungszeichenfolge für die Datenbanksammlung oder die Leasesammlung von Azure Cosmos DB, in der Sie jedes neue empfangene Dokument hinzufügen möchten

    Screenshot des Verbindungsbereichs bei der ersten Verwendung des Connectors.

  6. Wählen Sie Erstellen, wenn Sie fertig sind.

  7. Geben Sie im Bereich „Triggereigenschaften“ die folgenden Eigenschaftswerte für Ihren Trigger an, z. B.:

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Datenbankname Ja <Azure-Cosmos-DB-database-name> Der Name für die zu verwendende Azure Cosmos DB-Datenbank
    Sammlungsname Yes <Azure-Cosmos-DB-collection-name> Der Name für die Azure Cosmos DB-Sammlung, der Sie jedes neue empfangene Dokument hinzufügen möchten.

    Screenshot des Bereichs mit Triggereigenschaften.

    In diesem Beispiel enthält die Workflowdefinition (in der Datei workflow.json) in der Codeansicht ein JSON-Objekt vom Typ triggers, das dem folgenden Beispiel ähnelt:

    {
       "definition": {
          "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
          "actions": {},
          "contentVersion": "1.0.0.0",
          "outputs": {},
          "triggers": {
             "When_a_document_is_received": {
                "inputs":{
                   "parameters": {
                      "collectionName": "States",
                      "databaseName": "SampleCosmosDB"
                   },
                   "serviceProviderConfiguration": {
                      "connectionName": "cosmosDb",
                      "operationId": "whenADocumentIsReceived",
                      "serviceProviderId": "/serviceProviders/CosmosDb"
                   },
                   "splitOn": "@triggerOutputs()?['body']",
                   "type": "ServiceProvider"
                }
             }
          }
       },
       "kind": "Stateful"
    }
    

    Die Verbindungsdefinition (in der Datei connections.json) enthält ein JSON-Objekt vom Typ serviceProviderConnections, das dem folgenden Beispiel ähnelt:

    {
       "serviceProviderConnections": {
          "cosmosDb": {
             "parameterValues": {
                "connectionString": "@appsetting('cosmosDb_connectionString')"
             },
             "serviceProvider": {
                "id": "/serviceProviders/CosmosDb"
             },
             "displayName": "myCosmosDbConnection"
          }
       },
       "managedApiConnections": {}
    }
    
  8. Wählen Sie in Visual Studio Code im Menü Ausführen die Option Debuggen starten aus. (Drücken von F5)

  9. Öffnen Sie zum Auslösen Ihres Workflows im Azure-Portal Ihr Azure Cosmos DB-Konto. Wählen Sie im Kontomenü Daten-Explorer aus. Navigieren Sie zur Datenbank und Sammlung, die Sie im Trigger angegeben haben. Fügen Sie der Sammlung ein Element hinzu.

    Screenshot des Azure-Portals, des Azure Cosmos DB-Kontos und von Data Explorer, geöffnet mit der angegebene Datenbank und Sammlung.

Nächste Schritte