当前位置: 首页 > 知识库问答 >
问题:

在v2 Azure函数中使用带有partitionKey和rowKey筛选器的CloudTable绑定到表存储

凌翔宇
2023-03-14

我正在使用Azure函数V2(.NET core 2.1)这篇文章解释了在V2 Azure函数中绑定表存储

但我想要的是提供过滤器条件以及[Table]属性。

例如,在下面的示例中,我希望只获取“partitionKey”为{partitionKey}且RowKey为{RowKey}的记录,其中{partitionKey}和{RowKey}属于路由。

[FunctionName("Function2")]
    public static async Task<IActionResult> GetPerson(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "api/person/{partitionKey}/{rowKey}")] HttpRequest req
            , string partitionKey
            , string rowKey
            , ILogger log
            , [Table("Test", "{partitionKey}",{rowKey} , Connection = "MyConnection")]CloudTable cloudTable
            )
    {
       //I am expecting only records with specified partitionKey and rowKey but its fetching all records like 'select * from Test' 
       var querySegment = cloudTable.ExecuteQuerySegmentedAsync(new TableQuery<MyEntity>(), null);
        foreach (var item in querySegment.Result)
        {
            log.LogInformation($"{item.PartitionKey} - {item.RowKey} - {item.Name}");
        }

应为:CloudTable应仅包含具有指定partitionKey和rowKey的一行实际CloudTable包含所有记录

我正在寻找类似于cosmosdb绑定的东西

[FunctionName("TestFunction")]
    public static async Task Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "regos/{queryStringParameter}")]
        [CosmosDB(
            databaseName: "MyDb",
            collectionName: "Table",
            CreateIfNotExists = true,
            ConnectionStringSetting = "CosmosDBConnectionString",                
            SqlQuery = "SELECT * FROM Table t where t.Col = {queryStringParameter}")]
            IEnumerable<dynamic> list,

上面的代码在Azure FunctionsV2中非常适用

有什么线索吗?

共有1个答案

陈哲
2023-03-14

尝试链接中提到的建议

了解有关表存储输入绑定支持的更多信息

null

[FunctionName("TestFunction")]
public static async Task Run(
    [QueueTrigger("test-queue")] string message,
    [Table("testTable")] CloudTable testTable)
{
    var querySegment = testTable.ExecuteQuerySegmentedAsync(new TableQuery<ResultEntity>(), null);
    foreach (ResultEntity item in querySegment.Result)
    {
        // Access table storage items here
    }
}
 类似资料:
  • “{”error“:{”root_case“:[{”type“:”parsing_exception“,”reason“:”[match_all]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]“,”line“:”line“:1,”col“:26}”,“status”:400}“,”type“:”parsing_exception“,”reason“:”[match_al

  • 我创建了一个自定义筛选器,用于获取令牌,然后用与令牌相关的角色填充身份验证对象 然后,我将该过滤器添加到springsecuritycontext中,如下所示: 应用程序已经存在,我只是尝试添加Spring Security层。Spring Security版本为4.2.3。在尝试实现此功能的几天后,不会加载,因此不会筛选任何请求。请帮帮忙。

  • org.apache.hadoop.hbase.client.rpCretryingCaller@459C8C0a,java.io.ioException:java.io.ioException:java.lang.reflect.invocationTargetException at org.apache.hadoop.hbase.protobuf.to Filter(Protobufutil

  • 首先,我试图使选择所有复选框,如果我单击表头中的选择所有复选框,整个表行将选择并显示一个复选框反向消息,即我选择了多少复选框。这里的问题是,如果我单击select all复选框,反向消息不会显示楼上的表,即我选择了多少行。 其次,如果我从任何列中筛选任何数字,相同的数字将显示同一列中有多少行具有相同的数字。如果我选中了所有复选框,那么反向消息将显示我选中了多少行复选框。这里,问题是显示整个表行计数

  • 我有一个带有servicebus触发器和blob输入绑定的python函数。blob的名称与队列消息的内容匹配。我的function.json文件如下所示: 它就像一种魅力。 Id创建一个具有相同绑定的C#函数,但它似乎不起作用。我使用了相同的文件。

  • 我已经定义了一个Azure函数,它使用Azure存储队列触发器和Blob输入绑定。我已经为队列触发器准备了一个POCO,但是如何在blob输入绑定中将该POCO与绑定表达式一起使用呢? 建筑: Azure功能2。x POCO: Azure功能: 队列消息: 错误消息: 系统私有的CoreLib:执行函数profileImageUpload时发生异常。微软蔚蓝色的WebJobs。主机:异常绑定参数“