Associazioni di Azure Cosmos DB per Funzioni di Azure 1.x
Importante
Il supporto terminerà per la versione 1.x del runtime di Funzioni di Azure il 14 settembre 2026. È consigliabile eseguire la migrazione delle app alla versione 4.x per il supporto completo.
Questo articolo descrive come usare le associazioni di Azure Cosmos DB in Funzioni di Azure. Funzioni di Azure supporta i trigger e le associazioni di input e output per Azure Cosmos DB.
Nota
Questo articolo riguarda Funzioni di Azure 1.x. Per informazioni su come usare queste associazioni in Funzioni 2.x e versioni successive, vedere Associazioni di Azure Cosmos DB per Funzioni di Azure 2.x.
Questa associazione è stata originariamente denominata DocumentDB. In Funzioni di Azure versione 1.x, solo il trigger è stato rinominato Azure Cosmos DB. L'associazione di input, l'associazione di output e il pacchetto NuGet mantengono il nome di DocumentDB.
Nota
Le associazioni di Azure Cosmos DB sono supportate solo per l'uso con l'API SQL. Per tutte le altre API di Azure Cosmos DB, è necessario accedere al database dalla funzione usando il client statico per l'API, tra cui Azure Cosmos DB per MongoDB, Azure Cosmos DB per Apache Cassandra, Azure Cosmos DB per Apache Gremlin e Azure Cosmos DB per Table.
Pacchetti: Funzioni 1.x
Le associazioni di Azure Cosmos DB per Funzioni versione 1.x sono incluse nel pacchetto NuGet Microsoft.Azure.WebJobs.Extensions.DocumentDB versione 1.x. Il codice sorgente per le associazioni si trova nel repository GitHub azure-webjobs-sdk-extensions.
La tabella seguente elenca come aggiungere il supporto per l'associazione di output in ogni ambiente di sviluppo.
Ambiente di sviluppo | Per aggiungere il supporto in Funzioni 1.x |
---|---|
Sviluppo locale: libreria di classi C# | Installare il pacchetto |
Sviluppo locale: script C#, JavaScript, F# | Automatico |
Sviluppo con il portale | Automatico |
Trigger
Il trigger di Azure Cosmos DB usa il feed di modifiche di Azure Cosmos DB per rimanere in ascolto degli inserimenti e degli aggiornamenti nelle partizioni. Il feed delle modifiche pubblica aggiunte e aggiornamenti, non eliminazioni.
Trigger - esempio
L'esempio seguente mostra una funzione C# in-process richiamata quando sono presenti inserimenti o aggiornamenti nel database e nella raccolta specificati.
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 - attributi
Per le librerie di classi C# in-process, usare l'attributo CosmosDBTrigger .
Il costruttore dell'attributo accetta il nome del database e il nome della raccolta. Per informazioni su tali impostazioni e altre proprietà che è possibile configurare, vedere Trigger - configurazione. Di seguito è riportato un esempio dell'attributo CosmosDBTrigger
in una firma del metodo:
[FunctionName("DocumentUpdates")]
public static void Run(
[CosmosDBTrigger("database", "collection", ConnectionStringSetting = "myCosmosDB")]
IReadOnlyList<Document> documents,
TraceWriter log)
{
...
}
Per un esempio completo, vedere Trigger - esempio in C#.
Trigger - configurazione
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json e nell'attributo CosmosDBTrigger
.
Proprietà di function.json | Proprietà dell'attributo | Descrizione |
---|---|---|
type | n/d | Deve essere impostato su cosmosDBTrigger . |
direction | n/d | Deve essere impostato su in . Questo parametro viene impostato automaticamente quando si crea il trigger nel portale di Azure. |
name | n/d | Il nome della variabile usato nel codice funzione che rappresenta l'elenco di documenti con le modifiche. |
connectionStringSetting | ConnectionStringSetting | Il nome di un'impostazione dell'app che contiene la stringa di connessione usata per connettersi all'account di Azure Cosmos DB monitorato. |
databaseName | DatabaseName | Il nome del database di Azure Cosmos DB con la raccolta monitorata. |
collectionName | CollectionName | Il nome della raccolta monitorata. |
leaseConnectionStringSetting | LeaseConnectionStringSetting | (Facoltativo) Il nome di un'impostazione app che contiene la stringa di connessione al servizio in cui si trova la raccolta del lease. Se non impostato, viene usato il valore connectionStringSetting . Questo parametro viene impostato automaticamente al momento della creazione dell'associazione nel portale. La stringa di connessione per la raccolta di lease deve avere autorizzazioni di scrittura. |
leaseDatabaseName | LeaseDatabaseName | (Facoltativo) Il nome del database in cui si trova la raccolta usata per archiviare i lease. Se non impostato, viene usato il valore dell'impostazione databaseName . Questo parametro viene impostato automaticamente al momento della creazione dell'associazione nel portale. |
leaseCollectionName | LeaseCollectionName | (Facoltativo) Il nome della raccolta usata per archiviare i lease. Se non impostato, viene usato il valore leases . |
createLeaseCollectionIfNotExists | CreateLeaseCollectionIfNotExists | (Facoltativo) Se impostato su true , la raccolta di lease viene creata automaticamente se non esiste già. Il valore predefinito è false . |
leasesCollectionThroughput | LeasesCollectionThroughput | (Facoltativo) Definisce la quantità di unità richiesta da assegnare quando viene creata la raccolta di lease. Questa impostazione viene usata solo quando createLeaseCollectionIfNotExists è impostato su true . Questo parametro viene impostato automaticamente al momento della creazione dell'associazione tramite il portale. |
leaseCollectionPrefix | LeaseCollectionPrefix | (Facoltativo) Se impostato, aggiunge un prefisso ai lease creati nella raccolta Lease per questa funzione, consentendo in modo efficace a due funzioni distinte di Azure di condividere la stessa raccolta Lease usando prefissi diversi. |
feedPollDelay | FeedPollDelay | (Facoltativo) Se impostato, definisce, in millisecondi, il ritardo tra il polling di una partizione alla ricerca di nuove modifiche al feed, dopo la rimozione di tutte le modifiche correnti. Il valore predefinito è 5000 (5 secondi). |
leaseAcquireInterval | LeaseAcquireInterval | (Facoltativo) Se impostato, definisce, in millisecondi, l'intervallo per l'avvio di un'attività che consente di calcolare se le partizioni sono distribuite equamente tra le istanze di host note. Il valore predefinito è 13000 (13 secondi). |
leaseExpirationInterval | LeaseExpirationInterval | (Facoltativo) Se impostato, definisce, in millisecondi, l'intervallo che indica la durata di un lease su un lease che rappresenta una partizione. Se il lease non viene rinnovato entro questo intervallo, ne comporterà la scadenza e la proprietà della partizione passerà a un'altra istanza. Il valore predefinito è 60000 (60 secondi). |
leaseRenewInterval | LeaseRenewInterval | (Facoltativo) Se impostato, definisce, in millisecondi, l'intervallo di rinnovo per tutti i lease per le partizioni attualmente occupate da un'istanza. Il valore predefinito è 17000 (17 secondi). |
checkpointFrequency | CheckpointFrequency | (Facoltativo) Se impostato, definisce, in millisecondi, l'intervallo tra i checkpoint dei lease. Il valore predefinito è sempre dopo ogni chiamata di funzione. |
maxItemsPerInvocation | MaxItemsPerInvocation | (Facoltativo) Se impostato, personalizza il numero massimo di elementi ricevuti per ogni chiamata di funzione. |
startFromBeginning | StartFromBeginning | (Facoltativo) Se impostato, indica al trigger di iniziare a leggere le modifiche dall'inizio della cronologia della raccolta anziché dall'ora corrente. Questo funziona solo al primo avvio del trigger, perché per le esecuzioni successive i checkpoint sono già archiviati. L'impostazione su true in presenza di lease già creati non ha alcun effetto. |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values
raccolta.
Trigger - uso
Il trigger richiede una seconda raccolta usata per archiviare i lease nelle partizioni. Sia la raccolta monitorata che la raccolta che contiene i lease deve essere disponibile affinché il trigger funzioni.
Importante
Se più funzioni sono configurate per l'uso di un trigger di Azure Cosmos DB per la stessa raccolta, ognuna delle funzioni deve usare una raccolta di lease dedicata o specificare un'altra LeaseCollectionPrefix
per ogni funzione. In caso contrario verrà attivata solo una delle funzioni. Per informazioni sul prefisso, vedere la sezione relativa alla configurazione.
Il trigger non indica se un documento è stato aggiornato o aggiunto, fornisce solo il documento stesso. Se è necessario gestire aggiornamenti e aggiunte in modo diverso, è possibile implementare campi di timestamp per le aggiunte o gli aggiornamenti.
Input
L'associazione di input di Azure Cosmos DB usa l'API SQL per recuperare uno o più documenti di Azure Cosmos DB e li passa al parametro di input della funzione. L'ID documento o i parametri di query possono essere determinati in base al trigger che richiama la funzione.
Input - esempio
Questa sezione contiene gli esempi seguenti:
- Trigger della coda e ricerca dell'ID da JSON
- Trigger HTTP e ricerca dell'ID da una stringa di query
- Trigger HTTP e ricerca dell'ID dai dati della route
- Trigger HTTP e ricerca dell'ID dai dati della route con SqlQuery
- Trigger HTTP e recupero di più documenti con SqlQuery
- Trigger HTTP e recupero di più documenti con DocumentClient
Gli esempi fanno riferimento a un tipo semplice ToDoItem
:
namespace CosmosDBSamplesV1
{
public class ToDoItem
{
public string Id { get; set; }
public string Description { get; set; }
}
}
Trigger della coda e ricerca dell'ID da JSON
L'esempio seguente illustra una funzione C# che recupera un singolo documento. La funzione viene attivata da un messaggio in coda contenente un oggetto JSON. Il trigger della coda analizza il codice JSON in un oggetto denominato ToDoItemLookup
contenente l'ID da cercare. Questo ID viene usato per recuperare un documento ToDoItem
dal database e dalla raccolta specificati.
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 e ricerca dell'ID da una stringa di query
L'esempio seguente illustra una funzione C# che recupera un singolo documento. La funzione viene attivata da una richiesta HTTP che usa una stringa di query per specificare l'ID da cercare. Questo ID viene usato per recuperare un documento ToDoItem
dal database e dalla raccolta specificati.
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 e ricerca dell'ID dai dati della route
L'esempio seguente illustra una funzione C# che recupera un singolo documento. La funzione viene attivata da una richiesta HTTP che usa i dati della route per specificare l'ID da cercare. Questo ID viene usato per recuperare un documento ToDoItem
dal database e dalla raccolta specificati.
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 e ricerca dell'ID dai dati della route con SqlQuery
L'esempio seguente illustra una funzione C# che recupera un singolo documento. La funzione viene attivata da una richiesta HTTP che usa i dati della route per specificare l'ID da cercare. Questo ID viene usato per recuperare un documento ToDoItem
dal database e dalla raccolta specificati.
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 e recupero di più documenti con SqlQuery
L'esempio seguente illustra una funzione C# che recupera un elenco di documenti. La funzione viene attivata da una richiesta HTTP. La query è specificata nella proprietà dell'attributo 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 e recupero di più documenti con DocumentClient (C#)
L'esempio seguente illustra una funzione C# che recupera un elenco di documenti. La funzione viene attivata da una richiesta HTTP. Il codice usa un'istanza di DocumentClient
fornita dall'associazione di Azure Cosmos DB per leggere un elenco di documenti. L'istanza di DocumentClient
potrebbe essere usata anche per operazioni di scrittura.
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);
}
}
}
Input - attributi
Nelle librerie di classi C# in-process usare l'attributo DocumentDB .
Il costruttore dell'attributo accetta il nome del database e il nome della raccolta. Per informazioni su tali impostazioni e altre proprietà che è possibile configurare, vedere la sezione seguente relativa alla configurazione.
Input - configurazione
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json e nell'attributo DocumentDB
.
Proprietà di function.json | Proprietà dell'attributo | Descrizione |
---|---|---|
type | n/d | Deve essere impostato su documentdb . |
direction | n/d | Deve essere impostato su in . |
name | n/d | Nome del parametro di binding che rappresenta il documento nella funzione. |
databaseName | DatabaseName | Database che contiene il documento. |
collectionName | CollectionName | Nome della raccolta che contiene il documento. |
id | Id | ID del documento da recuperare. Questa proprietà supporta le espressioni di associazione. Non impostare entrambe le proprietà id e sqlQuery. Se non si imposta una delle due proprietà, verrà recuperato l'intera raccolta. |
sqlQuery | SqlQuery | Query SQL di Azure Cosmos DB usata per recuperare più documenti. La proprietà supporta le associazioni del runtime, come nell'esempio seguente: SELECT * FROM c where c.departmentId = {departmentId} . Non impostare entrambe le proprietà id e sqlQuery. Se non si imposta una delle due proprietà, verrà recuperato l'intera raccolta. |
connection | ConnectionStringSetting | Nome dell'impostazione app contenente la stringa di connessione di Azure Cosmos DB. |
partitionKey | PartitionKey | Specifica il valore della chiave di partizione per la ricerca. Può includere i parametri di associazione. |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values
raccolta.
Input - uso
Quando la funzione viene chiusa correttamente, tutte le modifiche apportate al documento di input tramite parametri di input denominati vengono mantenute automaticamente.
Output
L'associazione di output di Azure Cosmos DB consente di scrivere un nuovo documento in un database di Azure Cosmos DB tramite l'API SQL.
Output - esempio
Questa sezione contiene gli esempi seguenti:
- Trigger della coda e scrittura di un documento
- Trigger della coda, scrittura di documenti con
IAsyncCollector
Gli esempi fanno riferimento a un tipo semplice ToDoItem
:
namespace CosmosDBSamplesV1
{
public class ToDoItem
{
public string Id { get; set; }
public string Description { get; set; }
}
}
Trigger della coda e scrittura di un documento
L'esempio seguente mostra una funzione in C# che aggiunge un documento a un database usando i dati forniti nel messaggio dall'archiviazione code.
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 della coda e scrittura di documenti con IAsyncCollector
L'esempio seguente illustra una funzione C# che aggiunge una raccolta di documenti a un database usando i dati forniti nel codice JSON di un messaggio in coda.
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);
}
}
}
}
Output - attributi
Nelle librerie di classi C# in-process usare l'attributo DocumentDB .
Il costruttore dell'attributo accetta il nome del database e il nome della raccolta. Per informazioni su tali impostazioni e altre proprietà che è possibile configurare, vedere Output - configurazione. Di seguito è riportato un esempio dell'attributo DocumentDB
in una firma del metodo:
[FunctionName("QueueToDocDB")]
public static void Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
[DocumentDB("ToDoList", "Items", Id = "id", ConnectionStringSetting = "myCosmosDB")] out dynamic document)
{
...
}
Per un esempio completo, vedere Output.
Output - configurazione
Nella tabella seguente sono illustrate le proprietà di configurazione dell'associazione impostate nel file function.json e nell'attributo DocumentDB
.
Proprietà di function.json | Proprietà dell'attributo | Descrizione |
---|---|---|
type | n/d | Deve essere impostato su documentdb . |
direction | n/d | Deve essere impostato su out . |
name | n/d | Nome del parametro di binding che rappresenta il documento nella funzione. |
databaseName | DatabaseName | Database contenente la raccolta in cui viene creato il documento. |
collectionName | CollectionName | Nome della raccolta in cui viene creato il documento. |
createIfNotExists | CreateIfNotExists | Valore booleano che indica se la raccolta viene creata quando non esiste. Il valore predefinito è false perché le nuove raccolte vengono create con una velocità effettiva riservata, che ha implicazioni in termini di costi. Per ulteriori informazioni, vedere la pagina dei prezzi. |
partitionKey | PartitionKey | Se CreateIfNotExists è true, definisce il percorso della chiave di partizione per la raccolta creata. |
collectionThroughput | CollectionThroughput | Se CreateIfNotExists è true, definisce la velocità effettiva della raccolta creata. |
connection | ConnectionStringSetting | Nome dell'impostazione app contenente la stringa di connessione di Azure Cosmos DB. |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values
raccolta.
Output - uso
Per impostazione predefinita, quando si scrive nel parametro di output della funzione, viene creato un documento nel database. L'ID di questo documento è un GUID generato automaticamente. È possibile specificare l'ID del documento di output specificando la proprietà id
nell'oggetto JSON passato al parametro di output.
Nota
Quando si specifica l'ID di un documento esistente, questo viene sovrascritto dal nuovo documento di output.
Eccezioni e codici restituiti
Binding | Riferimento |
---|---|
Azure Cosmos DB | Codici di stato HTTP per Azure Cosmos DB |