我有一個在我的容器中有以下名稱的blob列表在容器中獲取最後一個Azure Blob
例如, 物品1 ITEM2 項目3 item9 item10 item12 item45
我想要得到的第一個和最後一滴,在這種情況下是物品1和item45
但是當我使用cloudblobclient.cloudblobdirectory.listblobs。最後,item9被退回給我,而不是我想要的。從列表中獲得最後一項(45)的最佳方法是什麼?
只能想到在整個列表中運行,然後爲每個項目獲取字符「項目」後的數字,並將該數字與先前的高或低進行比較。由於前4個字符是固定的,我將結合「項目」和higherCnt:
for each blobitem in listblobs
iCurrCnt = numeric(blobitem.uri.absolutepath.substring(4))
if iCurrCnt > iHigherCnt then
iHigherCnt = iCurrCnt
因此那是一滴最後(item45):
strHighestCntFileName = "item" + iHigherCnt
是否有另一種方法做這個?當項目列表增長到數千時,對性能的擔憂。我只對第一個和最後一個感興趣。謝謝!
會是什麼標準,用於判定第一個和最後一滴?它是按照上面例子中的名稱命名還是可以更改?是否可以假定第一個blob是第一個添加的,最後一個blob是最後添加的那個? – 2011-04-07 12:47:18
你可以改變blob的命名方式嗎?使用integer.ToString(「D8」)進行零填充將爲您提供item00000001 item0000002等,然後您可以按字母順序排序以獲得正確的結果http://msdn.microsoft.com/en-us/library/dd260048.aspx – AndyElastacloud 2011-04-07 13:03:05
是的,決定第一個和最後一個blob的標準就像基於單詞「item」之後的數值所示的示例。不需要,可以先添加最後一個blob(例如45),並且可以最後添加第一個blob(例如1)。 – codingnoob 2011-04-07 13:39:25