Enlaces de Azure Cosmos DB para Azure Functions 1.x
Importante
La compatibilidad con la versión 1.x del entorno de ejecución de Azure Functions finalizará el 14 de septiembre de 2026. Se recomienda encarecidamente migrar las aplicaciones a la versión 4.x para obtener soporte completo.
En este artículo se explica cómo trabajar con enlaces de Azure Cosmos DB en Azure Functions. Azure Functions enlaces de desencadenador, de entrada y de salida para Azure Cosmos DB.
Nota
Este artículo trata sobre Azure Functions 1.x. Para más información acerca del uso de estos enlaces en Functions 2.x y versiones posteriores, consulte Enlaces de Azure Cosmos DB para Azure Functions 2.x.
Este enlace se llamaba originalmente DocumentDB. En la versión 1.x de Azure Functions, solo se cambió el nombre del desencadenador a Azure Cosmos DB; el enlace de entrada, el enlace de salida y el paquete NuGet conservan el nombre DocumentDB.
Nota
Solo se admiten enlaces de Azure Cosmos DB para su uso con la API de SQL. Para el resto de API de Azure Cosmos DB, debe acceder a la base de datos desde la función mediante el cliente estático de la API, incluidas Azure Cosmos DB for MongoDB, Azure Cosmos DB for Apache Cassandra, Azure Cosmos DB for Apache Gremlin y Azure Cosmos DB for Table.
Paquetes: Functions 1.x
Los enlaces de Azure Cosmos DB para la versión 1.x de Functions se proporcionan en el paquete NuGet Microsoft.Azure.WebJobs.Extensions.DocumentDB, versión 1.x. El código fuente de los enlaces está en el repositorio azure-webjobs-sdk-extensions de GitHub.
En la tabla siguiente se muestra cómo agregar compatibilidad con el enlace de salida en cada entorno de desarrollo.
Entorno de desarrollo | Para agregar compatibilidad en Functions 1.x |
---|---|
Desarrollo local: biblioteca de clases de C# | Instalación del paquete |
Desarrollo local: script de C#, JavaScript, F# | Automático |
Desarrollo con Portal | Automático |
Desencadenador
El desencadenador de Azure Cosmos DB utiliza la fuente de cambios de Azure Cosmos DB para estar atento a las inserciones y actualizaciones de las particiones. La fuente de cambios publica inserciones y actualizaciones, no eliminaciones.
Desencadenador: ejemplo
En el ejemplo siguiente se muestra una función de C# en proceso que se invoca cuando hay inserciones o actualizaciones en la base de datos y la colección especificadas.
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}");
}
}
}
}
Desencadenador: atributos
Para las bibliotecas de clases de C# en proceso, use el atributo CosmosDBTrigger .
El constructor del atributo toma el nombre de la base de datos y el nombre de la colección. Para información sobre esos valores y otras propiedades que puede configurar, consulte Desencadenador: configuración. A continuación, se muestra un ejemplo del atributo CosmosDBTrigger
en una signatura de método:
[FunctionName("DocumentUpdates")]
public static void Run(
[CosmosDBTrigger("database", "collection", ConnectionStringSetting = "myCosmosDB")]
IReadOnlyList<Document> documents,
TraceWriter log)
{
...
}
Para un ejemplo completo, consulte Desencadenador: ejemplo de C#.
Desencadenador: configuración
En la siguiente tabla se explican las propiedades de configuración de enlace que se definen en el archivo function.json y el atributo CosmosDBTrigger
.
Propiedad de function.json | Propiedad de atributo | Descripción |
---|---|---|
type | N/D | Se debe establecer en cosmosDBTrigger . |
direction | N/D | Se debe establecer en in . Este parámetro se establece automáticamente cuando se crea el desencadenador en Azure Portal. |
name | N/D | Nombre de la variable que se utiliza en el código de función y que representa la lista de documentos con los cambios. |
connectionStringSetting | ConnectionStringSetting | Nombre de una configuración de aplicación que contiene la cadena de conexión utilizada para conectarse a la cuenta de Azure Cosmos DB que se está supervisando. |
databaseName | DatabaseName | Nombre de la base de datos de Azure Cosmos DB con la colección que se está supervisando. |
collectionName | CollectionName | Nombre de la colección que se está supervisando. |
leaseConnectionStringSetting | LeaseConnectionStringSetting | (Opcional) Nombre de una configuración de aplicación que contiene la cadena de conexión al servicio que incluye la colección de concesiones. Si no se establece, se usa el valor connectionStringSetting . Este parámetro se establece automáticamente cuando se crea el enlace en el portal. La cadena de conexión para la colección de concesiones debe tener permisos de escritura. |
leaseDatabaseName | LeaseDatabaseName | (Opcional) Nombre de la base de datos que contiene la colección que se usa para almacenar las concesiones. Si no se establece, se usa el valor de la configuración databaseName . Este parámetro se establece automáticamente cuando se crea el enlace en el portal. |
leaseCollectionName | LeaseCollectionName | (Opcional) Nombre de la colección que se usa para almacenar concesiones. Si no se establece, se usa el valor leases . |
createLeaseCollectionIfNotExists | CreateLeaseCollectionIfNotExists | (Opcional) Cuando se establece en true , la colección de concesiones se crea automáticamente cuando todavía no existe. El valor predeterminado es false . |
leasesCollectionThroughput | LeasesCollectionThroughput | (Opcional) Define la cantidad de unidades de solicitud que se asignan cuando se crea la colección de concesiones. Esta configuración solo se usa cuando createLeaseCollectionIfNotExists se establece en true . Este parámetro se establece automáticamente cuando el enlace se crea con el portal. |
leaseCollectionPrefix | LeaseCollectionPrefix | (Opcional) Al establecerse, agrega un prefijo a las concesiones creadas en la recopilación de concesiones para esta función, permitiendo de forma eficaz a dos funciones de Azure independientes compartir la misma recopilación de concesiones con prefijos diferentes. |
feedPollDelay | FeedPollDelay | (Opcional) Al establecerse, define, en milisegundos, el retraso entre sondeos de una partición en busca de nuevos cambios en la fuente, después de que todos los cambios actuales se purguen. El valor predeterminado es 5000 (5 segundos). |
leaseAcquireInterval | LeaseAcquireInterval | (Opcional) Al establecerse, define, en milisegundos, el intervalo para iniciar una tarea para calcular si las particiones se distribuyen uniformemente entre las instancias de host conocidas. El valor predeterminado es 13 000 (13 segundos). |
leaseExpirationInterval | LeaseExpirationInterval | (Opcional) Al establecerse, define, en milisegundos, el intervalo para el que se toma la concesión en una concesión que representa una partición. Si la concesión no se renueva dentro de este intervalo, expirará y la propiedad de la partición se moverá a otra instancia. El valor predeterminado es 60 000 (60 segundos). |
leaseRenewInterval | LeaseRenewInterval | (Opcional) Al establecerse, define, en milisegundos, el intervalo de renovación para todas las concesiones para las particiones que mantiene una instancia actualmente. El valor predeterminado es 17 000 (17 segundos). |
checkpointFrequency | CheckpointFrequency | (Opcional) Al establecerse, define, en milisegundos, el intervalo entre los puntos de comprobación de las concesiones. El valor predeterminado siempre se encuentra después de una llamada de función. |
maxItemsPerInvocation | MaxItemsPerInvocation | (Opcional) Al establecerse, personaliza la cantidad máxima de elementos recibidos por la llamada de función. |
startFromBeginning | StartFromBeginning | (Opcional) Cuando se establece, indica al desencadenador que comience a leer los cambios desde el principio del historial de la colección en lugar de desde la hora actual. Esto solo funciona la primera vez que se inicia el desencadenador, ya que en las ejecuciones posteriores, los puntos de control ya están almacenados. Si esta opción se establece en true cuando hay concesiones creadas no tiene ningún efecto. |
Cuando esté desarrollando localmente, agregue la configuración de la aplicación en el archivo local.settings.json de la colección Values
.
Desencadenador: uso
El desencadenador requiere una segunda colección que utiliza para almacenar concesiones en las particiones. La colección que se está supervisando y la colección que contiene las concesiones deben estar disponibles para que el desencadenador funcione.
Importante
Si hay varias funciones configuradas para usar un desencadenador de Azure Cosmos DB para la misma colección, cada una de ellas debe usar una colección de concesión dedicada, o bien se debe especificar un valor de LeaseCollectionPrefix
para cada función. En caso contrario, se desencadenará solo una de las funciones. Para obtener información acerca del prefijo, consulte la sección de configuración.
El desencadenador no indica si un documento se actualizó o se insertó; solo proporciona el propio documento. Si tiene que administrar las actualizaciones e inserciones de manera diferente, puede hacerlo mediante la implementación de campos de marca de tiempo para las inserciones o actualizaciones.
Entrada
El enlace de entrada de Azure Cosmos DB usa SQL API para recuperar uno o varios documentos de Azure Cosmos DB y los pasa al parámetro de entrada de la función. Se puede determinar el identificador de documento o los parámetros de consulta según el desencadenador que invoca la función.
Ejemplo de entrada
En esta sección se incluyen los ejemplos siguientes:
- Desencadenador de cola, buscar identificador de JSON
- Desencadenador de HTTP, buscar identificador de cadena de consulta
- Desencadenador de HTTP, buscar identificador de datos de ruta
- Desencadenador de HTTP, buscar identificador de datos de ruta, mediante SqlQuery
- Desencadenador de HTTP, obtener varios documentos, mediante SqlQuery
- Desencadenador de HTTP, obtener varios documentos, mediante DocumentClient
Los ejemplos hacen referencia a un tipo de ToDoItem
simple:
namespace CosmosDBSamplesV1
{
public class ToDoItem
{
public string Id { get; set; }
public string Description { get; set; }
}
}
Desencadenador de cola, buscar identificador a partir de un JSON
En el ejemplo siguiente se muestra una función de C# que recupera un documento individual. La función la desencadena un mensaje de la cola que contiene un objeto JSON. El desencadenador de la cola analiza el JSON en un objeto denominado ToDoItemLookup
, que contiene el identificador que se va a buscar. Dicho identificador se usa para recuperar un documento de ToDoItem
de la base de datos y colección especificadas.
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}");
}
}
}
}
Desencadenador de HTTP, buscar identificador a partir de una cadena de consulta
En el ejemplo siguiente se muestra una función de C# que recupera un documento individual. La función la desencadena una solicitud HTTP que utiliza una cadena de consulta para especificar el identificador que se va a buscar. Dicho identificador se usa para recuperar un documento de ToDoItem
de la base de datos y colección especificadas.
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);
}
}
}
Desencadenador de HTTP, buscar identificador a partir de datos de ruta
En el ejemplo siguiente se muestra una función de C# que recupera un documento individual. La función la desencadena una solicitud HTTP que utiliza los datos de la ruta para especificar el identificador que se va a buscar. Dicho identificador se usa para recuperar un documento de ToDoItem
de la base de datos y colección especificadas.
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);
}
}
}
Omisión de los ejemplos de entrada
Desencadenador de HTTP, buscar identificador a partir de datos de ruta mediante SqlQuery
En el ejemplo siguiente se muestra una función de C# que recupera un documento individual. La función la desencadena una solicitud HTTP que utiliza los datos de la ruta para especificar el identificador que se va a buscar. Dicho identificador se usa para recuperar un documento de ToDoItem
de la base de datos y colección especificadas.
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);
}
}
}
Omisión de los ejemplos de entrada
Desencadenador de HTTP, obtener varios documentos mediante SqlQuery
En el ejemplo siguiente se muestra una función de C# que recupera una lista de documentos. La función la desencadena una solicitud HTTP. La consulta se especifica en la propiedad del atributo 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);
}
}
}
Omisión de los ejemplos de entrada
Desencadenador de HTTP, obtener varios documentos, mediante DocumentClient (C#)
En el ejemplo siguiente se muestra una función de C# que recupera una lista de documentos. La función la desencadena una solicitud HTTP. El código usa una instancia de DocumentClient
que proporciona el enlace de Azure Cosmos DB para leer una lista de documentos. La instancia de DocumentClient
también se puede usar para las operaciones de escritura.
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);
}
}
}
Entrada: atributos
En las bibliotecas de clases de C# en proceso, use el atributo DocumentDB .
El constructor del atributo toma el nombre de la base de datos y el nombre de la colección. Para información sobre esos valores y otras propiedades que puede configurar, consulte la sección de configuración siguiente.
Entrada: configuración
En la siguiente tabla se explican las propiedades de configuración de enlace que se definen en el archivo function.json y el atributo DocumentDB
.
Propiedad de function.json | Propiedad de atributo | Descripción |
---|---|---|
type | N/D | Se debe establecer en documentdb . |
direction | N/D | Se debe establecer en in . |
name | N/D | Nombre del parámetro de enlace que representa al documento en la función. |
databaseName | DatabaseName | Base de datos que contiene el documento. |
collectionName | CollectionName | Nombre de la colección que contiene el documento. |
id | Id | Identificador del documento que se va a recuperar. Esta propiedad es compatible con expresiones de enlace. No establezca las propiedades id y sqlQuery a la vez. Si no establece alguna de ellas, se recupera toda la colección. |
sqlQuery | SqlQuery | Consulta SQL de Azure Cosmos DB que se usa para recuperar varios documentos. La propiedad es compatible con los enlaces en tiempo de ejecución, como en este ejemplo: SELECT * FROM c where c.departmentId = {departmentId} . No establezca las propiedades id y sqlQuery a la vez. Si no establece alguna de ellas, se recupera toda la colección. |
connection | ConnectionStringSetting | Nombre de la configuración de aplicación que contiene la cadena de conexión de Azure Cosmos DB. |
partitionKey | PartitionKey | Especifica el valor de la clave de partición para la búsqueda. Puede incluir parámetros de enlace. |
Cuando esté desarrollando localmente, agregue la configuración de la aplicación en el archivo local.settings.json de la colección Values
.
Uso de entradas
Cuando se sale de la función correctamente, los cambios realizados en el documento de entrada mediante parámetros de entrada con nombre se guardan automáticamente.
Output
El enlace de salida de Azure Cosmos DB permite escribir un nuevo documento en una base de datos de Azure Cosmos DB mediante SQL API.
Salida: ejemplo
En esta sección se incluyen los ejemplos siguientes:
- Desencadenador de cola, escribir un documento
- Desencadenador de cola, escribir documentos mediante
IAsyncCollector
Los ejemplos hacen referencia a un tipo de ToDoItem
simple:
namespace CosmosDBSamplesV1
{
public class ToDoItem
{
public string Id { get; set; }
public string Description { get; set; }
}
}
Desencadenador de cola, escribir un documento
En el ejemplo siguiente se muestra una función de C# que agrega un documento a una base de datos mediante los datos que se proporcionan en el mensaje desde 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}");
}
}
}
Desencadenador de cola, escribir documentos mediante IAsyncCollector
En el ejemplo siguiente se muestra una función de C# que agrega una colección de documentos a una base de datos mediante los datos que se proporcionan en un mensaje de cola 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);
}
}
}
}
Salida: atributos
En las bibliotecas de clases de C# en proceso, use el atributo DocumentDB .
El constructor del atributo toma el nombre de la base de datos y el nombre de la colección. Para información sobre esos valores y otras propiedades que puede configurar, consulte Salida: configuración. A continuación, se muestra un ejemplo del atributo DocumentDB
en una signatura de método:
[FunctionName("QueueToDocDB")]
public static void Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
[DocumentDB("ToDoList", "Items", Id = "id", ConnectionStringSetting = "myCosmosDB")] out dynamic document)
{
...
}
Para obtener un ejemplo completo, consulte la salida.
Salida: configuración
En la siguiente tabla se explican las propiedades de configuración de enlace que se definen en el archivo function.json y el atributo DocumentDB
.
Propiedad de function.json | Propiedad de atributo | Descripción |
---|---|---|
type | N/D | Se debe establecer en documentdb . |
direction | N/D | Se debe establecer en out . |
name | N/D | Nombre del parámetro de enlace que representa al documento en la función. |
databaseName | DatabaseName | Base de datos que contiene la colección en la que se ha creado el documento. |
collectionName | CollectionName | Nombre de la colección en la que se ha creado el documento. |
createIfNotExists | CreateIfNotExists | Valor booleano que indica si la colección se ha creado si no existía. El valor predeterminado es false porque las colecciones nuevas se crean con rendimiento reservado, lo que afecta el costo. Consulte la página de preciospara obtener más información. |
partitionKey | PartitionKey | Cuando el valor de CreateIfNotExists es true, define la ruta de la clave de partición para la colección que se creó. |
collectionThroughput | CollectionThroughput | Cuando el valor de CreateIfNotExists es true, define el rendimiento de la colección que se creó. |
connection | ConnectionStringSetting | Nombre de la configuración de aplicación que contiene la cadena de conexión de Azure Cosmos DB. |
Cuando esté desarrollando localmente, agregue la configuración de la aplicación en el archivo local.settings.json de la colección Values
.
Uso de salidas
De forma predeterminada, cuando se escribe en el parámetro de salida de la función, se crea un documento en la base de datos. Este documento tiene un GUID generado automáticamente como identificador de documento. Puede especificar el identificador de documento del documento de salida si especifica la propiedad id
en el objeto JSON pasado al parámetro de salida.
Nota
Cuando especifica el identificador de un documento existente, se sobrescribe con el nuevo documento de salida.
Excepciones y códigos de retorno
Enlace | Referencia |
---|---|
Azure Cosmos DB | Códigos de Estado HTTP en Azure Cosmos DB |