2017-06-21 78 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

它的工作原理。謝謝!最大物品數是多少?我沒有列入,因爲它可能是我不想要的東西。 –

相關問題