我浏览了文档,有两种获取文档的方法
{ “ code”:“禁止”, “消息”:“此数据库帐户不支持Sql API \ r \ nActivityId:fc5ec296-b7a1- 44df-9c69-42e804177242,Microsoft.Azure.Documents.Common / 2.7.0“ }
使用SDK 通过SDK我也得到相同的上述异常,以下是我使用的Java代码 用于获取文档
public class App {
private static final String END_POINT = "https://***.documents.azure.com/";
private static final String MASTER_KEY = "***";
// Define an id for your database and collection
private static final String DATABASE_ID = "iotdata";
private static final String COLLECTION_ID = "details";
public static void main(String[] args) {
DocumentClient documentClient = new DocumentClient(END_POINT, MASTER_KEY, new ConnectionPolicy(),
ConsistencyLevel.Session);
System.out.println("Check if database " + DATABASE_ID + " exists.");
String databaseLink = String.format("/dbs/%s", DATABASE_ID);
try {
ResourceResponse<Database> readDatabase = documentClient.readDatabase(databaseLink, null);
if (readDatabase.getStatusCode() == 200) {
System.out.println("Connection Established");
}
FeedResponse<Document> queryResults = documentClient.queryDocuments("/dbs/iotdata/colls/details",
"SELECT * FROM details WHERE mac_address = '28:b2:bd:01:d0:94'", null);
System.out.println("Running SQL query...");
for (Document family : queryResults.getQueryIterable()) {
System.out.println(String.format("\tRead %s", family));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
首先,我不得不说第二点的示例代码是完全正确的。我对其进行了测试并与Cosmos DB Sql Api一起使用。
根据错误:
此数据库帐户不支持Sql API
似乎您想使用SQL API REST API或SQL API SDK访问其他类型的cosmos db帐户(我猜可能是mongo api)。禁止这样做,恐怕就是上述错误的原因。如果您的Cosmos数据库帐户使用的是Mongo API,则应该使用使用Mongo API的工具和驱动程序。请参考这种情况:Sql api is not supported for this database Error