Freigeben über


Azure DocumentDB trigger for Azure Functions

Von Bedeutung

Die Azure DocumentDB-Erweiterung befindet sich derzeit in der Vorschau. Derzeit werden nur .NET-Apps unterstützt, die das Legacy-In-Process-Modell verwenden.

Der Azure DocumentDB-Trigger überwacht Änderungsströme auf Einfügungen und Updates in Ihren DocumentDB-Sammlungen. Dieser Artikel erklärt, wie man den Trigger in Azure Functions konfiguriert und verwendet, einschließlich Codebeispielen und Attributparametern, die Ihnen helfen, in Echtzeit auf Datenänderungen zu reagieren.

Der Feed veröffentlicht nur neue und aktualisierte Einträge. Das Achten auf Löschvorgänge mit Änderungsströmen wird derzeit nicht unterstützt.

Voraussetzungen

Examples

Dieses Beispiel zeigt eine Funktion, die durch eine Einfügungs- oder Ersatzoperation in einer Sammlung in Azure DocumentDB ausgelöst wird. Die Funktion protokolliert den Hauptteil des geänderten Dokuments.

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo;
using MongoDB.Bson;
using MongoDB.Driver;

public static class DocumentDBTrigger
{
    [FunctionName(nameof(DocumentDBTrigger))]
    public static void Run(
        [CosmosDBMongoTrigger(databaseName: "<database-name>",
                        collectionName: "<collection-name>",
                        ConnectionStringSetting = "AZURE_DOCUMENTDB_CONNECTION_STRING")]
        ChangeStreamDocument<BsonDocument> change,
        ILogger logger)
    {
        logger.LogInformation("C# Azure DocumentDB trigger function processed a change.");

        logger.LogInformation($"{change.FullDocument}");
    }
}

Attribute

Diese Tabelle beschreibt die Bindungskonfigurationseigenschaften des Attributs CosmosDBMongoTrigger .

Parameter Description
FunctionId (Optional) Die ID der Auslöserfunktion.
DatabaseName Der Name der Datenbank, die vom Trigger für Änderungen überwacht wird. Ein gültiger Wert ist erforderlich, es sei denn TriggerLevel , gesetzt auf MonitorLevel.Cluster. Andernfalls kann ein leerer String bereitgestellt werden.
CollectionName Der Name der Sammlung in der Datenbank, die vom Trigger für Änderungen überwacht wird. Ein gültiger Wert ist erforderlich, es sei denn TriggerLevel , gesetzt auf MonitorLevel.Database oder MonitorLevel.Cluster. Andernfalls kann ein leerer String bereitgestellt werden.
ConnectionStringSetting Der Name einer App-Einstellung oder Einstellungssammlung, die angibt, wie man sich mit dem Azure DocumentDB-Cluster verbindet.
TriggerLevel Gibt das Niveau an, auf dem Änderungen überwacht werden. Gültige Werte von MonitorLevel sind: Collection, Database, und Cluster.

Usage

Verwenden Sie den Parameter TriggerLevel , um den Umfang der überwachten Änderungen festzulegen.

[FunctionName(nameof(DocumentDBTrigger))]
public static void Run(
    [CosmosDBMongoTrigger(databaseName: "",
                    collectionName: "",
                    ConnectionStringSetting = "<name-of-app-setting>",
                    TriggerLevel = MonitorLevel.Cluster)]
    ChangeStreamDocument<BsonDocument> change,
    ILogger logger)
{
    logger.LogInformation("C# Azure DocumentDB trigger function processed a change.");

    logger.LogInformation($"{change.FullDocument}");
}