java - 从 Cosmosdb 获取文档 Java 跨分区查询是必需的,但已禁用
问题描述
public static Document getDocumentById(String id) {
FeedOptions queryOptions = new FeedOptions();
queryOptions.setMaxItemCount(10);
queryOptions.setEnableCrossPartitionQuery(true);
// Retrieve the document using the DocumentClient.
List<Document> documentList = documentClient
.queryDocuments(getTodoCollection().getSelfLink(),
"SELECT * FROM c WHERE c.id='" + id + "'",null,queryOptions)
.getQueryIterable().toList();
if (documentList.size() > 0) {
return documentList.get(0);
} else {
return null;
}
您好,我正在尝试使用上面的代码使用 Java 从 Cosmosdb 检索文档获得一些帮助。我收到以下错误:
警告:不会重试操作。例外:需要跨分区查询但已禁用。请将 x-ms-documentdb-query-enablecrosspartition 设置为 true,指定 x-ms-documentdb-partitionkey,或修改您的查询以避免此异常。ActivityId:09c62e77-f9dc-4cc7-902d-0cd8c5cad8a6,Microsoft.Azure.Documents.Common/2.2.0.0
您可以为我提供的任何帮助将不胜感激!谢谢
解决方案
从Document DB Java SDK API Document搜索queryDocuments
方法重载,它似乎与您的示例代码有点不同。我想你设置了错误的参数顺序。请使用下面的代码,它对我有用。FeedOptions
import com.microsoft.azure.documentdb.*;
import java.util.List;
public class QueryDocumentsTest {
static private String YOUR_COSMOS_DB_ENDPOINT = "https://***.documents.azure.com:443/";
static private String YOUR_COSMOS_DB_MASTER_KEY="***";
public static void main(String[] args) {
DocumentClient client = new DocumentClient(
YOUR_COSMOS_DB_ENDPOINT,
YOUR_COSMOS_DB_MASTER_KEY,
new ConnectionPolicy(),
ConsistencyLevel.Session);
FeedOptions queryOptions = new FeedOptions();
// queryOptions.setMaxItemCount(10);
queryOptions.setEnableCrossPartitionQuery(true);
String id = "b01cf483-15e0-517c-deae-2e71bafe7d12";
// Retrieve the document using the DocumentClient.
List<Document> documentList = client
.queryDocuments("dbs/db/colls/part",
"SELECT * FROM c WHERE c.id='" + id + "'",queryOptions)
.getQueryIterable().toList();
if (documentList.size() > 0) {
System.out.println(documentList.get(0));
} else {
System.out.println("null");
}
}
}
输出:
推荐阅读
- javascript - Eslint 在 for..of 循环中解构时抛出“no-undef”
- python - 如何在 python opencv 上读取图像的 rgb 或 hsv 值
- java - 需要编写Java转换器
- java - Java中的JSON从字符串到字符串数组的映射
- html - 如何让外部 div 不会导致内部 div 的换行
- php - 表单提交后的令牌会话为空
- javascript - 设置 epub.js
- javascript - 保存一个项目的点击计数每个项目被点击 js 意外的令牌
- git - What git add -A -- . mean
- elasticsearch - Elasticsearch:在 query_string 中使用字段分析器