Привязка к функции - это способ декларативного подключения другого ресурса к функции;привязки могут быть связаны как входные привязки, выходные привязки или оба.Данные из привязок передаются в функцию в качестве параметров.
Вот небольшой пример функции Azure с использованием триггера CosmosDB, который вызывается при наличии вставок или обновлений в указанной базе данных и коллекции.
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}");
}
}
}
}
и здесь приведена информация о привязке той же функции Azure, которая используется для передачи значения параметра в функцию
Привязка триггера Cosmos DB в function.jsonfile
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "<connection-app-setting>",
"databaseName": "Tasks",
"collectionName": "Items",
"createLeaseCollectionIfNotExists": true
}
Чтобы ответить на ваш вопрос , как это решается во время сборки / развертывания ": - Чтобы использовать его локально, мы передаем ту же информацию привязки в файле host.json иФайл local.settings.json.
Вот как он связывает информацию внутренне, проверяя имя параметра.
Надеюсь, это поможет.