簡體   English   中英

Azure Blob租賃和發布

[英]Azure Blob Lease and release

string uri = "myurl";
string blobstatus = GetBlobStatus(uri);
if (blobstatus != LeaseStatus.Locked.ToString())
{
    string response = AquireBlob(uri);
    //process data.
    string abc = ":em";
    ReleaseBlob(response, uri);
}

以上是我對租賃和BLOB釋放鎖碼。 我看這種方法用於多實例工作者的角色,我想運行之后的特定代碼x的時間間隔,為多個實例可以在同一時間執行代碼。

問題是,我管理,以獲得LeaseId正常,但在二審檢查BLOB出租狀態始終是不確定的。 為什么會這樣呢? 有什么線索嗎?

我也跟着下面的鏈接,搶得先機。

使用存儲客戶端庫租賃Windows Azure Blob-blog.smarx.com

我認為您的方法不應首先依賴於檢查Blob狀態,並以此為基礎來決定是否獲取租賃。 您應該始終嘗試獲取租約並捕獲該過程中引發的異常。 這樣,如果此代碼在多實例環境中運行,則只有一個實例將能夠獲得租約(其他實例只會拋出錯誤)。

好建議..我解決了這個問題。 發現事實上LeaseStatus屬性不好,並且永遠不會返回結果。 我必須通過輸入Web請求來獲取狀態,然后才能獲得正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM