【问题标题】:Azure Storage Table Query - result vs responseAzure 存储表查询 - 结果与响应
【发布时间】:2016-02-23 13:34:23
【问题描述】:

我使用 node.js 作为我的服务器,并且在我的存储表所在的 Azure 上有一个帐户。我正在使用以下命令检索特定分区的所有记录:

var query= new azure.TableQuery().where('PartitionKey eq ?',username);
tableSvc.queryEntities(localTableName,query, null, function(error, result, response) {

}

当此调用返回时,我想访问 table 的其余字段的值。但是当我使用 result.entries 执行此操作时,它看起来有点奇怪。或者,我认为我可以通过 response.body.value.userID 访问结果。

“result.entries”与“response”对象的结构如下所示:

    result.entries :
    [ { PartitionKey: { '$': 'Edm.String', _: '048tfbne' },
        RowKey: { '$': 'Edm.String', _: '145610564488450166' },
        Timestamp: 
               { '$': 'Edm.DateTime',
                   _: Mon Feb 22 2016 01:47:26 GMT+0000 (UTC) },
        username: { _: '048tfbne' },
        userID: { _: '145610564488450166' },
        deleteAfter: { _: 'not set yet' },
        '.metadata': { etag: 'W/"datetime\'2016-02-22T01%3A47%3A26.4394133Z\'"' } } ]

    response : 
    { isSuccessful: true,
        statusCode: 200,
              body: 
                { 'odata.metadata': 'https://photoshareuserdata.table.core.windows.net/$metadata#userIdentifier',
                value: 
                    [ { 'odata.etag': 'W/"datetime\'2016-02-22T01%3A47%3A26.4394133Z\'"',
                        PartitionKey: '048tfbne',
                        RowKey: '145610564488450166',
                        Timestamp: '2016-02-22T01:47:26.4394133Z',
                        username: '048tfbne',
                        userID: '145610564488450166',
                        deleteAfter: 'not set yet' } ] },

我认为 results.entries 是访问记录的更好方法,但我对这里的嵌套对象和 Edm.String 有点奇怪。

访问记录的更好方法是什么?

【问题讨论】:

    标签: node.js azure azure-storage


    【解决方案1】:

    Table Node Sample 展示了如何通过查询访问表中的实体。参见方法“runPageQuery”。

    【讨论】:

    • 谢谢!看起来很有希望,我会尝试并报告。
    • 谢谢!这正是我所需要的。
    【解决方案2】:

    其实按照官方Section: Query a set of entities的说法,有这么一段话:

    如果成功,result.entries 将包含与查询匹配的实体数组。如果查询无法返回所有实体,result.continuationToken 将不为空,可以作为 queryEntities 的第三个参数来检索更多结果。

    我们也可以参考 GitHub 上 Azure-storage-for-node 存储库中的 sample。这告诉了我们答案。

    【讨论】:

    • 谢谢加里。文档看起来不错,我已经更改了我的代码。等我回来尝试一下,我会更新。
    猜你喜欢
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多