azure - 在 Azure Functions 中,在代码中运行 Cosmos DB 查询
问题描述
我可以在代码本身中运行 Cosmos DB 查询吗?我现在能做的就是在代码运行(输入)之前运行一个查询。我需要的是首先运行一些代码,然后在 cosmos DB 中获取数据。如何使用 javascript 执行此操作?
解决方案
使用输入绑定时,有一个选项(但仅适用于 C#)来拉入 DocumentClient,您可以使用它来运行任何查询或操作。
如果您的约束在 JavaScript 上运行,您当然可以直接在函数中使用Cosmos DB JS SDK ,而不是像这样使用输入绑定:
const cosmos = require('@azure/cosmos');
const endpoint = process.env.COSMOS_API_URL;
const masterKey = process.env.COSMOS_API_KEY;
const { CosmosClient } = cosmos;
const client = new CosmosClient({ endpoint, auth: { masterKey } });
// All function invocations also reference the same database and container.
const container = client.database("MyDatabaseName").container("MyContainerName");
module.exports = async function (context) {
const querySpec = {
query: "SELECT * FROM Families f WHERE f.lastName = @lastName",
parameters: [
{
name: "@lastName",
value: "Andersen"
}
]
};
const { result: results } = await container.items.query(querySpec).toArray();
context.log(results);
}
COSMOS_API_URL
并且COSMOS_API_KEY
应该是指向 Azure Cosmos 帐户端点和主密钥的环境变量。您可以根据需要用查询替换数据库和容器的名称和修补程序。
推荐阅读
- pandas-datareader - '使用 pandas-datareader 时出错:没有使用 'YahooDailyReader' 获取数据
- html - 在 Cpanel 中安装新字体
- assembly - MIPS 32 显示错误值并重复打印语句
- node.js - 如何在连接范围之外引用 socket.id 或以可以在连接范围之外引用的方式存储它?
- electron - 在具有上下文隔离的渲染器中使用电子保存对话框
- c# - 总偶数数组
- java - 在java中创建类对象而不使用类名方法的替代方法
- javascript - 如何获取数组中唯一值的*索引*
- ethereum - 从零地址发送交易
- javascript - Angular Uncaught (in promise): ChunkLoadError: Loading chunk XXXfailed