是否可以在 Cosmos DB 输入绑定中将动态参数与 SqlQuery 一起使用

问题描述 投票:0回答:1

是否可以将参数传递给 SQLQuery 如果可以,如何传递。

public async Task<string> SomeFunction
    ([ActivityTrigger] string input,
    [CosmosDBInput(
    databaseName:"dbname",
    containerName:"containername",
    SqlQuery = "SELECT * FROM c WHERE c.prop = {para} or "@para",
    Connection = "DBConnection"
    )]
    List<someobject> pages,
    FunctionContext executionContext){}
azure-cosmosdb azure-cosmosdb-sqlapi
1个回答
0
投票

这个问题与 Azure Functions 绑定表达式更相关。

是的,您可以让查询动态地根据触发器注入值。查询中使用的绑定表达式应与触发器对象上的属性匹配。

在你的情况下,你有

[ActivityTrigger] string input
,这是一个
string
。您似乎无法访问该
input
的任何属性以在查询中绑定?

例如,使用

HTTPTrigger
,您可以执行以下操作:

[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "MyAPI/{deviceId}")] HttpRequest req,
[CosmosDB(
    databaseName: "myDb",
    containerName: "myContainer",
    SqlQuery = "SELECT TOP 20 * FROM c WHERE c.deviceId = {deviceId}",
    Connection= "DBConnection"
    )] IEnumerable<someobject> items
© www.soinside.com 2019 - 2024. All rights reserved.