Question:
Write an Azure function that is invoked when there are inserts or updates in the Items collection of ToDoItems database for Cosmos DB.
[FunctionName("CosmosTrigger")]
public static async Task<IActionResult> Run(
/* Triggers and Bindings here */
ILogger log)
{
// TODO: List modified documents
}
Answer:
[FunctionName("CosmosTrigger")]
public static async Task<IActionResult> Run(
[CosmosDBTrigger(databaseName: "ToDoItems", collectionName: "Items", ConnectionStringSetting = "CosmosDBConnection",LeaseCollectionName = "leases", CreateLeaseCollectionIfNotExists = true)]
IReadOnlyList<Document> documents,
ILogger log)
{
if (documents != null && documents.Count > 0)
{
log.LogInformation($"Documents modified: {documents.Count}");
for (var i = 0; i < documents.Count; i++)
log.LogInformation($"First document Id: {documents[0].Id}");
}
}