Dela via


Azure Cosmos DB-bindningar för Azure Functions 1.x

Den här artikeln beskriver hur du arbetar med Azure Cosmos DB-bindningar i Azure Functions. Azure Functions stöder bindningar för utlösare, indata och utdata för Azure Cosmos DB.

Kommentar

Den här artikeln gäller För Azure Functions 1.x. Information om hur du använder dessa bindningar i Functions 2.x och senare finns i Azure Cosmos DB-bindningar för Azure Functions 2.x.

Den här bindningen hette ursprungligen DocumentDB. I Azure Functions version 1.x har endast utlösaren bytt namn till Azure Cosmos DB. indatabindningen, utdatabindningen och NuGet-paketet behåller DocumentDB-namnet.

Kommentar

Azure Cosmos DB-bindningar stöds endast för användning med SQL-API:n. För alla andra Azure Cosmos DB-API:er bör du komma åt databasen från din funktion med hjälp av den statiska klienten för ditt API, inklusive Azure Cosmos DB för MongoDB, Azure Cosmos DB för Apache Cassandra, Azure Cosmos DB för Apache Gremlin och Azure Cosmos DB för Table.

Paket – Functions 1.x

Azure Cosmos DB-bindningarna för Functions version 1.x finns i Microsoft.Azure.WebJobs.Extensions.DocumentDB NuGet-paketet version 1.x. Källkoden för bindningarna finns på GitHub-lagringsplatsen azure-webjobs-sdk-extensions .

I följande tabell visas hur du lägger till stöd för utdatabindning i varje utvecklingsmiljö.

Utvecklingsmiljö Lägga till stöd i Functions 1.x
Lokal utveckling: C#-klassbibliotek Installera paketet
Lokal utveckling: C#-skript, JavaScript, F# Automatisk
Portalutveckling Automatisk

Utlösare

Azure Cosmos DB-utlösaren använder Azure Cosmos DB-ändringsflödet för att lyssna efter infogningar och uppdateringar mellan partitioner. Ändringsflödet publicerar infogningar och uppdateringar, inte borttagningar.

Utlösare – exempel

I följande exempel visas en processbaserad C#-funktion som anropas när det finns infogningar eller uppdateringar i den angivna databasen och samlingen.

using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;

namespace CosmosDBSamplesV1
{
    public static class CosmosTrigger
    {
        [FunctionName("CosmosTrigger")]
        public static void Run([CosmosDBTrigger(
            databaseName: "ToDoItems",
            collectionName: "Items",
            ConnectionStringSetting = "CosmosDBConnection",
            LeaseCollectionName = "leases",
            CreateLeaseCollectionIfNotExists = true)]IReadOnlyList<Document> documents,
            TraceWriter log)
        {
            if (documents != null && documents.Count > 0)
            {
                log.Info($"Documents modified: {documents.Count}");
                log.Info($"First document Id: {documents[0].Id}");
            }
        }
    }
}

Utlösare – attribut

För processbaserade C#-klassbibliotek använder du attributet CosmosDBTrigger .

Attributets konstruktor tar databasnamnet och samlingsnamnet. Information om de inställningar och andra egenskaper som du kan konfigurera finns i Utlösare – konfiguration. Här är ett CosmosDBTrigger attributexempel i en metodsignatur:

    [FunctionName("DocumentUpdates")]
    public static void Run(
        [CosmosDBTrigger("database", "collection", ConnectionStringSetting = "myCosmosDB")]
    IReadOnlyList<Document> documents,
        TraceWriter log)
    {
        ...
    }

Ett fullständigt exempel finns i Exempel på utlösare – C#.

Utlösare – konfiguration

I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen och CosmosDBTrigger attributet.

function.json egenskap Attributegenskap beskrivning
typ saknas Måste anges till cosmosDBTrigger.
riktning saknas Måste anges till in. Den här parametern anges automatiskt när du skapar utlösaren i Azure-portalen.
Namn saknas Variabelnamnet som används i funktionskoden som representerar listan över dokument med ändringar.
connectionStringSetting ConnectionStringSetting Namnet på en appinställning som innehåller den niska veze som används för att ansluta till Azure Cosmos DB-kontot som övervakas.
databaseName DatabaseName Namnet på Azure Cosmos DB-databasen med samlingen som övervakas.
collectionName CollectionName Namnet på samlingen som övervakas.
leaseConnectionStringSetting LeaseConnectionStringSetting (Valfritt) Namnet på en appinställning som innehåller niska veze till tjänsten som innehåller lånesamlingen. När värdet inte har angetts används det connectionStringSetting . Den här parametern anges automatiskt när bindningen skapas i portalen. Niska veze för lånesamlingen måste ha skrivbehörighet.
leaseDatabaseName LeaseDatabaseName (Valfritt) Namnet på databasen som innehåller samlingen som används för att lagra lån. När inställningen inte har angetts används värdet för inställningen databaseName . Den här parametern anges automatiskt när bindningen skapas i portalen.
leaseCollectionName LeaseCollectionName (Valfritt) Namnet på samlingen som används för att lagra lån. När värdet inte har angetts används det leases .
createLeaseCollectionIfNotExists CreateLeaseCollectionIfNotExists (Valfritt) När den är inställd truepå skapas lånesamlingen automatiskt när den inte redan finns. Standardvärdet är false.
leasesCollectionThroughput LeasesCollectionThroughput (Valfritt) Definierar mängden enheter för begäranden som ska tilldelas när lånesamlingen skapas. Den här inställningen används endast När createLeaseCollectionIfNotExists är inställt på true. Den här parametern anges automatiskt när bindningen skapas med hjälp av portalen.
leaseCollectionPrefix LeaseCollectionPrefix (Valfritt) När det anges lägger det till ett prefix till lånen som skapats i lånesamlingen för den här funktionen, vilket i praktiken gör att två separata Azure Functions kan dela samma lånesamling med hjälp av olika prefix.
feedPollDelay FeedPollDelay (Valfritt) När den anges definierar den, i millisekunder, fördröjningen mellan avsökningen av en partition för nya ändringar i flödet, när alla aktuella ändringar har tömts. Standardvärdet är 5 000 (5 sekunder).
leaseAcquireInterval LeaseAcquireInterval (Valfritt) När den anges definierar den i millisekunder intervallet för att starta en uppgift för att beräkna om partitioner fördelas jämnt mellan kända värdinstanser. Standardvärdet är 13 000 (13 sekunder).
leaseExpirationInterval LeaseExpirationInterval (Valfritt) När den anges definierar den i millisekunder det intervall för vilket lånet tas på ett lån som representerar en partition. Om lånet inte förnyas inom det här intervallet upphör det att gälla och ägarskapet för partitionen flyttas till en annan instans. Standardvärdet är 60000 (60 sekunder).
leaseRenewInterval LeaseRenewInterval (Valfritt) När den anges definierar den, i millisekunder, förnyelseintervallet för alla lån för partitioner som för närvarande innehas av en instans. Standardvärdet är 17 000 (17 sekunder).
checkpointFrequency CheckpointFrequency (Valfritt) När den anges definierar den i millisekunder intervallet mellan lånekontrollpunkter. Standardvärdet är alltid efter varje funktionsanrop.
maxItemsPerInvocation MaxItemsPerInvocation (Valfritt) När det anges anpassas den maximala mängden objekt som tas emot per funktionsanrop.
startFromBeginning StartFromBeginning (Valfritt) När den anges uppmanas utlösaren att börja läsa ändringar från början av samlingens historik i stället för den aktuella tiden. Detta fungerar bara första gången utlösaren startar, eftersom kontrollpunkterna redan lagras i efterföljande körningar. Om du anger detta till true när lån som redan har skapats inte har någon effekt.

När du utvecklar lokalt lägger du till dina programinställningar i den local.settings.json filen i Values samlingen.

Utlösare – användning

Utlösaren kräver en andra samling som används för att lagra lån över partitionerna. Både samlingen som övervakas och samlingen som innehåller lånen måste vara tillgänglig för att utlösaren ska fungera.

Viktigt!

Om flera funktioner har konfigurerats för att använda en Azure Cosmos DB-utlösare för samma samling bör var och en av funktionerna använda en dedikerad lånesamling eller ange en annan LeaseCollectionPrefix för varje funktion. Annars utlöses bara en av funktionerna. Information om prefixet finns i avsnittet Konfiguration.

Utlösaren anger inte om ett dokument har uppdaterats eller infogats, utan innehåller bara själva dokumentet. Om du behöver hantera uppdateringar och infogningar på olika sätt kan du göra det genom att implementera tidsstämpelfält för infogning eller uppdatering.

Indata

Azure Cosmos DB-indatabindningen använder SQL API för att hämta en eller flera Azure Cosmos DB-dokument och skickar dem till indataparametern för funktionen. Dokument-ID:t och frågeparametrarna kan fastställas baserat på den utlösare som anropar funktionen.

Input – exempel

Det här avsnittet innehåller följande exempel:

Exemplen refererar till en enkel ToDoItem typ:

namespace CosmosDBSamplesV1
{
    public class ToDoItem
    {
        public string Id { get; set; }
        public string Description { get; set; }
    }
}

Köutlösare, leta upp ID från JSON

I följande exempel visas en C#-funktion som hämtar ett enda dokument. Funktionen utlöses av ett kömeddelande som innehåller ett JSON-objekt. Köutlösaren parsar JSON till ett objekt med namnet ToDoItemLookup, som innehåller det ID som ska slås upp. Det ID:t används för att hämta ett ToDoItem dokument från den angivna databasen och samlingen.

namespace CosmosDBSamplesV1
{
    public class ToDoItemLookup
    {
        public string ToDoItemId { get; set; }
    }
}
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromJSON
    {
        [FunctionName("DocByIdFromJSON")]
        public static void Run(
            [QueueTrigger("todoqueueforlookup")] ToDoItemLookup toDoItemLookup,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{ToDoItemId}")]ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed Id={toDoItemLookup?.ToDoItemId}");

            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
        }
    }
}

HTTP-utlösare, leta upp ID från frågesträng

I följande exempel visas en C#-funktion som hämtar ett enda dokument. Funktionen utlöses av en HTTP-begäran som använder en frågesträng för att ange vilket ID som ska sökas upp. Det ID:t används för att hämta ett ToDoItem dokument från den angivna databasen och samlingen.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromQueryString
    {
        [FunctionName("DocByIdFromQueryString")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{Query.id}")] ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

HTTP-utlösare, leta upp ID från routningsdata

I följande exempel visas en C#-funktion som hämtar ett enda dokument. Funktionen utlöses av en HTTP-begäran som använder routningsdata för att ange det ID som ska sökas upp. Det ID:t används för att hämta ett ToDoItem dokument från den angivna databasen och samlingen.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromRouteData
    {
        [FunctionName("DocByIdFromRouteData")]
        public static HttpResponseMessage Run(
            [HttpTrigger(
                AuthorizationLevel.Anonymous, "get", "post",
                Route = "todoitems/{id}")]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{id}")] ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Hoppa över indataexempel

HTTP-utlösare, leta upp ID från routningsdata med hjälp av SqlQuery

I följande exempel visas en C#-funktion som hämtar ett enda dokument. Funktionen utlöses av en HTTP-begäran som använder routningsdata för att ange det ID som ska sökas upp. Det ID:t används för att hämta ett ToDoItem dokument från den angivna databasen och samlingen.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromRouteDataUsingSqlQuery
    {
        [FunctionName("DocByIdFromRouteDataUsingSqlQuery")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post",
                Route = "todoitems2/{id}")]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                SqlQuery = "select * from ToDoItems r where r.id = {id}")] IEnumerable<ToDoItem> toDoItems,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            foreach (ToDoItem toDoItem in toDoItems)
            {
                log.Info(toDoItem.Description);
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Hoppa över indataexempel

HTTP-utlösare, hämta flera dokument med hjälp av SqlQuery

I följande exempel visas en C#-funktion som hämtar en lista med dokument. Funktionen utlöses av en HTTP-begäran. Frågan anges i attributegenskapen SqlQuery .

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocsBySqlQuery
    {
        [FunctionName("DocsBySqlQuery")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
                HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                SqlQuery = "SELECT top 2 * FROM c order by c._ts desc")]
                IEnumerable<ToDoItem> toDoItems,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            foreach (ToDoItem toDoItem in toDoItems)
            {
                log.Info(toDoItem.Description);
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Hoppa över indataexempel

HTTP-utlösare, hämta flera dokument med Hjälp av DocumentClient (C#)

I följande exempel visas en C#-funktion som hämtar en lista med dokument. Funktionen utlöses av en HTTP-begäran. Koden använder en DocumentClient instans som tillhandahålls av Azure Cosmos DB-bindningen för att läsa en lista med dokument. Instansen DocumentClient kan också användas för skrivåtgärder.

using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;

namespace CosmosDBSamplesV1
{
    public static class DocsByUsingDocumentClient
    {
        [FunctionName("DocsByUsingDocumentClient")]
        public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")] DocumentClient client,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            Uri collectionUri = UriFactory.CreateDocumentCollectionUri("ToDoItems", "Items");
            string searchterm = req.GetQueryNameValuePairs()
                .FirstOrDefault(q => string.Compare(q.Key, "searchterm", true) == 0)
                .Value;

            if (searchterm == null)
            {
                return req.CreateResponse(HttpStatusCode.NotFound);
            }

            log.Info($"Searching for word: {searchterm} using Uri: {collectionUri.ToString()}");
            IDocumentQuery<ToDoItem> query = client.CreateDocumentQuery<ToDoItem>(collectionUri)
                .Where(p => p.Description.Contains(searchterm))
                .AsDocumentQuery();

            while (query.HasMoreResults)
            {
                foreach (ToDoItem result in await query.ExecuteNextAsync())
                {
                    log.Info(result.Description);
                }
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Indata – attribut

I processbaserade C#-klassbibliotek använder du attributet DocumentDB .

Attributets konstruktor tar databasnamnet och samlingsnamnet. Information om de inställningar och andra egenskaper som du kan konfigurera finns i följande konfigurationsavsnitt.

Indata – konfiguration

I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen och DocumentDB attributet.

function.json egenskap Attributegenskap beskrivning
typ saknas Måste anges till documentdb.
riktning saknas Måste anges till in.
Namn saknas Namnet på bindningsparametern som representerar dokumentet i funktionen.
databaseName DatabaseName Databasen som innehåller dokumentet.
collectionName CollectionName Namnet på samlingen som innehåller dokumentet.
id ID ID:t för dokumentet som ska hämtas. Den här egenskapen stöder bindningsuttryck. Ange inte både egenskaperna id och sqlQuery . Om du inte anger någon av dem hämtas hela samlingen.
sqlQuery SqlQuery En Azure Cosmos DB SQL-fråga som används för att hämta flera dokument. Egenskapen stöder runtime-bindningar, som i det här exemplet: SELECT * FROM c where c.departmentId = {departmentId}. Ange inte både egenskaperna id och sqlQuery . Om du inte anger någon av dem hämtas hela samlingen.
samband ConnectionStringSetting Namnet på appinställningen som innehåller din Azure Cosmos DB-niska veze.
partitionKey PartitionKey Anger partitionsnyckelvärdet för sökningen. Kan innehålla bindningsparametrar.

När du utvecklar lokalt lägger du till dina programinställningar i den local.settings.json filen i Values samlingen.

Indata – användning

När funktionen avslutas sparas alla ändringar som görs i indatadokumentet via namngivna indataparametrar automatiskt.

Output

Med Azure Cosmos DB-utdatabindningen kan du skriva ett nytt dokument till en Azure Cosmos DB-databas med sql-API:et.

Utdata – exempel

Det här avsnittet innehåller följande exempel:

  • Köutlösare, skriv ett dokument
  • Köutlösare, skriv dokument med hjälp av IAsyncCollector

Exemplen refererar till en enkel ToDoItem typ:

namespace CosmosDBSamplesV1
{
    public class ToDoItem
    {
        public string Id { get; set; }
        public string Description { get; set; }
    }
}

Köutlösare, skriv ett dokument

I följande exempel visas en C#-funktion som lägger till ett dokument i en databas med hjälp av data som anges i meddelandet från Queue Storage.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System;

namespace CosmosDBSamplesV1
{
    public static class WriteOneDoc
    {
        [FunctionName("WriteOneDoc")]
        public static void Run(
            [QueueTrigger("todoqueueforwrite")] string queueMessage,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")]out dynamic document,
            TraceWriter log)
        {
            document = new { Description = queueMessage, id = Guid.NewGuid() };

            log.Info($"C# Queue trigger function inserted one row");
            log.Info($"Description={queueMessage}");
        }
    }
}

Köutlösare, skriv dokument med IAsyncCollector

I följande exempel visas en C#-funktion som lägger till en samling dokument i en databas med hjälp av data som anges i ett kömeddelande- JSON.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System.Threading.Tasks;

namespace CosmosDBSamplesV1
{
    public static class WriteDocsIAsyncCollector
    {
        [FunctionName("WriteDocsIAsyncCollector")]
        public static async Task Run(
            [QueueTrigger("todoqueueforwritemulti")] ToDoItem[] toDoItemsIn,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")]
                IAsyncCollector<ToDoItem> toDoItemsOut,
            TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed {toDoItemsIn?.Length} items");

            foreach (ToDoItem toDoItem in toDoItemsIn)
            {
                log.Info($"Description={toDoItem.Description}");
                await toDoItemsOut.AddAsync(toDoItem);
            }
        }
    }
}

Utdata – attribut

I processbaserade C#-klassbibliotek använder du attributet DocumentDB .

Attributets konstruktor tar databasnamnet och samlingsnamnet. Information om de inställningar och andra egenskaper som du kan konfigurera finns i Utdata – konfiguration. Här är ett DocumentDB attributexempel i en metodsignatur:

    [FunctionName("QueueToDocDB")]
    public static void Run(
        [QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
        [DocumentDB("ToDoList", "Items", Id = "id", ConnectionStringSetting = "myCosmosDB")] out dynamic document)
    {
        ...
    }

Ett fullständigt exempel finns i Utdata.

Utdata – konfiguration

I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen och DocumentDB attributet.

function.json egenskap Attributegenskap beskrivning
typ saknas Måste anges till documentdb.
riktning saknas Måste anges till out.
Namn saknas Namnet på bindningsparametern som representerar dokumentet i funktionen.
databaseName DatabaseName Databasen som innehåller samlingen där dokumentet skapas.
collectionName CollectionName Namnet på samlingen där dokumentet skapas.
createIfNotExists CreateIfNotExists Ett booleskt värde som anger om samlingen skapas när den inte finns. Standardvärdet är falskt eftersom nya samlingar skapas med reserverat dataflöde, vilket har kostnadskonsekvenser. Mer information, se prissidan.
partitionKey PartitionKey När CreateIfNotExists är sant definierar partitionsnyckelsökvägen för den skapade samlingen.
collectionThroughput CollectionThroughput När CreateIfNotExists är sant definierar dataflödet för den skapade samlingen.
samband ConnectionStringSetting Namnet på appinställningen som innehåller din Azure Cosmos DB-niska veze.

När du utvecklar lokalt lägger du till dina programinställningar i den local.settings.json filen i Values samlingen.

Utdata – användning

När du skriver till utdataparametern i funktionen skapas som standard ett dokument i databasen. Det här dokumentet har ett automatiskt genererat GUID som dokument-ID. Du kan ange dokument-ID för utdatadokumentet genom att id ange egenskapen i JSON-objektet som skickas till utdataparametern.

Kommentar

När du anger ID för ett befintligt dokument skrivs det över av det nya utdatadokumentet.

Undantag och returkoder

Bindning Referens
Azure Cosmos DB HTTP-statuskoder för Azure Cosmos DB

Nästa steg