2017-10-15 139 views
1

我可以在Azure上使用HTTP trigger in FunctionsApp使用HTTP trigger in FunctionsApp獲得文檔響應,就像rest API一樣但是,我無法刪除文檔。Azure Cosmos數據庫功能 - 刪除文檔

我選擇DELETE作爲選中的'HTTP methods'但我不清楚下一步該怎麼做。 在輸入參數中,當我在SQL Query (optional) textbox中編寫'Delete from mydocument'時,它不起作用。 也許我需要更改'run.csx'代碼,但是如何?

任何線索?

enter image description hereenter image description hereenter image description here

+0

的https://stackoverflow.com/questions/46505301/delete-document-in-cosmosdb-through-azure-function – Mikhail

回答

1

相信「SQL查詢」部分是輸入的「發現」,你想用的文件結合。這取決於你想如何繼續,這仍然可能是有用的。如果需要,您仍然可以使用HTTP Delete觸發器,但只是「說」其DELETE謂詞不會自動執行刪除操作。相反,這意味着只有在將其指定爲DELETE操作時才能「調用」函數。

我以前通過直接綁定到DocumentClient本身刪除了文檔,並以編程方式刪除了Document。

[FunctionName("DeleteDocument")] 
    public static async Task Run(
     [TimerTrigger("00:01", RunOnStartup = true)] TimerInfo timer, 
     [DocumentDB] DocumentClient client, 
     TraceWriter log) 
    { 
     var collectionUri = UriFactory.CreateDocumentCollectionUri("ItemDb", "ItemCollection"); 
     var documents = client.CreateDocumentQuery(collectionUri); 

     foreach (Document d in documents) 
     { 
      await client.DeleteDocumentAsync(d.SelfLink); 
     } 
    } 

DocumentDBSamples

+0

重複謝謝您的回答。我今天要看看你的方法。 – MareCieco

+0

這不適用於分區集合。 –

相關問題