使用Javascript从CosmosDB中收集Azure函数查询

使用Javascript从CosmosDB中收集Azure函数查询,javascript,azure,timer,azure-functions,azure-cosmosdb,Javascript,Azure,Timer,Azure Functions,Azure Cosmosdb,背景 我试图在最后一个小时内阅读我从CosmosDB收藏的文件,这些文件存储在我的收藏中 我是如何做到的: module.exports = function (context, myTimer) { var timeStamp = new Date().toISOString(); if(myTimer.isPastDue) { context.log('JavaScript is running late!'); } context.l

背景

我试图在最后一个小时内阅读我从CosmosDB收藏的文件,这些文件存储在我的收藏中

我是如何做到的:

module.exports = function (context, myTimer) {
    var timeStamp = new Date().toISOString();
    if(myTimer.isPastDue)
    {
        context.log('JavaScript is running late!');
    }
    context.log('JavaScript timer trigger function ran!:', timeStamp);   
    var documents = context.bindings.documents;
    for (var i = 0; i < documents.length; i++) {
        var document = documents[i];
        context.log('First document modified : ', document);
    }       
    context.done();
};
为此,我遵循以下步骤:

  • 使用计时器创建新的azure函数(0****)
  • 在输入部分,我创建了与我的collect的连接
  • 我试图从收藏中读取文档,但总是出错
  • 这是我尝试的代码:

    module.exports = function (context, myTimer) {
        var timeStamp = new Date().toISOString();
        if(myTimer.isPastDue)
        {
            context.log('JavaScript is running late!');
        }
        context.log('JavaScript timer trigger function ran!:', timeStamp);   
        var documents = context.bindings.documents;
        for (var i = 0; i < documents.length; i++) {
            var document = documents[i];
            context.log('First document modified : ', document);
        }       
        context.done();
    };
    
    module.exports=函数(上下文,myTimer){
    var timeStamp=new Date().toISOString();
    if(myTimer.isplastdue)
    {
    log('JavaScript运行得很晚!');
    }
    log('JavaScript定时器触发函数run!:',时间戳);
    var documents=context.bindings.documents;
    对于(var i=0;i
    我得到的错误:

    module.exports = function (context, myTimer) {
        var timeStamp = new Date().toISOString();
        if(myTimer.isPastDue)
        {
            context.log('JavaScript is running late!');
        }
        context.log('JavaScript timer trigger function ran!:', timeStamp);   
        var documents = context.bindings.documents;
        for (var i = 0; i < documents.length; i++) {
            var document = documents[i];
            context.log('First document modified : ', document);
        }       
        context.done();
    };
    
    执行函数时出现异常:Functions.CosTriggerJs。Microsoft.Azure.Documents.Client:消息:{“错误”:[{“严重性”:“错误”,“位置”:{“开始”:19,“结束”:20},“代码”:“581010”,“消息”:“语法错误,无效令牌”;“}]}

    我的问题是:

    module.exports = function (context, myTimer) {
        var timeStamp = new Date().toISOString();
        if(myTimer.isPastDue)
        {
            context.log('JavaScript is running late!');
        }
        context.log('JavaScript timer trigger function ran!:', timeStamp);   
        var documents = context.bindings.documents;
        for (var i = 0; i < documents.length; i++) {
            var document = documents[i];
            context.log('First document modified : ', document);
        }       
        context.done();
    };
    

    因为我在互联网上找不到关于这个问题的任何文档,有人能给我提供文档或回答我如何使用计时器编写函数并读取CosmosDB集合。

    我找到了错误的解决方案

    我在Azure门户中添加CosmosDB作为输入时犯了一个错误

    错误在于: 在SQL查询字段中,我在SQL语句的末尾添加了一个(;)。
    删除此(;)可以使每件事都顺利进行。

    能否添加代码以显示您到底尝试了什么?我现在编辑我的帖子。请看一下代码