Delen via


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

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

Met de uitvoerbinding van Azure Cosmos DB voor MongoDB (vCore) kunt u een nieuw document schrijven naar een Azure Cosmos DB for MongoDB(vCore)-verzameling.

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 gebruikt CosmosDBMongoCollector om een item toe te voegen aan de database:

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

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.
CreateIfNotExists (Optioneel) Als deze optie is ingesteld op waar, maakt u de doeldatabase en verzameling wanneer deze nog niet bestaan.

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