MicrosoftAzure-キュー

開発者が使用する一般的な言語では、キューは先入れ先出し規則に従うデータを格納するために使用されるデータ構造です。データ項目は、キューの前から取得しながら、キューの後ろから挿入できます。Azureキューは、メッセージをキューに格納するために使用される非常によく似た概念です。送信者がメッセージを送信し、クライアントがメッセージを受信して​​処理します。メッセージには、有効期限など、いくつかの属性が関連付けられています。

クライアントは通常、メッセージを処理して削除します。Windows Azureサービスでは、メッセージを7日間保存し、クライアントによって削除されない場合、メッセージは自動的に削除されます。1つの送信者と1つのクライアント、または1つの送信者と多数のクライアント、または多数の送信者と多数のクライアントが存在する可能性があります。

メッセージキュー用にWindowsAzureによって提供される2つのサービスがあります。この章では、WindowsAzureキューについて説明します。もう1つのサービスは「サービスバスキュー」と呼ばれます。

コンポーネントの分離は、メッセージキューサービスの利点の1つです。これは、アプリケーションのさまざまなコンポーネント間でメッセージを送信できる非同期環境で実行されます。したがって、ワークフローとタスクを管理するための効率的なソリューションを提供します。たとえば、タスクを完了するためのメッセージは、アプリケーションのフロントエンドから送信され、バックエンドワーカーによって受信されます。バックエンドワーカーは、タスクを完了してメッセージを削除します。

考慮事項

ストレージキュー内のメッセージはどこにも複製されません。つまり、メッセージのコピーは1つだけです。処理できるメッセージの最大数は20,000です。メッセージの最大サイズは64kbです。

PowerShellを使用したキューの管理

キューを作成する

Step 1−タスクバーでWindowsPowerShellを右クリックします。「管理者としてISEを実行」を選択します。

Step 2−次のコマンドを実行して、アカウントにアクセスします。アカウントの強調表示された部分を置き換えてください。

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

Step 3 −キューを作成するストレージアカウントを指定します。

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 4 −キューを作成します。

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

キューを取得する

$QueueName = "thisisaqueue" 

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

キューを削除する

$QueueName = "thisisaqueue" 

Remove-AzureStorageQueue –Name $QueueName –Context $Ctx

メッセージをキューに挿入する

Step 1 −アカウントにログインします。

$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey 

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

Step 2 −使用するストレージアカウントを指定します。

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 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」条件は、指定されたキューが存在するかどうかをチェックします。

キューから次のメッセージをデキューする

Step 1 −最初にアカウントに接続し、上記の手順に示すコマンドを実行して、ストレージアカウントを指定します。

Step 2 −キューを取得します。

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

Step 3 −次のメッセージをデキューします。

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

Step 4 −デキューされたメッセージを削除します。

$Queue.CloudQueue.DeleteMessage($QueueMessage)

Azure StorageExplorerを使用したキューの管理

Step 1−右上のドロップダウンからストレージアカウントを選択します。以前の使用時にアカウントを追加した場合は、アカウントが表示されます。そうでない場合は、アカウントを追加すると、資格情報が要求されます。サインインすると、Azure StorageExplorerでアカウントにログインします。

Step 2 −次の図に示すように、左側のパネルから[キュー]を選択し、[新規]をクリックすると、新しいキューを追加できます。

Step 3 −キューの名前を入力すると、ストレージアカウントに作成されます。

Step 4 −左側のパネルでキューを選択して、メッセージを追加および削除します。