![](/img/trans.png)
[英]How to do a PUT or DELETE for Azure Table Storage in NodeJS?
[英]Delete a very large number of entries in Azure Table Storage
這是我的設置:
我在Azure中運行Node.js Web應用程序,該應用程序使用Azure表存儲(非SQL)。 要使用表存儲,我正在使用azure-storage npm模塊。
我正在嘗試做什么:
所以我有一個跟蹤設備事件的系統。 在存儲中我將PartitionKey設置為deviceId,我將RowKey設置為eventId。
添加事件是直截了當的; 在它們發生時一次添加一個。
使用查詢結構可以輕松檢索它們。
但是,刪除大量條目似乎很痛苦。 看來您一次只能刪除一個實體。 似乎沒有基於查詢的實現。
可以選擇使用批處理來創建大批刪除操作; 但我剛發現每批操作上限為100次。
所以我試圖刪除單個設備的所有事件; 在我目前的情況下,我有大約5000個事件。 所以要實現這一點,我首先要用GET請求查詢我的所有事件(並使用延續令牌連接它們),然后將它們分成100個批次,然后發送50個大請求以刪除所有條目...
SQL中的相同內容是DELETE * WHERE deviceId ='xxxxxxxx'
當然必須有比這更好的方法!
SQL中的相同內容是DELETE * WHERE deviceId ='xxxxxxxx'
當然必須有比這更好的方法!
可悲的是,沒有:)。 您必須根據您的要求獲取實體,然后刪除它們(批量或單獨)。
但是,您可以通過僅從表中提取PartitionKey
和RowKey
而不是所有屬性來優化提取過程,因為您只需要這兩個屬性來刪除實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.