绑定到函数是一种以声明方式将另一个资源连接到函数的方法;绑定可以作为输入绑定、输出绑定或两者连接。来自绑定的数据作为参数提供给函数。
这是使用 CosmosDB 触发器的 Azure 函数的小示例,当指定的数据库和集合中有插入或更新时调用该触发器。
using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
namespace CosmosDBSamplesV2
{
public static class CosmosTrigger
{
[FunctionName("CosmosTrigger")]
public static void 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}");
log.LogInformation($"First document Id: {documents[0].Id}");
}
}
}
}
这是同一天蓝色函数的绑定信息,用于将参数值传递给函数
function.json 文件中的 Cosmos DB 触发器绑定
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "<connection-app-setting>",
"databaseName": "Tasks",
"collectionName": "Items",
"createLeaseCollectionIfNotExists": true
}
要回答您的问题 ,甚至在构建时/部署时如何解决这个问题”:- 要在本地使用它,我们在 host.json 文件和 local.settings.json 文件中传递相同的绑定信息。
这就是它通过检查参数名称在内部绑定信息的方式。
希望能帮助到你。