Очень простой вопрос.У меня есть следующая функция в моем файле index.js.
const databaseId = config.database.id;
const collectionId = config.collection.id;
const client = new CosmosClient({ endpoint: CosmosDBName, auth: { masterKey: CosmosDBKey } });
const query = `SELECT c.message.id FROM ${collectionId} c WHERE c.message.timestampFormatted > '${start}' AND c.message.timestampFormatted < '${end}'`;
queryCosmosDB(client, databaseId, collectionId, query)
async function queryCosmosDB(client, databaseId, collectionId, query, context) {
const querySpec = {
query: query,
parameters: []
};
const { result: results } = await client.database(databaseId).container(collectionId).items.query(querySpec).toArray();
for (var queryResult of results) {
let resultString = JSON.stringify(queryResult);
context.log(`\tQuery returned ${resultString}\n`);
}
}
Если я выполню эту функцию, ответом будет следующая ошибка (я опустил некоторую бесполезную информацию)
ERROR: {"code":400,"body":"{\"code\":\"BadRequest\",\"message\":\"Cross partition query is required but disabled. Please set x-ms-documentdb-query-enablecrosspartition to true, specify x-ms-documentdb-partitionkey, or revise your query to avoid this exception. ...}
Теперь,Я получаю схему разделов, которую использует CosmosDB, но в моем случае, что было бы лучше всего сделать?Должен ли я как-то изменить запрос, и если да, то как?Если мне нужно вставить какую-нибудь строку запроса с несколькими разделами, как мне это сделать?
Единственный другой вопрос, который я нашел относительно этого, это вопрос этого SO , но я не управляю даннымион делает, так как я думаю, что SDK сильно изменился с полтора года назад.В настоящее время я использую этот учебник в качестве базового уровня.
Заранее большое спасибо за помощь!