2017-06-21 48 views
0

我有一堆存储在Azure的CosmosDB数据库中的JSON文件。我也有一个读取JSON文件的python程序。我想从蟒蛇运行在Azure的查询浏览查询Azure的CosmosDB - 在Python程序中使用查询资源管理器

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 

那么,有没有使用上述查询的方式蟒蛇,所以我只是明白我需要什么?

谢谢。

回答

0

如果查询成功地在查询浏览器在Azure上运行的门户网站,你只需要使用client.QueryDocuments(collection_link, query)方法做你的查询,从here下面的代码。

查询使用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) 

希望它可以帮助执行。任何问题,请随时让我知道。

+0

它的工作原理。谢谢!最大物品数是多少?我没有列入,因为它可能是我不想要的东西。 –

相关问题