Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo trabajar con el enlace de salida de núcleo virtual de Azure Cosmos DB para MongoDB en Azure Functions.
El enlace de salida de Azure Cosmos DB para MongoDB (núcleo virtual) le permite escribir un nuevo documento en una colección de Azure Cosmos DB para MongoDB(núcleo virtual).
Importante
La extensión Azure Cosmos DB para MongoDB (núcleo virtual) está actualmente en versión preliminar.
En este momento, solo se admiten las aplicaciones de .NET que usan el modelo en proceso .
Ejemplo
En este ejemplo se muestra una función de desencadenador de temporizador que usa CosmosDBMongoCollector
para agregar un elemento a la base de datos:
[FunctionName("OutputBindingSample")]
public static async Task OutputBindingRun(
[TimerTrigger("*/5 * * * * *")] TimerInfo myTimer,
[CosmosDBMongo("%vCoreDatabaseBinding%", "%vCoreCollectionBinding%", ConnectionStringSetting = "vCoreConnectionStringBinding")] IAsyncCollector<TestClass> CosmosDBMongoCollector,
ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
TestClass item = new TestClass()
{
id = Guid.NewGuid().ToString(),
SomeData = "some random data"
};
await CosmosDBMongoCollector.AddAsync(item);
}
Los ejemplos hacen referencia a un tipo de TestClass
simple:
namespace Sample
{
public class TestClass
{
public string id { get; set; }
public string SomeData { get; set; }
}
}
Atributos
En esta tabla se describen las propiedades de configuración de enlace del CosmosDBMongoTrigger
atributo .
Parámetro | Descripción |
---|---|
FunctionId | (Opcional) Identificador de la función de desencadenador. |
DatabaseName | Nombre de la base de datos supervisada por el desencadenador para ver los cambios. |
CollectionName | Nombre de la colección en la base de datos que supervisa el desencadenador para ver los cambios. |
ConnectionStringSetting | Nombre de una configuración de aplicación o colección de configuraciones que especifica cómo conectarse a la cuenta de Azure Cosmos DB que se va a supervisar. |
CreateIfNotExists | (Opcional) Cuando se establece en true, crea la base de datos de destino y la colección cuando aún no existen. |
Uso
Puede usar el CosmosDBMongo
atributo para obtener y trabajar directamente con el cliente de MongoDB en el código de función:
[FunctionName("ClientBindingSample")]
public static void ClientBindingRun(
[TimerTrigger("*/5 * * * * *")] TimerInfo myTimer,
[CosmosDBMongo] IMongoClient client,
ILogger log)
{
var documents = client.GetDatabase("TestDatabase").GetCollection<BsonDocument>("TestCollection").Find(new BsonDocument()).ToList();
foreach (BsonDocument d in documents)
{
log.LogInformation(d.ToString());
}
}