Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du arbetar med azure Cosmos DB for MongoDB vCore-indatabindningen i Azure Functions.
Med indatabindningen Azure Cosmos DB for MongoDB (vCore) kan du hämta ett eller flera objekt som dokument från databasen.
Viktigt!
Tillägget Azure Cosmos DB for MongoDB (vCore) är för närvarande i förhandsversion.
För närvarande stöds endast .NET-appar som använder den äldre inprocessmodellen .
Exempel
Det här exemplet visar en Timer-utlösarfunktion som använder en indatabindning för att köra en periodisk fråga mot databasen:
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo;
using Microsoft.Extensions.Logging;
using MongoDB.Bson;
using MongoDB.Driver;
namespace Sample
{
public static class Sample
{
[FunctionName("InputBindingSample")]
public static async Task InputBindingRun(
[TimerTrigger("*/5 * * * * *")] TimerInfo myTimer,
[CosmosDBMongo("%vCoreDatabaseTrigger%", "%vCoreCollectionTrigger%", ConnectionStringSetting = "vCoreConnectionStringTrigger",
QueryString = "%queryString%")] List<BsonDocument> docs,
ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
foreach (var doc in docs)
{
log.LogInformation(doc.ToString());
}
}
}
}
Exemplen refererar till en enkel TestClass typ:
namespace Sample
{
public class TestClass
{
public string id { get; set; }
public string SomeData { get; set; }
}
}
Egenskaper
Den här tabellen beskriver bindningskonfigurationsegenskaperna för attributet CosmosDBMongoTrigger .
| Parameter | Beskrivning |
|---|---|
| FunctionId | (Valfritt) ID:t för utlösarfunktionen. |
| DatabaseName | Namnet på databasen som övervakas av utlösaren för ändringar. |
| CollectionName | Namnet på samlingen i databasen som övervakas av utlösaren för ändringar. |
| ConnectionStringSetting | Namnet på en appinställning eller inställningssamling som anger hur du ansluter till det Azure Cosmos DB-konto som övervakas. |
| QueryString | Definierar mongo-frågeuttrycket som används av returdokumenten för indatabindningen från databasen. Frågan stöder bindningsparametrar. |
Användning
Du kan använda CosmosDBMongo attributet för att hämta och arbeta direkt med MongoDB-klienten i funktionskoden:
[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());
}
}