Я работаю с Azure Функция и мне нужно добавить «Имя коллекции» в атрибуте cosmosdbtrigger, но там нет никакой опции для создания какой-либо коллекции, я могу только создавать контейнеры и, следовательно, во время выполнения кода в локальном хранилище это вызывает ошибку:
Не удалось запустить прослушиватель для функции 'Function1'. [15-04-2020 22:39:01] Не удалось запустить прослушиватель для функции «Function1». Microsoft. Azure .WebJobs.Extensions.CosmosDB: Либо исходная коллекция 'driverLocation' (в базе данных 'pizza'), либо коллекция аренды 'аренды' (в базе данных 'pizza') не существует. Обе коллекции должны существовать до запуска слушателя. Чтобы автоматически создать коллекцию аренды, установите для «CreateLeaseCollectionIfNotExists» значение «true». Microsoft. Azure .DocumentDB.Core: Сообщение: {"Ошибки": ["Ресурс не найден"]}
Ниже приведен стандартный код, который я использую, я создал базу данных и коллекция в эмуляторе dos космоса
public static class Function1
{
[FunctionName("Function1")]
public static void Run([CosmosDBTrigger(
databaseName: "pizza",
collectionName: "driverLocation",
ConnectionStringSetting = "pizzaConnection")] IReadOnlyList<Document> input,
ILogger log)
{
if (input != null && input.Count > 0)
{
log.LogInformation("Documents modified " + input.Count);
log.LogInformation("First document Id " + input[0].Id);
}
}
}
Ниже мои local.settings. json file
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"pizzaConnection": "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "http://localhost:3872",
"CORSCredentials": true
}
}