Dela via


Utdatabindning för Azure Cosmos DB for MongoDB (vCore) för Azure Functions

Den här artikeln beskriver hur du arbetar med azure Cosmos DB for MongoDB vCore-utdatabindningen i Azure Functions.

Med utdatabindningen Azure Cosmos DB for MongoDB (vCore) kan du skriva ett nytt dokument till en Azure Cosmos DB for MongoDB-samling (vCore).

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 CosmosDBMongoCollector för att lägga till ett objekt i databasen:

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

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.
CreateIfNotExists (Valfritt) När värdet är true skapar du måldatabasen och samlingen när de inte redan finns.

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