{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */10 * * * *"
},
{
"name": "DocumentInput",
"type": "cosmosDB",
"databaseName": "MyDB1",
"collectionName": "MyCC1",
"sqlQuery": "SELECT * FROM c",
"partitionKey": "/key",
"connectionStringSetting": "CosmosDBConnectionExp",
"direction": "in"
},
{
"name": "DocumentOutput",
"type": "cosmosDB",
"databaseName": "MyDB1",
"collectionName": "MyCC1",
"createIfNotExists": false,
"partitionKey": "/key",
"connectionStringSetting": "CosmosDBConnectionExp",
"direction": "out"
}
]
}
const PushDataChanges = async (context) => {
var cosmosOutput = context.bindings.DocumentOutput;
var cosmosInput = context.bindings.DocumentInput;
cosmosOutput = cosmosInput;
for(var i = 0; i < cosmosOutput.length; i++) {
var document = cosmosOutput[i];
var docid = cosmosOutput[i].id;
var now = new Date().toISOString();
document.id = docid; //Making sure the id key is same so upsert or update happens.
document.experiment.lastProcessedTime = "now";
document.experiment.updateStatus = "This is now updated";
}
context.done();
}
module.exports = function (context, Timer) {
context.log('Starting Delta Data Extraction and Sentiment Analysis');
PushDataChanges(context);
};
这就是我在经历了大量的尝试和错误后终于成功的东西!用于Azure函数的cosmos绑定文档非常少。我花了很多时间从文档中的示例中推断出如何只更新一个文档。下面的代码给出了使用Java脚本通过Azure函数为多个cosmos DB文档更新/upsert的方法。
功能代码:
const PushDataChanges = async (context) => {
var inputdoc = context.bindings.DocumentInput;
for(var i = 0; i < inputdoc.length; i++) {
console.log(inputdoc.length);
var now2 = new Date().toISOString();
inputdoc[i].experiment.updateStatus = "This is updated now";
inputdoc[i].experiment.lastProcessedTime = now2;
context.bindings.DocumentOutput = inputdoc;
}
context.done;
}
module.exports = function (context, Timer) {
context.log('Starting the Azure Function');
PushDataChanges(context);
context.done();
};
下面是我的绑定:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 */8 * * *"
},
{
"type": "cosmosDB",
"name": "DocumentInput",
"databaseName": "gsk-next-internal-datastore",
"collectionName": "experiment",
"sqlQuery": "SELECT * FROM c",
"connectionStringSetting": "CosmosDBConnectionExp",
"direction": "in"
},
{
"type": "cosmosDB",
"name": "DocumentOutput",
"databaseName": "gsk-next-internal-datastore",
"collectionName": "experiment",
"createIfNotExists": false,
"connectionStringSetting": "CosmosDBConnectionExp",
"direction": "out"
}
]
}
当他们在CosmosDB上创建时,我需要用其他文档(type2)的数据更新一些文档(type1)。我决定使用javascript Azure函数和cosmosDBTrigger,无服务器Azure选项。我在绑定表达式来配置functions.json以获取与触发函数的doc-type2相关联的doc-type1时遇到了问题。任何帮助都可能是巨大的。 CosmosDB doc-type1: Cosm
我将数据存储到cosmos DB,如下所示,我想获得每个索引的最新数据。索引的数量是可变的,至少为10个。 (简化文档) 目前,我正在查询索引的数量并显示每个索引的结果。 (仅
我正在编写一些代码,使用Cosmos作为我的存储来实现事件源。我的初始文档成功写入集合。然后,我设置了一个Azure函数,该函数在该集合的提要发生变化时触发,并将项目复制到另一个集合。 我的问题是,虽然如果我在本地调试函数应用程序,这一切都可以正常工作(更改通过并无问题地处理),但函数在作为函数应用程序发布后不会触发。该函数存在,但总执行计数始终为0。就像该函数没有在计时器上运行并检查提要。我的函
我在数据库中有一个集合“documentDev ”,其切分关键字为“dNumber”样本文档: 如果我尝试使用任何查询工具更新这个文档,比如- 它会正确更新文档。但是如果我确实使用了Spring boot的mongorepository命令,如DocumentRepo.save(Object),它会引发异常 由以下原因引起:com.mongodb.MongoCommandException:命令失
因此function.json如下所示: javascript中的http触发器在函数中的作用如下:,但是绑定到输入会导致错误,“property not defined”,那么如何在同一个函数中使用http触发器输入从json数据包中获取一个值来查询第一个输入中的cosmos db呢?
我们试图在我们的一个项目中使用Azure Cosmos DB。基本上,我们会将GROUP BY和ORDER BY子句一起广泛地进行查询。 然而,COSMOS DB索引并未得到有效使用。查询统计数据显示1000 RU/s消耗。 由于我是COSMOS DB的初学者,我不确定行为是否通常。 有人能帮助减少RU/s吗? 查询1 查询 2