Azure Cosmos DB-documenten verwerken en maken met behulp van Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

Vanuit uw werkstroom in Azure Logic Apps kunt u verbinding maken met Azure Cosmos DB en met documenten werken met behulp van de Azure Cosmos DB-connector. Deze connector biedt triggers en acties die uw werkstroom kan gebruiken voor Azure Cosmos DB-bewerkingen. Acties zijn bijvoorbeeld het maken of bijwerken, lezen, opvragen en verwijderen van documenten.

U kunt verbinding maken met Azure Cosmos DB vanuit resourcetypen voor logische apps (verbruik) en logische apps (standard) met behulp van de bewerkingen van de beheerde connector . Voor logische app (standaard) biedt Azure Cosmos DB ook ingebouwde bewerkingen, die momenteel in preview zijn en verschillende functionaliteit, betere prestaties en hogere doorvoer bieden. Als u bijvoorbeeld met het resourcetype Logische app (Standard) werkt, kunt u de ingebouwde trigger gebruiken om te reageren op wijzigingen in een Azure Cosmos DB-container. U kunt Azure Cosmos DB-bewerkingen combineren met andere acties en triggers in uw werkstromen voor logische apps om scenario's zoals gebeurtenisbronnen en algemene gegevensverwerking mogelijk te maken.

Beperkingen

  • Op dit moment kunnen alleen stateful werkstromen in een Logic App-resource (Standard) zowel de bewerkingen van de beheerde connector als ingebouwde bewerkingen gebruiken. Staatloze werkstromen kunnen alleen ingebouwde bewerkingen gebruiken.

  • De Azure Cosmos DB-connector ondersteunt alleen Azure Cosmos DB-accounts die zijn gemaakt met Azure Cosmos DB voor NoSQL.

Vereisten

Azure Cosmos DB-trigger toevoegen

In Azure Logic Apps moet elke werkstroom beginnen met een trigger, die wordt geactiveerd wanneer aan een specifieke gebeurtenis wordt voldaan of wanneer aan een specifieke voorwaarde wordt voldaan.

Als u met het resourcetype Logische app (Standard) werkt, is de ingebouwde trigger met de naam Wanneer een item wordt gemaakt of gewijzigd (preview) beschikbaar en is deze gebaseerd op het patroon van de wijzigingenfeed van Azure Cosmos DB. Deze trigger is niet beschikbaar voor het resourcetype logische app (verbruik ).

Er zijn geen Azure Cosmos DB-triggers beschikbaar voor het resourcetype logische app (verbruik ).

Azure Cosmos DB-actie toevoegen

In Azure Logic Apps is een actie een stap in uw werkstroom die een trigger of een andere actie volgt. De Azure Cosmos DB-connector biedt acties voor zowel de resourcetypen logische app (verbruik) als logische app (standard). In de volgende voorbeelden voor elk resourcetype ziet u hoe u een actie gebruikt waarmee een document wordt gemaakt of bijgewerkt.

Gebruik de volgende stappen om een Azure Cosmos DB-actie toe te voegen aan een werkstroom voor logische apps in Azure Logic Apps met meerdere tenants:

  1. Open uw werkstroom in Azure Portal in de ontwerpfunctie.

  2. Als uw werkstroom leeg is, voegt u een gewenste trigger toe.

    Dit voorbeeld begint met de trigger Wanneer een HTTP-aanvraag wordt ontvangen.

  3. Selecteer onder de trigger of actie waaraan u de Azure Cosmos DB-actie wilt toevoegen de optie Nieuwe stap of Een actie toevoegen, indien tussen de stappen.

  4. Typ in Azure Cosmos DBhet zoekvak van de ontwerper . Selecteer de Azure Cosmos DB-actie die u wilt gebruiken.

    In dit voorbeeld wordt de actie Maken of bijwerken van het document (V3) gebruikt.

    Screenshot showing the designer for a Consumption logic app workflow with the available Azure Cosmos DB actions.

  5. Als u om verbindingsgegevens wordt gevraagd, maakt u nu een verbinding met uw Azure Cosmos DB-account.

  6. Geef de benodigde informatie op voor de actie.

    Eigenschappen Vereist Weergegeven als Omschrijving
    Azure Cosmos DB-accountnaam Ja Selecteer Verbindingsinstellingen gebruiken (<Azure-Cosmos-DB-accountnaam>) of voer de naam handmatig in. De accountnaam voor uw Azure Cosmos DB-account.
    Database-id Ja <database-id> De database waarmee u verbinding wilt maken.
    Container-id Ja <container-id> De container waarop u een query wilt uitvoeren.
    Document Ja <JSON-document> Het JSON-document dat u wilt maken. In dit voorbeeld wordt de hoofdtekst van de aanvraag uit de triggeruitvoer gebruikt.

    Tip: Als het bodytoken van de HTTP-trigger niet wordt weergegeven in de lijst met dynamische inhoud die u wilt toevoegen, selecteert u naast de naam van de trigger meer.

    Opmerking: zorg ervoor dat de hoofdtekst een goed opgemaakte JSON is en minimaal de id eigenschap en de partitiesleuteleigenschap voor uw document bevat. Als er al een document met de opgegeven id en partitiesleutel bestaat, wordt het document bijgewerkt. Anders wordt er een nieuw document gemaakt.

    In de volgende afbeelding ziet u een voorbeeldactie:

    Screenshot showing the designer for a Consumption logic app workflow with the Azure Cosmos DB 'Create or update documents (V3)' action and parameters configuration.

  7. Configureer indien nodig andere actie-instellingen.

  8. Selecteer in de werkbalk van de ontwerper Opslaan.

  9. Test uw logische app om ervoor te zorgen dat uw werkstroom een document maakt in de opgegeven container.

Verbinding maken met Azure Cosmos DB

Wanneer u een trigger of actie toevoegt die verbinding maakt met een service of systeem en u geen bestaande of actieve verbinding hebt, wordt u door Azure Logic Apps gevraagd om de verbindingsgegevens op te geven, die variëren op basis van het verbindingstype, bijvoorbeeld:

  • Uw accountreferenties
  • Een naam die moet worden gebruikt voor de verbinding
  • De naam voor de server of het systeem
  • Het te gebruiken verificatietype
  • Een verbindingsreeks

Voordat u uw Azure Cosmos DB-trigger of Azure Cosmos DB-actie kunt configureren, moet u verbinding maken met een databaseaccount.

In een werkstroom voor logische apps (verbruik) zijn voor een Azure Cosmos DB-verbinding de volgende eigenschapswaarden vereist:

Eigenschappen Vereist Weergegeven als Omschrijving
Verbindingsnaam Ja <verbindingsnaam> De naam die moet worden gebruikt voor uw verbinding.
Verificatietype Ja <verbindingstype> Het verificatietype dat u wilt gebruiken. In dit voorbeeld wordt de Toegangssleutel gebruikt.

- Als u Access Key selecteert, geeft u de resterende vereiste eigenschapswaarden op om de verbinding te maken.

- Als u Microsoft Entra geïntegreerd selecteert, zijn er geen andere eigenschapswaarden vereist, maar moet u uw verbinding configureren door de stappen voor Microsoft Entra-verificatie en Azure Cosmos DB-connector te volgen.

Toegangssleutel voor uw Azure Cosmos DB-account Ja <toegangssleutel> De toegangssleutel voor het Azure Cosmos DB-account dat voor deze verbinding moet worden gebruikt. Deze waarde is een sleutel voor lezen/schrijven of een alleen-lezen sleutel.

Opmerking: Ga naar de azure Cosmos DB-accountpagina om de sleutel te vinden. Selecteer Sleutels in het navigatiemenu onder Instellingen. Kopieer een van de beschikbare sleutelwaarden.

Account-id Ja <acccount-id> De naam voor het Azure Cosmos DB-account dat moet worden gebruikt voor deze verbinding.

In de volgende afbeelding ziet u een voorbeeldverbinding:

Screenshot showing an example Azure Cosmos DB connection configuration for a Consumption logic app workflow.

Notitie

Nadat u de verbinding hebt gemaakt, als u een andere bestaande Azure Cosmos DB-verbinding hebt die u wilt gebruiken, of als u een andere nieuwe verbinding wilt maken, selecteert u Verbinding wijzigen in de editor voor trigger- of actiedetails.

Naslaginformatie over connectors

Raadpleeg de referentiepagina van de connector voor naslaginformatie over de bewerkingen voor beheerde Azure Cosmos DB-connectors, zoals triggers, acties en limieten.

Er bestaat geen bijbehorende referentiepagina voor ingebouwde bewerkingen van Azure Cosmos DB. Bekijk in plaats daarvan de volgende tabel voor meer informatie:

Type Naam Parameters
Trigger Wanneer een item wordt gemaakt of gewijzigd - Database-id: vereist. De naam van de database met de bewaakte en leasecontainers.
- Bewaakte container-id: vereist. De naam van de container die wordt bewaakt.
- Leasecontainer-id: vereist. De naam van de container die wordt gebruikt voor het opslaan van leases.
- Leasecontainer maken: vereist. Als dit het geval is, maakt u de leasecontainer als deze nog niet bestaat.
- Doorvoer leasecontainer: optioneel. Het aantal aanvraageenheden dat moet worden toegewezen wanneer de leasecontainer wordt gemaakt.
Actie Item maken of bijwerken - Database-id: vereist. De naam van de database.
- Container-id: vereist. De naam van de container.
- Item: vereist. Het item dat moet worden gemaakt of bijgewerkt.
- Partitiesleutel: optioneel. De partitiesleutelwaarde voor het aangevraagde item.
- Is Upsert: Optioneel. Indien waar, vervangt u het item, indien aanwezig. Anders maakt u het item.
Actie Veel items bulksgewijs maken of bijwerken Deze actie is geoptimaliseerd voor scenario's met hoge doorvoer en heeft extra verwerking voordat de actie uw items verzendt die moeten worden gemaakt in de Azure Cosmos DB-container. Voor grote aantallen items versnelt deze extra verwerking de totale aanvraagtijd. Voor kleine aantallen items kan deze extra overhead leiden tot tragere prestaties dan het gebruik van meerdere acties voor één item maken.

- Database-id: vereist. De naam van de database.
- Container-id: vereist. De naam van de container.
- Items: vereist. Een matrix met items die moeten worden gemaakt of bijgewerkt.
- Is Upsert: Optioneel. Indien waar, vervangt u een item indien aanwezig. Anders maakt u het item.

Actie Een item lezen - Database-id: vereist. De naam van de database.
- Container-id: vereist. De naam van de container.
- Item-id: vereist. De id waarde voor het aangevraagde item.
- Partitiesleutel: vereist. De partitiesleutelwaarde voor het aangevraagde item.
Actie Een item verwijderen - Database-id: vereist. De naam van de database.
- Container-id vereist. De naam van de container.
- Item-id: vereist. De id waarde voor het aangevraagde item.
- Partitiesleutel: vereist. De partitiesleutelwaarde voor het aangevraagde item.
Actie Query-items - Database-id: vereist. De naam van de database.
- Container-id: vereist. De naam van de container.
- Sql-query: vereist. De SQL-querytekst van Azure Cosmos DB.
- Partitiesleutel: optioneel. De partitiesleutelwaarde voor de aanvraag, indien van toepassing.
- Vervolgtoken: Optioneel. Het vervolgtoken voor deze query die wordt gegeven door de Azure Cosmos DB-service, indien van toepassing.
- Maximum aantal items: optioneel. Het maximum aantal items voor de query dat moet worden geretourneerd.

Aanbevolen procedures voor ingebouwde bewerkingen van Azure Cosmos DB

Iterable resultaten ophalen uit de actie Query-items

De ingebouwde actie Query-items in een werkstroom voor logische apps (standaard) bevat veel dynamische inhoudsuitvoer die beschikbaar is voor gebruik in volgende acties. Als u de queryresultatenitems of metagegevens van items wilt ophalen als een itereerbaar object, gebruikt u de volgende stappen:

  1. Open uw werkstroom in Azure Portal in de ontwerpfunctie.

  2. Als uw werkstroom leeg is, voegt u een gewenste trigger toe.

    Dit voorbeeld begint met de trigger Terugkeerpatroon.

  3. Selecteer onder de trigger of actie waaraan u de Azure Cosmos DB-actie wilt toevoegen een nieuwe stap invoegen (+) >Een actie toevoegen.

  4. Zorg ervoor dat een bewerking toevoegen is geselecteerd in de ontwerpfunctie. Selecteer in het deelvenster Een actie toevoegen dat wordt geopend, onder het zoekvak Een bewerking kiezen , de optie Ingebouwd om de Azure Cosmos DB-acties te vinden.

  5. Typ Azure Cosmos DB in het zoekvak. Selecteer de actie Query-items (preview).

  6. Als u om verbindingsgegevens wordt gevraagd, maakt u een verbinding met uw Azure Cosmos DB-account.

  7. Geef de benodigde informatie op voor de actie.

    Eigenschappen Vereist Weergegeven als Omschrijving
    Database-id Ja <database-id> De database waarmee u verbinding wilt maken.
    Container-id Ja <container-id> De container waarop u een query wilt uitvoeren.
    SQL-query Ja <sql-query> De SQL-query voor uw aanvraag.

    In de volgende afbeelding ziet u een voorbeeldactie:

    Screenshot showing the designer for a Standard logic app workflow with the Azure Cosmos DB 'Query items' action and parameters configuration.

  8. Configureer indien nodig andere actie-instellingen.

  9. Selecteer onder de actie Een nieuwe stap invoegen (+) >Een actie toevoegen. Selecteer in het deelvenster Een actie toevoegen dat wordt geopend de actie die u wilt uitvoeren voor alle queryresultaatitems.

In dit voorbeeld wordt de ingebouwde actie van Azure Cosmos DB met de naam Een item verwijderen (preview) gebruikt.

  1. In de actie die u eerder hebt toegevoegd, hebt u toegang tot gegevens uit de uitvoer van de queryactie. Klik in een van de invoervelden in die actie, zodat de lijst met dynamische inhoud wordt weergegeven. Selecteer een van de beschikbare antwoorditems of selecteer Meer informatie voor meer opties.

In dit voorbeeld wordt de antwoorditem-id in het veld Item-id gebruikt om id's te vullen op basis van de queryresultaten.

Screenshot showing the designer for a Standard logic app workflow with the Azure Cosmos DB **Query items** action dynamic content outputs.

  1. Nadat u een antwoorditem hebt geselecteerd, wordt de actie Voor elke actie automatisch toegevoegd om alle queryresultaten te herhalen. De lus Voor elke lus bevat de actie die u eerder hebt toegevoegd. U kunt andere acties toevoegen die u aan de lus wilt toevoegen.

  2. Selecteer in de werkbalk van de ontwerper Opslaan.

  3. Test uw logische app om ervoor te zorgen dat uw werkstroom de verwachte uitvoer retourneert.

Volgende stappen