Delen via


Invoerbinding voor Azure Cosmos DB voor MongoDB (vCore) voor Azure Functions

In dit artikel wordt uitgelegd hoe u werkt met de Invoerbinding voor Azure Cosmos DB voor MongoDB vCore in Azure Functions.

Met de invoerbinding van Azure Cosmos DB voor MongoDB (vCore) kunt u een of meer items ophalen als documenten uit de database.

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 timertriggerfunctie die gebruikmaakt van een invoerbinding om een periodieke query uit te voeren op de database:

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());
            }
          }
           
    }
}

De voorbeelden verwijzen naar een eenvoudig TestClass type:

namespace Sample
{
    public class TestClass
    {
        public string id { get; set; }
        public string SomeData { get; set; }
    }
}

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.
CollectionName De naam van de verzameling in de database die wordt bewaakt door de trigger voor wijzigingen.
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.
QueryString- Hiermee definieert u de Mongo-query-expressie die wordt gebruikt door de invoerbinding documenten uit de database retourneren. De query ondersteunt bindingsparameters.

Gebruik

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());
    }
}