Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u kunt werken met de Azure Cosmos DB for MongoDB vCore-trigger in Azure Functions. De bindingen maken gebruik van wijzigingsstromen in de API van Azure Cosmos DB voor MongoDB om te luisteren naar invoegingen en updates.
De wijzigingenfeed publiceert alleen nieuwe en bijgewerkte items. Het controleren op verwijderingsbewerkingen met behulp van wijzigingsstromen wordt momenteel niet ondersteund.
Belangrijk
De Azure Cosmos DB for MongoDB-extensie (vCore) is momenteel beschikbaar als preview-versie.
Op dit moment worden alleen .NET-apps die gebruikmaken van het verouderde procesmodel ondersteund.
Voorbeeld
In dit voorbeeld ziet u een functie die één document retourneert dat is ingevoegd of bijgewerkt:
[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());
}
Zie Sample.cs in de extensieopslagplaats voor het volledige voorbeeld.
Kenmerken
In deze tabel worden de bindingsconfiguratie-eigenschappen van het CosmosDBMongoTrigger kenmerk beschreven.
| Kenmerk | Beschrijving |
|---|---|
| FunctionId | (Optioneel) De id van de triggerfunctie. |
| DatabaseName | De naam van de database die wordt bewaakt door de trigger voor wijzigingen. Vereist, tenzij TriggerLevel ingesteld op MonitorLevel.Cluser. |
| CollectionName | De naam van de verzameling in de database die wordt bewaakt door de trigger voor wijzigingen. Vereist wanneer TriggerLevel is ingesteld op MonitorLevel.Collection. |
| ConnectionStringSetting | De naam van een app-instelling of verzameling die aangeeft hoe verbinding moet worden gemaakt met het Azure Cosmos DB-account dat wordt bewaakt. |
| TriggerLevel | Geeft het niveau aan waarop wijzigingen worden bewaakt. Geldige waarden MonitorLevel zijn: Collection, Databaseen Cluster. |
Gebruik
Gebruik de TriggerLevel parameter om het bereik van wijzigingen in te stellen dat wordt bewaakt.
U kunt het CosmosDBMongo kenmerk gebruiken om rechtstreeks met de MongoDB-client in uw functiecode te verkrijgen en te werken:
[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());
}
}