Sdílet prostřednictvím


Vazby azure Cosmos DB pro Azure Functions 1.x

Důležité

Podpora pro modul runtime Azure Functions verze 1.x skončí 14. září 2026. Důrazně doporučujeme migrovat aplikace na verzi 4.x , abyste měli plnou podporu.

Tento článek vysvětluje, jak pracovat s vazbami služby Azure Cosmos DB ve službě Azure Functions. Azure Functions podporuje aktivační, vstupní a výstupní vazby pro službu Azure Cosmos DB.

Poznámka:

Tento článek je určený pro Azure Functions 1.x. Informace o tom, jak tyto vazby používat ve službě Functions 2.x a novějších, najdete v tématu Vazby služby Azure Cosmos DB pro Azure Functions 2.x.

Tato vazba měla původně název DocumentDB. Ve službě Azure Functions verze 1.x se přejmenoval pouze trigger služby Azure Cosmos DB; vstupní vazba, výstupní vazba a balíček NuGet zachovají název DocumentDB.

Poznámka:

Vazby Azure Cosmos DB se podporují jenom pro použití s rozhraním SQL API. Pro všechna ostatní rozhraní API služby Azure Cosmos DB byste měli přistupovat k databázi z vaší funkce pomocí statického klienta pro vaše rozhraní API, včetně Azure Cosmos DB pro MongoDB, Azure Cosmos DB for Apache Cassandra, Azure Cosmos DB pro Apache Gremlin a Azure Cosmos DB for Table.

Balíčky – Funkce 1.x

Vazby služby Azure Cosmos DB pro Functions verze 1.x jsou k dispozici v balíčku NuGet Microsoft.Azure.WebJobs.Extensions.DocumentDB verze 1.x. Zdrojový kód pro vazby je v úložišti GitHubu azure-webjobs-sdk-extensions .

Následující tabulka uvádí, jak přidat podporu výstupní vazby v každém vývojovém prostředí.

Vývojové prostředí Přidání podpory ve službě Functions 1.x
Místní vývoj: Knihovna tříd jazyka C# Instalace balíčku
Místní vývoj: skript jazyka C#, JavaScript, F# Automatic (Automaticky)
Vývoj portálu Automatic (Automaticky)

Trigger

Trigger služby Azure Cosmos DB používá kanál změn služby Azure Cosmos DB k naslouchání vkládání a aktualizací mezi oddíly. Kanál změn publikuje vložení a aktualizace, ne odstranění.

Trigger – příklad

Následující příklad ukazuje funkci jazyka C#, která je vyvolána při vkládání nebo aktualizacích v zadané databázi a kolekci.

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}");
            }
        }
    }
}

Trigger – atributy

Pro knihovny tříd jazyka C# v procesu použijte atribut CosmosDBTrigger .

Konstruktor atributu přebírá název databáze a název kolekce. Informace o těchto nastaveních a dalších vlastnostech, které můžete konfigurovat, najdete v tématu Aktivační událost – konfigurace. Tady je CosmosDBTrigger příklad atributu v podpisu metody:

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

Úplný příklad najdete v tématu Trigger – příklad jazyka C#.

Trigger – konfigurace

Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json a atributu CosmosDBTrigger .

vlastnost function.json Vlastnost atributu Popis
type Není k dispozici Musí být nastavena na cosmosDBTriggerhodnotu .
direction Není k dispozici Musí být nastavena na inhodnotu . Tento parametr se nastaví automaticky při vytváření triggeru na webu Azure Portal.
Jméno Není k dispozici Název proměnné použitý v kódu funkce, který představuje seznam dokumentů se změnami.
connectionStringSetting ConnectionStringSetting Název nastavení aplikace, které obsahuje připojovací řetězec sloužící k připojení k monitorovanému účtu služby Azure Cosmos DB.
databaseName Název databáze Název databáze Azure Cosmos DB s monitorovanou kolekcí.
collectionName Název kolekce Název monitorované kolekce.
leaseConnectionStringSetting LeaseConnectionStringSetting (Volitelné) Název nastavení aplikace, které obsahuje připojovací řetězec do služby, která obsahuje kolekci zapůjčení. Pokud není nastavená, použije se connectionStringSetting hodnota. Tento parametr se automaticky nastaví při vytvoření vazby na portálu. Připojovací řetězec kolekce zapůjčení musí mít oprávnění k zápisu.
leaseDatabaseName LeaseDatabaseName (Volitelné) Název databáze, která obsahuje kolekci použitou k ukládání zapůjčení. Pokud nastavení nenastavíte, použije se hodnota databaseName tohoto nastavení. Tento parametr se automaticky nastaví při vytvoření vazby na portálu.
leaseCollectionName LeaseCollectionName (Volitelné) Název kolekce použité k ukládání zapůjčení. Pokud není nastavená, použije se hodnota leases .
createLeaseCollectionIfNotExists CreateLeaseCollectionIfNotExists (Volitelné) Pokud je nastavená hodnota true, kolekce zapůjčení se automaticky vytvoří, pokud ještě neexistuje. Výchozí hodnota je false.
leasesCollectionThroughput ZapůjčeníCollectionThroughput (Volitelné) Definuje množství jednotek žádostí, které se mají přiřadit při vytvoření kolekce zapůjčení. Toto nastavení se používá pouze v případě createLeaseCollectionIfNotExists , že je nastavena na truehodnotu . Tento parametr se automaticky nastaví při vytvoření vazby pomocí portálu.
leaseCollectionPrefix LeaseCollectionPrefix (Volitelné) Při nastavení přidá předponu zapůjčení vytvořeným v kolekci zapůjčení pro tuto funkci, což umožňuje dvěma samostatným funkcím sdílet stejnou kolekci zapůjčení pomocí různých předpon.
feedPollDelay FeedPollDelay (Volitelné) Při nastavení definuje zpoždění mezi dotazováním oddílu na nové změny v informačním kanálu v milisekundách po vyprázdnění všech aktuálních změn. Výchozí hodnota je 5000 (5 sekund).
leaseAcquireInterval LeaseAcquireInterval (Volitelné) Když nastavíte, definuje interval v milisekundách, aby se úloha vypočítala, pokud se oddíly rovnoměrně distribuují mezi známé instance hostitele. Výchozí hodnota je 13000 (13 sekund).
leaseExpirationInterval LeaseExpirationInterval (Volitelné) Při nastavení definuje v milisekundách interval, pro který se zapůjčení převezme na zapůjčení představující oddíl. Pokud se zapůjčení neprodloužilo v tomto intervalu, způsobí to vypršení platnosti oddílu a vlastnictví oddílu se přesune do jiné instance. Výchozí hodnota je 60000 (60 sekund).
leaseRenewInterval LeaseRenewInterval (Volitelné) Při nastavení definuje interval obnovení pro všechna zapůjčení oddílů, které jsou aktuálně uloženy instancí, v milisekundách. Výchozí hodnota je 17000 (17 sekund).
checkpointFrequency CheckpointFrequency (Volitelné) Při nastavení definuje interval mezi kontrolními body zapůjčení v milisekundách. Výchozí hodnota je vždy po každém volání funkce.
maxItemsPerInvocation MaxItemsPerInvocation (Volitelné) Při nastavení přizpůsobí maximální počet přijatých položek na volání funkce.
startFromBeginning StartFromBeginning (Volitelné) Když nastavíte nastavení, řekne triggeru, aby začal číst změny od začátku historie kolekce místo aktuálního času. Funguje to jenom při prvním spuštění triggeru, protože v následných spuštěních jsou kontrolní body už uložené. Nastavení na dobu, kdy true už existují zapůjčení, nemá žádný vliv.

Při místním vývoji přidejte nastavení aplikace do souboru local.settings.json v kolekci Values .

Trigger – využití

Trigger vyžaduje druhou kolekci, kterou používá k ukládání zapůjčení oddílů. Monitorovaná kolekce i kolekce, která obsahuje zapůjčení, musí být k dispozici, aby trigger fungoval.

Důležité

Pokud je pro stejnou kolekci nakonfigurovaných více funkcí, aby používaly trigger služby Azure Cosmos DB, měly by všechny funkce používat vyhrazenou kolekci zapůjčení nebo pro každou funkci zadat jinou LeaseCollectionPrefix . V opačném případě se aktivuje jenom jedna z funkcí. Informace o předponě najdete v části Konfigurace.

Trigger neuvádí, jestli byl dokument aktualizován nebo vložen, jenom poskytuje samotný dokument. Pokud potřebujete zpracovat aktualizace a vložit jinak, můžete to udělat implementací polí časového razítka pro vložení nebo aktualizaci.

Vstup

Vstupní vazba služby Azure Cosmos DB načítá pomocí rozhraní SQL API jeden nebo více dokumentů Azure Cosmos DB a předává je do vstupního parametru funkce. Parametry ID dokumentu nebo dotaz se dají určit podle aktivační události, která funkci volá.

Vstup – příklad

Tato část obsahuje následující příklady:

Příklady odkazují na jednoduchý ToDoItem typ:

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

Trigger fronty, vyhledání ID z JSON

Následující příklad ukazuje funkci jazyka C#, která načte jeden dokument. Funkce se aktivuje zprávou fronty, která obsahuje objekt JSON. Trigger fronty parsuje JSON do objektu s názvem ToDoItemLookup, který obsahuje ID, které se má vyhledat. Toto ID se používá k načtení ToDoItem dokumentu ze zadané databáze a kolekce.

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}");
            }
        }
    }
}

Trigger HTTP, vyhledání ID z řetězce dotazu

Následující příklad ukazuje funkci jazyka C#, která načte jeden dokument. Funkce je aktivována požadavkem HTTP, který používá řetězec dotazu k určení ID, které se má vyhledat. Toto ID se používá k načtení ToDoItem dokumentu ze zadané databáze a kolekce.

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);
        }
    }
}

Trigger HTTP, vyhledání ID ze směrovacích dat

Následující příklad ukazuje funkci jazyka C#, která načte jeden dokument. Funkce se aktivuje požadavkem HTTP, který pomocí směrovacích dat určí ID, které se má vyhledat. Toto ID se používá k načtení ToDoItem dokumentu ze zadané databáze a kolekce.

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);
        }
    }
}

Přeskočení příkladů vstupu

Trigger HTTP, vyhledání ID ze směrovacích dat pomocí SqlQuery

Následující příklad ukazuje funkci jazyka C#, která načte jeden dokument. Funkce se aktivuje požadavkem HTTP, který pomocí směrovacích dat určí ID, které se má vyhledat. Toto ID se používá k načtení ToDoItem dokumentu ze zadané databáze a kolekce.

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);
        }
    }
}

Přeskočení příkladů vstupu

Trigger HTTP, získání více dokumentů pomocí SqlQuery

Následující příklad ukazuje funkci jazyka C#, která načte seznam dokumentů. Funkce se aktivuje požadavkem HTTP. Dotaz je zadán ve vlastnosti atributu 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);
        }
    }
}

Přeskočení příkladů vstupu

Trigger HTTP, získání více dokumentů pomocí DocumentClient (C#)

Následující příklad ukazuje funkci jazyka C#, která načte seznam dokumentů. Funkce se aktivuje požadavkem HTTP. Kód používá instanci poskytovanou DocumentClient vazbou azure Cosmos DB ke čtení seznamu dokumentů. Instanci DocumentClient lze také použít pro operace zápisu.

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);
        }
    }
}

Vstup – atributy

V procesních knihovnách tříd jazyka C# použijte atribut DocumentDB .

Konstruktor atributu přebírá název databáze a název kolekce. Informace o těchto nastaveních a dalších vlastnostech, které můžete konfigurovat, najdete v následující části konfigurace.

Vstup – konfigurace

Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json a atributu DocumentDB .

vlastnost function.json Vlastnost atributu Popis
type Není k dispozici Musí být nastavena na documentdbhodnotu .
direction Není k dispozici Musí být nastavena na inhodnotu .
Jméno Není k dispozici Název parametru vazby, který představuje dokument ve funkci.
databaseName Název databáze Databáze obsahující dokument.
collectionName Název kolekce Název kolekce, která obsahuje dokument.
id Id ID dokumentu, který se má načíst. Tato vlastnost podporuje vazbové výrazy. Nenastavujte vlastnosti ID i sqlQuery . Pokud ani jednu nenastavíte, načte se celá kolekce.
sqlQuery SqlQuery Dotaz SQL služby Azure Cosmos DB, který se používá k načítání více dokumentů. Vlastnost podporuje vazby modulu runtime, jako v tomto příkladu: SELECT * FROM c where c.departmentId = {departmentId}. Nenastavujte vlastnosti ID i sqlQuery . Pokud ani jednu nenastavíte, načte se celá kolekce.
připojení ConnectionStringSetting Název nastavení aplikace obsahující připojovací řetězec azure Cosmos DB.
partitionKey PartitionKey Určuje hodnotu klíče oddílu pro vyhledávání. Může obsahovat parametry vazby.

Při místním vývoji přidejte nastavení aplikace do souboru local.settings.json v kolekci Values .

Vstup – využití

Když se funkce úspěšně ukončí, všechny změny provedené ve vstupním dokumentu prostřednictvím pojmenovaných vstupních parametrů se automaticky zachovají.

Výstup

Výstupní vazba Služby Azure Cosmos DB umožňuje napsat nový dokument do databáze Azure Cosmos DB pomocí rozhraní SQL API.

Výstup – příklad

Tato část obsahuje následující příklady:

  • Trigger fronty, napsání jednoho dokumentu
  • Trigger fronty, zápis dokumentů pomocí IAsyncCollector

Příklady odkazují na jednoduchý ToDoItem typ:

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

Trigger fronty, napsání jednoho dokumentu

Následující příklad ukazuje funkci jazyka C#, která přidá dokument do databáze pomocí dat zadaných ve zprávě z 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}");
        }
    }
}

Trigger fronty, zápis dokumentů pomocí IAsyncCollectoru

Následující příklad ukazuje funkci jazyka C#, která přidá kolekci dokumentů do databáze pomocí dat zadaných ve formátu JSON zprávy fronty.

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);
            }
        }
    }
}

Výstup – atributy

V procesních knihovnách tříd jazyka C# použijte atribut DocumentDB .

Konstruktor atributu přebírá název databáze a název kolekce. Informace o těchto nastaveních a dalších vlastnostech, které můžete konfigurovat, najdete v tématu Výstup – konfigurace. Tady je DocumentDB příklad atributu v podpisu metody:

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

Úplný příklad najdete v tématu Výstup.

Výstup – konfigurace

Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json a atributu DocumentDB .

vlastnost function.json Vlastnost atributu Popis
type Není k dispozici Musí být nastavena na documentdbhodnotu .
direction Není k dispozici Musí být nastavena na outhodnotu .
Jméno Není k dispozici Název parametru vazby, který představuje dokument ve funkci.
databaseName Název databáze Databáze obsahující kolekci, ve které je dokument vytvořen.
collectionName Název kolekce Název kolekce, ve které je dokument vytvořen.
createIfNotExists CreateIfNotExists Logická hodnota označující, jestli se kolekce vytvoří, když neexistuje. Výchozí hodnota je false , protože se vytvářejí nové kolekce s rezervovanou propustností, což má vliv na náklady. Další informace naleznete v části Stránka s cenami.
partitionKey PartitionKey Pokud CreateIfNotExists je hodnota true, definuje cestu klíče oddílu pro vytvořenou kolekci.
collectionThroughput CollectionThroughput Pokud CreateIfNotExists je hodnota true, definuje propustnost vytvořené kolekce.
připojení ConnectionStringSetting Název nastavení aplikace obsahující připojovací řetězec azure Cosmos DB.

Při místním vývoji přidejte nastavení aplikace do souboru local.settings.json v kolekci Values .

Výstup – využití

Ve výchozím nastavení se při zápisu do výstupního parametru ve funkci vytvoří dokument ve vaší databázi. Tento dokument má automaticky vygenerovaný identifikátor GUID jako ID dokumentu. ID dokumentu výstupního dokumentu můžete zadat zadáním id vlastnosti v objektu JSON předaného výstupnímu parametru.

Poznámka:

Když zadáte ID existujícího dokumentu, přepíše se novým výstupním dokumentem.

Výjimky a návratové kódy

Vazba Reference
Azure Cosmos DB Stavové kódy HTTP pro službu Azure Cosmos DB

Další kroky