2017-07-25 55 views
2

我一直在努力刪除Java中的Azure表中的所有行。我可以不查詢它嗎? 在此先感謝如何刪除Azure表中的所有實體?

+0

刪除並重新創建? – 4c74356b41

+0

沒有..只刪除所有的行。 –

+0

目前,我們無法刪除條目,而無需從Azure表存儲中指定PK和RK。我知道你爲什麼不想刪除表格。如果表被刪除,我們需要重新創建表的SAS並分派給所有的客戶端。如果您知道計算PK/RK的模式,則可以使用算法生成PK/RK對,並使用[TableBatchOperation](https://docs.microsoft.com/zh-cn/dotnet/api/)刪除行microsoft.windowsazure.storage.table.tablebatchoperation?redirectedfrom = MSDN&view = azurestorage-8.1.3),它允許我們一次執行多個操作。 – Amor

回答

2

如果我檢索所有的數據,我可以執行刪除查詢嗎?

如果你只是想刪除數據,你只需要檢索PK和RK。在檢索到PK和RK的所有數據之後,可以逐個執行對實體的刪除查詢。

對於複雜的刪除查詢,例如,當前不支持下面的查詢。

delete from tablename where PK = '' 

我建議您在Azure反饋網站上提交您的想法用於功能請求。

https://feedback.azure.com/forums/217298-storage

+0

謝謝你的回覆。我嘗試使用 檢索所有實體。Iterable entities = cloudTable.execute(new TableQuery ()); 但它沒有奏效。錯誤是 - 參數不能爲空或空字符串 –

+0

要檢索所有實體,請使用以下代碼。 Iterable entities = cloudTable.execute(TableQuery.from(DynamicTableEntity.class)); – Amor

+0

它的工作..謝謝你:) –

1

如果你不想查詢表,你可以做的是刪除表並重新創建它。

+0

我試過這個,它很成功。但刪除表格可能會影響同時插入數據。所以我檢索了所有實體並執行了刪除批處理操作。 –