Поскольку вы сказали, что используете azure http триггер с вводом cosmos db, в моем знании не существует такого механизма DAO
, как пружинная загрузка с параметром строки запроса в вводе cosmos db.
Однако на основе примера , предоставленного во входном документе Azure Функция Cosmos Db, он поддерживает использование пользовательского класса объектов для сопоставления результата запроса с sql. Пожалуйста, обратитесь к моему тесту:
Пример данных в космосе, дБ:
Azure Код функции:
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Collections.Generic;
namespace CosmosTriggerCore
{
public static class Function1
{
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
[CosmosDB(
databaseName: "db",
collectionName: "coll",
ConnectionStringSetting = "cosmosdbstring",
SqlQuery = "SELECT top 2 * FROM c")]
IEnumerable<TestDoc> testDocItems,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
foreach (TestDoc doc in testDocItems)
{
log.LogInformation(doc.Id);
log.LogInformation(doc.Name);
}
return new OkResult();
}
}
public class TestDoc
{
public string Id { get; set; }
public string Name { get; set; }
}
}
Я использовал TestDoc
Класс, чтобы принять результат запроса, и я могу получить доступ к свойствам в коде.