Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure';在python程序中使用查询资源管理器_Python_Azure_Azure Cosmosdb - Fatal编程技术网

Azure';在python程序中使用查询资源管理器

Azure';在python程序中使用查询资源管理器,python,azure,azure-cosmosdb,Python,Azure,Azure Cosmosdb,我在Azure的CosmosDB数据库中存储了大量JSON文件。我还有一个python程序,可以读取JSON文件。我想从python在Azure的查询资源管理器上运行查询 SELECT VALUE Block FROM c JOIN Block IN c.radar50p01 到目前为止,我在python程序中的内容如下 def getCosmosDBClient(): # Initialize the Python Document

我在Azure的CosmosDB数据库中存储了大量JSON文件。我还有一个python程序,可以读取JSON文件。我想从python在Azure的查询资源管理器上运行查询

    SELECT VALUE Block 
      FROM c 
      JOIN Block IN c.radar50p01
到目前为止,我在python程序中的内容如下

    def getCosmosDBClient():
        # Initialize the Python DocumentDB client
        client = document_client.DocumentClient(Constants.URL, {'masterKey': Constants.KEY})
        return client

    def getCosmosDBColl_link():
        client = getCosmosDBClient()

        db_id = Constants.RADAR_DATABASE_NAME
        db_query = "select * from r where r.id = '{0}'".format(db_id)
        db = list(client.QueryDatabases(db_query))[0]
        db_link = db['_self']

        coll_id = Constants.RADAR_COLL_NAME
        coll_query = "select * from r where r.id = '{0}'".format(coll_id)
        coll = list(client.QueryCollections(db_link, coll_query))
        if coll:
            coll = coll[0]
        else:
            raise ValueError("Collection not found in database.")
        coll_link = coll['_self']

        docs = client.ReadDocuments(coll_link)
        return docs
那么,有没有一种方法可以在python中使用上面的查询,这样我就可以得到我特别需要的东西呢


谢谢。

如果您的查询已在Azure portal上的查询资源管理器中成功运行,您只需使用该方法进行查询,如下面的代码所示

使用SQL执行查询

# Query them in SQL
query = { 'query': 'SELECT * FROM server s' }    

options = {} 
options['enableCrossPartitionQuery'] = True
options['maxItemCount'] = 2

result_iterable = client.QueryDocuments(collection['_self'], query, options)
results = list(result_iterable);

print(results)

希望能有帮助。如有任何问题,请随时通知我。

它可以正常工作。谢谢最大项目数是多少?我没有把它包括在内,因为它可能是我不想要的东西。