使用参数化的SQL查询将参数从Logic应用程序传递到CosmosDB存储过程

时间:2019-04-18 12:53:32

标签: stored-procedures azure-cosmosdb azure-logic-apps sql-parametrized-query

对不起,我无法发布图片,因为这是我的第一篇帖子。

我正在尝试使用某些参数从Logic App调用CosmosDB中的存储过程,以便能够检索满足查询要求的文档数。

“我想执行的查询示例:“ SELECT * FROM c where c.Time_Stamp time1 AND time2 BETWEEN”

我试图在Data Explorer中测试我的存储过程。这就是我在做什么。

// SAMPLE STORED PROCEDURE
function sample(input) {
var context = getContext();
var collection = getContext().getCollection();
var response = context.getResponse();
//var inputtf = JSON.parse(input).id;
var filterQuery = "SELECT * FROM c where c.id = "+ input ;
console.log(filterQuery);
// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
    collection.getSelfLink(),
    filterQuery,
function (err, feed, options) {
    if (err) throw err;
response.setBody(JSON.stringify(feed));
});
if (!isAccepted) throw new Error('The query was not accepted by the server.');

}

作为我的输入内容
https://imgur.com/a/54yK3Yb

我得到一个结果:“ SELECT * FROM c where c.id = 220”

所以我可以看到我的查询能够在其中获取参数。

问题是该查询没有任何结果(结果为“ []”)

这是我要查询的文档: https://imgur.com/a/05In6k6

https://imgur.com/a/GyYPF6A

这就是我将首先发送到存储过程的有效负载。下一步是在UTC中添加开始时间和结束时间参数。

作为最终目标,我想在Logic App中的输出中找到满足查询条件的文档数量。

0 个答案:

没有答案