Bearbeta och skapa Azure Cosmos DB-dokument med hjälp av Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

Från ditt arbetsflöde i Azure Logic Apps kan du ansluta till Azure Cosmos DB och arbeta med dokument med hjälp av Azure Cosmos DB-anslutningsappen. Den här anslutningsappen innehåller utlösare och åtgärder som arbetsflödet kan använda för Azure Cosmos DB-åtgärder. Åtgärder omfattar till exempel att skapa eller uppdatera, läsa, fråga och ta bort dokument.

Du kan ansluta till Azure Cosmos DB från resurstyperna Logic App (Förbrukning) och Logic App (Standard) med hjälp av de hanterade anslutningsåtgärderna . För Logic App (Standard) tillhandahåller Azure Cosmos DB även inbyggda åtgärder som för närvarande är i förhandsversion och erbjuder olika funktioner, bättre prestanda och högre dataflöde. Om du till exempel arbetar med resurstypen Logic App (Standard) kan du använda den inbyggda utlösaren för att svara på ändringar i en Azure Cosmos DB-container. Du kan kombinera Azure Cosmos DB-åtgärder med andra åtgärder och utlösare i logikappens arbetsflöden för att aktivera scenarier som händelsekällor och allmän databehandling.

Begränsningar

  • För närvarande kan endast tillståndskänsliga arbetsflöden i en Logic App-resurs (Standard) använda både åtgärder för hanterade anslutningsappar och inbyggda åtgärder. Tillståndslösa arbetsflöden kan endast använda inbyggda åtgärder.

  • Azure Cosmos DB-anslutningsappen stöder endast Azure Cosmos DB-konton som skapats med Azure Cosmos DB för NoSQL.

Förutsättningar

Lägga till Azure Cosmos DB-utlösare

I Azure Logic Apps måste varje arbetsflöde börja med en utlösare som utlöses när en specifik händelse inträffar eller när ett specifikt villkor uppfylls.

Om du arbetar med resurstypen Logikapp (Standard) är den inbyggda utlösaren som heter När ett objekt skapas eller ändras (förhandsversion) tillgänglig och baseras på mönstret för Azure Cosmos DB-ändringsflöde. Den här utlösaren är inte tillgänglig för resurstypen Logikapp (förbrukning).

Inga Azure Cosmos DB-utlösare är tillgängliga för resurstypen Logikapp (förbrukning).

Lägg till Azure Cosmos DB-åtgärd

I Azure Logic Apps är en åtgärd ett steg i arbetsflödet som följer en utlösare eller en annan åtgärd. Azure Cosmos DB-anslutningsappen erbjuder åtgärder för resurstyperna Logikapp (Förbrukning) och Logikapp (Standard). Följande exempel för varje resurstyp visar hur du använder en åtgärd som skapar eller uppdaterar ett dokument.

Om du vill lägga till en Azure Cosmos DB-åtgärd i ett logikapparbetsflöde i Azure Logic Apps för flera klientorganisationer använder du följande steg:

  1. Öppna arbetsflödet i designern i Azure-portalen.

  2. Om arbetsflödet är tomt lägger du till valfri utlösare som du vill ha.

    Det här exemplet börjar med utlösaren När en HTTP-begäran tas emot.

  3. Under utlösaren eller åtgärden där du vill lägga till Azure Cosmos DB-åtgärden väljer du Nytt steg eller Lägg till en åtgärd, om mellan stegen.

  4. I sökrutan designer anger du Azure Cosmos DB. Välj den Azure Cosmos DB-åtgärd som du vill använda.

    I det här exemplet används åtgärden Skapa eller uppdatera dokument (V3).

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

  5. Om du uppmanas att ange anslutningsinformation skapar du en anslutning till ditt Azure Cosmos DB-konto nu.

  6. Ange nödvändig information för åtgärden.

    Property Obligatoriskt Värde Description
    Azure Cosmos DB-kontonamn Ja Välj Antingen Använd anslutningsinställningar (<Azure-Cosmos-DB-account-name>) eller ange namnet manuellt. Kontonamnet för ditt Azure Cosmos DB-konto.
    Databas-ID Ja <database-ID> Databasen som du vill ansluta till.
    Container-ID Ja <container-ID> Den container som du vill köra frågor mot.
    Dokument Ja <JSON-dokument> Det JSON-dokument som du vill skapa. I det här exemplet används begärandetexten från utlösarens utdata.

    Tips: Om HTTP-utlösarens brödtexttoken inte visas i listan med dynamiskt innehåll som du kan lägga till väljer du Visa mer bredvid utlösarnamnet.

    Obs! Kontrollera att brödtexten är välformulerad JSON och åtminstone innehåller egenskapen och partitionsnyckelegenskapen id för dokumentet. Om det redan finns ett dokument med den angivna id partitionsnyckeln och partitionsnyckeln uppdateras dokumentet. Annars skapas ett nytt dokument.

    Följande bild visar en exempelåtgärd:

    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. Konfigurera andra åtgärdsinställningar efter behov.

  8. I verktygsfältet för designern väljer du Spara.

  9. Testa logikappen för att se till att arbetsflödet skapar ett dokument i den angivna containern.

Ansluta till Azure Cosmos DB

När du lägger till en utlösare eller åtgärd som ansluter till en tjänst eller ett system, och du inte har någon befintlig eller aktiv anslutning, uppmanar Azure Logic Apps dig att ange anslutningsinformationen, som varierar beroende på anslutningstyp, till exempel:

  • Autentiseringsuppgifter för ditt konto
  • Ett namn som ska användas för anslutningen
  • Namnet på servern eller systemet
  • Den autentiseringstyp som ska användas
  • En anslutningssträng

Innan du kan konfigurera azure Cosmos DB-utlösaren eller Azure Cosmos DB-åtgärden måste du ansluta till ett databaskonto.

I ett logic app-arbetsflöde (förbrukning) kräver en Azure Cosmos DB-anslutning följande egenskapsvärden:

Property Obligatoriskt Värde Description
Anslutningens namn Ja <anslutningsnamn> Namnet som ska användas för anslutningen.
Autentiseringstyp Ja <anslutningstyp> Den autentiseringstyp som du vill använda. I det här exemplet används Åtkomstnyckel.

– Om du väljer Åtkomstnyckel anger du de återstående nödvändiga egenskapsvärdena för att skapa anslutningen.

– Om du väljer Microsoft Entra integrerat krävs inga andra egenskapsvärden, men du måste konfigurera anslutningen genom att följa stegen för Microsoft Entra-autentisering och Azure Cosmos DB-anslutningsprogram.

Åtkomstnyckel till ditt Azure Cosmos DB-konto Ja <åtkomstnyckel> Åtkomstnyckeln för Azure Cosmos DB-kontot som ska användas för den här anslutningen. Det här värdet är antingen en skrivskyddad nyckel eller en skrivskyddad nyckel.

Obs! Om du vill hitta nyckeln går du till kontosidan för Azure Cosmos DB. I navigeringsmenyn under Inställningar väljer du Nycklar. Kopiera ett av de tillgängliga nyckelvärdena.

Konto-ID Ja <acccount-ID> Namnet på det Azure Cosmos DB-konto som ska användas för den här anslutningen.

Följande bild visar en exempelanslutning:

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

Kommentar

När du har skapat anslutningen, om du har en annan befintlig Azure Cosmos DB-anslutning som du vill använda i stället, eller om du vill skapa en ny anslutning, väljer du Ändra anslutning i redigeringsprogrammet för utlösare eller åtgärdsinformation.

Referens för anslutningsprogram

Referensinformation om de hanterade anslutningsåtgärderna i Azure Cosmos DB, till exempel utlösare, åtgärder och gränser, finns på anslutningsappens referenssida.

Det finns ingen motsvarande referenssida för inbyggda Azure Cosmos DB-åtgärder. Granska i stället följande tabell för mer information:

Type Name Parameters
Utlösare När ett objekt skapas eller ändras - Databas-ID: Krävs. Namnet på databasen med de övervakade containrarna och lånecontainrarna.
- Övervakat container-ID: Krävs. Namnet på containern som övervakas.
- Lånecontainer-ID: Krävs. Namnet på containern som används för att lagra lån.
- Skapa lånecontainer: Krävs. Om det är sant skapar du lånecontainern om den inte redan finns.
- Låneflöde för container: Valfritt. Antalet enheter för begäranden som ska tilldelas när lånecontainern skapas.
Åtgärd Skapa eller uppdatera objekt - Databas-ID: Krävs. Namnet på databasen.
- Container-ID: Krävs. Namnet på containern.
- Objekt: Obligatoriskt. Objektet som ska skapas eller uppdateras.
- Partitionsnyckel: Valfritt. Partitionsnyckelvärdet för det begärda objektet.
- Är Upsert: Valfritt. Om det är sant ersätter du objektet, om det finns. Annars skapar du objektet.
Åtgärd Skapa eller uppdatera många objekt i bulk Den här åtgärden är optimerad för scenarier med högt dataflöde och har extra bearbetning innan åtgärden skickar dina objekt som ska skapas i Azure Cosmos DB-containern. För ett stort antal objekt påskyndar den här extra bearbetningen den totala begärandetiden. För ett litet antal objekt kan den här extra kostnaden orsaka långsammare prestanda än att använda flera åtgärder för att skapa objekt.

- Databas-ID: Krävs. Namnet på databasen.
- Container-ID: Krävs. Namnet på containern.
- Objekt: Krävs. En matris med objekt som ska skapas eller uppdateras.
- Är Upsert: Valfritt. Om det är sant ersätter du ett objekt om det finns. Annars skapar du objektet.

Åtgärd Läsa ett objekt - Databas-ID: Krävs. Namnet på databasen.
- Container-ID: Krävs. Namnet på containern.
- Objekt-ID: Krävs. Värdet id för det begärda objektet.
- Partitionsnyckel: Krävs. Partitionsnyckelvärdet för det begärda objektet.
Åtgärd Ta bort ett objekt - Databas-ID: Krävs. Namnet på databasen.
- Container-ID krävs. Namnet på containern.
- Objekt-ID: Krävs. Värdet id för det begärda objektet.
- Partitionsnyckel: Krävs. Partitionsnyckelvärdet för det begärda objektet.
Åtgärd Frågeobjekt - Databas-ID: Krävs. Namnet på databasen.
- Container-ID: Krävs. Namnet på containern.
- Sql Query: Krävs. Azure Cosmos DB SQL-frågetexten.
- Partitionsnyckel: Valfritt. Partitionsnyckelvärdet för begäran, om det finns något.
- Fortsättningstoken: Valfritt. Fortsättningstoken för den här frågan som ges av Azure Cosmos DB-tjänsten, om någon.
- Maximalt antal objekt: Valfritt. Det maximala antalet objekt som frågan ska returnera.

Metodtips för inbyggda Azure Cosmos DB-åtgärder

Hämta iterbara resultat från åtgärden Frågeobjekt

Den inbyggda åtgärden Frågeobjekt i ett Logic App-arbetsflöde (Standard) har många dynamiska innehållsutdata tillgängliga för användning i efterföljande åtgärder. Använd följande steg för att hämta frågeresultatobjekt eller objektmetadata som ett iterbart objekt:

  1. Öppna arbetsflödet i designern i Azure-portalen.

  2. Om arbetsflödet är tomt lägger du till valfri utlösare som du vill ha.

    Det här exemplet börjar med upprepningsutlösaren.

  3. Under utlösaren eller åtgärden där du vill lägga till Azure Cosmos DB-åtgärden väljer du Infoga ett nytt steg (+) >Lägg till en åtgärd.

  4. I designern kontrollerar du att Lägg till en åtgärd är markerad. I fönstret Lägg till en åtgärd som öppnas går du till sökrutan Välj en åtgärd och väljer Inbyggd för att hitta Azure Cosmos DB-åtgärderna.

  5. Skriv Azure Cosmos DB i sökrutan. Välj åtgärden Frågeobjekt (förhandsversion).

  6. Om du uppmanas att ange anslutningsinformation skapar du en anslutning till ditt Azure Cosmos DB-konto.

  7. Ange nödvändig information för åtgärden.

    Egenskaper Obligatoriskt Värde Description
    Databas-ID Ja <database-ID> Databasen som du vill ansluta till.
    Container-ID Ja <container-ID> Den container som du vill köra frågor mot.
    SQL-fråga Ja <sql-query> SQL-frågan för din begäran.

    Följande bild visar en exempelåtgärd:

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

  8. Konfigurera andra åtgärdsinställningar efter behov.

  9. Under åtgärden väljer du Infoga ett nytt steg (+) >Lägg till en åtgärd. I fönstret Lägg till en åtgärd som öppnas väljer du den åtgärd som du vill köra på alla frågeresultatobjekt.

I det här exemplet används den inbyggda åtgärden Azure Cosmos DB med namnet Ta bort ett objekt (förhandsversion).

  1. I den åtgärd som du tidigare lade till kan du komma åt data från frågeåtgärdens utdata. Klicka i något av indatafälten i den åtgärden så att listan med dynamiskt innehåll visas. Välj något av de tillgängliga svarsobjekten eller välj Visa mer för fler alternativ.

I det här exemplet används svarsobjekt-ID:t i fältet Objekt-ID för att fylla i ID:t baserat på frågeresultatet.

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

  1. När du har valt ett svarsobjekt läggs åtgärden För varje automatiskt till för att iterera genom alla frågeresultat. Loopen För varje innehåller den åtgärd som du tidigare lade till. Du kan lägga till andra åtgärder som du vill i loopen.

  2. I verktygsfältet för designern väljer du Spara.

  3. Testa logikappen för att se till att arbetsflödet returnerar de utdata som du förväntar dig.

Nästa steg