gpt4 book ai didi

java - 如何使用JAVA从Azure Cosmos DB集合之一获取所有文档?

转载 作者:太空宇宙 更新时间:2023-11-04 09:13:59 26 4
gpt4 key购买 nike

我浏览了文档,有两种方法来获取文档

  1. 使用 Azure 的端点https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs即使我设置了所需的 header token ,我也遇到了一些异常

{ "code": "Forbidden", "message": "Sql api is not supported for this database account\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();
    }

    }

    }

  • 最佳答案

    首先,我不得不说你的第二点示例代码是完全正确的。我测试了它并且可以与 Cosmos DB Sql Api 一起使用。

    enter image description here

    根据错误:

    Sql api is not supported for this database account

    您似乎想使用 SQL API REST API 访问其他类型的 cosmos db 帐户(我猜可能是 mongo api)或 SQL API SDK。这是禁止的,恐怕这就是上述错误的原因。如果您的 Cosmos DB 帐户使用 Mongo API,您应该使用使用 Mongo API 的工具和驱动程序。请引用此案例:Sql api is not supported for this database Error

    关于java - 如何使用JAVA从Azure Cosmos DB集合之一获取所有文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59298309/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com