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 cosmosDBTrigger hodnotu . |
direction | Není k dispozici | Musí být nastavena na in hodnotu . 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 true hodnotu . 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:
- Trigger fronty, vyhledání ID z JSON
- Trigger HTTP, vyhledání ID z řetězce dotazu
- Trigger HTTP, vyhledání ID ze směrovacích dat
- Trigger HTTP, vyhledání ID ze směrovacích dat pomocí SqlQuery
- Trigger HTTP, získání více dokumentů pomocí SqlQuery
- Trigger HTTP, získání více dokumentů pomocí DocumentClient
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);
}
}
}
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);
}
}
}
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);
}
}
}
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 documentdb hodnotu . |
direction | Není k dispozici | Musí být nastavena na in hodnotu . |
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 documentdb hodnotu . |
direction | Není k dispozici | Musí být nastavena na out hodnotu . |
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 |