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 Utlösaren för virtuell kärna i Azure Cosmos DB for MongoDB i Azure Functions. Bindningarna använder ändringsströmmar i Azure Cosmos DB:s API för MongoDB för att lyssna efter infogningar och uppdateringar.
Ändringsflödet publicerar endast nya och uppdaterade objekt. Det går för närvarande inte att titta efter borttagningsåtgärder med hjälp av ändringsströmmar.
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 funktion som returnerar ett enda dokument som infogas eller uppdateras:
[FunctionName("TriggerSample")]
public static void TriggerRun(
[CosmosDBMongoTrigger("TestDatabase", "TestCollection")] ChangeStreamDocument<BsonDocument> doc,
ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
log.LogInformation(doc.FullDocument.ToString());
}
Det fullständiga exemplet finns i Sample.cs på lagringsplatsen för tillägget.
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. Krävs om inte TriggerLevel är inställt på MonitorLevel.Cluser. |
| CollectionName | Namnet på samlingen i databasen som övervakas av utlösaren för ändringar. Obligatoriskt när TriggerLevel är inställt på MonitorLevel.Collection. |
| ConnectionStringSetting | Namnet på en appinställning eller inställningssamling som anger hur du ansluter till det Azure Cosmos DB-konto som övervakas. |
| TriggerLevel | Anger på vilken nivå ändringarna övervakas. Giltiga värden MonitorLevel för är: Collection, Databaseoch Cluster. |
Användning
Använd parametern TriggerLevel för att ange omfånget för ändringar som övervakas.
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());
}
}