Microsoft Azure - 佇列



在開發人員常用的語言中,佇列是一種用於儲存資料的結構,它遵循先進先出規則。資料項可以從佇列的後端插入,而從前端檢索。Azure 佇列是一個非常相似的概念,用於在佇列中儲存訊息。傳送者傳送訊息,客戶端接收並處理它們。訊息有一些附加的屬性,例如過期時間。

客戶端通常處理並刪除訊息。Windows Azure 服務允許訊息儲存 7 天,如果客戶端未刪除,則 7 天后會自動刪除。可以有一個傳送者和一個客戶端,或一個傳送者和多個客戶端,或多個傳送者和多個客戶端。

Windows Azure 提供兩種訊息佇列服務。本章介紹 Windows Azure 佇列。另一項服務稱為“服務匯流排佇列”。

解耦元件是訊息佇列服務的優勢之一。它在非同步環境中執行,訊息可以在應用程式的不同元件之間傳送。因此,它為管理工作流和任務提供了有效的解決方案。例如,完成任務的訊息從應用程式的前端傳送,並由後端工作程式接收,然後後端工作程式完成任務並刪除訊息。

注意事項

儲存佇列中的訊息不會複製到任何地方,這意味著您的訊息只有一份副本。可以處理的訊息最大數量為 20,000 條。訊息的最大大小可以是 64 kb。

使用 PowerShell 管理佇列

建立佇列

步驟 1 - 右鍵單擊工作列中的 Windows PowerShell。選擇“以管理員身份執行 ISE”。

步驟 2 - 執行以下命令以訪問您的帳戶。請將突出顯示的部分替換為您的帳戶。

$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey 
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==

步驟 3 - 指定要在其中建立佇列的儲存帳戶。

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint 

步驟 4 - 建立佇列。

$QueueName = "thisisaqueue" 
$Queue = New-AzureStorageQueue –Name $QueueName -Context $Ctx 

Create a Queue

檢索佇列

$QueueName = "thisisaqueue" 

$Queue = Get-AzureStorageQueue –Name $QueueName –Context $Ctx

刪除佇列

$QueueName = "thisisaqueue" 

Remove-AzureStorageQueue –Name $QueueName –Context $Ctx

Delete a Queue

將訊息插入佇列

步驟 1 - 登入到您的帳戶。

$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey 

iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==

步驟 2 - 指定要使用的儲存帳戶。

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

步驟 3 - 檢索佇列,然後插入訊息。

$QueueName = "myqueue" 
$Queue = Get-AzureStorageQueue -Name $QueueName -Context $ctx 

if ($Queue -ne $null) {  
   $QueueMessage = New-Object -TypeName Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage
      -ArgumentList "my message is this"  
   $Queue.CloudQueue.AddMessage($QueueMessage) 
}

上面指令碼中的“if”條件檢查指定的佇列是否存在。

從佇列中出隊下一條訊息

步驟 1 - 首先連線到您的帳戶並指定儲存帳戶,方法是執行上述步驟中所示的命令。

步驟 2 - 檢索佇列。

$QueueName = "myqueue" 
$Queue = Get-AzureStorageQueue -Name $QueueName -Context $ctx 
$InvisibleTimeout = [System.TimeSpan]::FromSeconds(10)

步驟 3 - 出隊下一條訊息。

$QueueMessage = $Queue.CloudQueue.GetMessage($InvisibleTimeout)

步驟 4 - 刪除出隊的訊息。

$Queue.CloudQueue.DeleteMessage($QueueMessage)

使用 Azure 儲存資源管理器管理佇列

步驟 1 - 從右上角的下拉列表中選擇儲存帳戶。如果您在之前的使用過程中添加了帳戶,則會顯示這些帳戶。如果沒有,您可以新增帳戶,系統會要求您提供憑據。登入後,您將登入到 Azure 儲存資源管理器中的帳戶。

步驟 2 - 您可以透過從左側面板中選擇“佇列”並單擊“新建”來新增新佇列,如下面的影像所示。

Queue Storage Explorer

步驟 3 - 輸入佇列的名稱,它將在您的儲存帳戶中建立。

步驟 4 - 透過在左側面板中選擇佇列來新增和刪除訊息。

Queue Storage Explorer
廣告

© . All rights reserved.