使用逻辑应用程序从 Azure Table 存储中获取值

Get a value from Azure Table Storage with Logic App

我是逻辑应用程序的新手,请多多包涵。我只是想在 Azure Table 存储中执行一个简单的查找,并获取一个我可以存储在逻辑应用程序变量中的值。这是我的 Table 存储空间的样子:

我的 RowKey 是唯一的,将成为我的查找值。所以基于一个 RowKey 值,我想得到 UTCOffset 值并将它存储在一个变量中。

这是我目前尝试过的方法:

我想获取返回值“13.00”并将其存储在一个变量中以供进一步处理。我知道很简单,但我就是无法理解它。

您只需在“初始化变量”操作中使用如下表达式: 整个表达式为:

body('Get_entities')?['value'][0]?['UTCOFFSET']

请注意大小写UTCOFFSET,在您的逻辑中您可能需要使用UTCoffset

您似乎将“Get entities”操作的名称从“Get entities”更改为“” get entities-UTC",所以还需要在表达式中修改其名称,如下所示:

body('Get_entities-UTC')?['value'][0]?['UTCoffset']

希望对你有帮助~

稍晚,但如果您只想查找单个实体,则可以使用“获取实体”步骤,该步骤只会 return 单个实体,从而减少对数组操作的需要。

请注意,在 Table 存储中,您的唯一 ID 是分区键和行键的组合 - 在上面的示例中:New Zealand01。如果您也能够传递分区键,您将获得更好的性能。

然后您可以使用“解析 JSON”步骤来定义记录的架构,并在后续步骤中提供不同的字段,而无需求助于函数:

您可以使用“使用示例负载”link 自动生成模式,或使用类似的东西:

{
    "properties": {
        "PartitionKey": {
            "type": "string"
        },
        "RowKey": {
            "type": "string"
        },
        "Timestamp": {
            "type": "string"
        },
        "UTCOffset": {
            "type": "string" // or number
        },
        "odata.etag": {
            "type": "string"
        },
        "odata.metadata": {
            "type": "string"
        }
    },
    "type": "object"
}

或者,您可以使用 Parse JSON 步骤来处理由 Get Entities 步骤 return 编辑的数组,并拥有一组强类型的对象,Logic Apps 可以让您循环访问这些对象。