Microsoft-azure-queues
Microsoft Azure-キュー
開発者が使用する共通言語では、キューは先入れ先出し規則に従うデータを格納するために使用されるデータ構造です。 データ項目は、キューの後ろから挿入できますが、前から取得できます。 Azureキューは、メッセージをキューに格納するために使用される非常によく似た概念です。 送信者がメッセージを送信し、クライアントがそれらを受信して処理します。 メッセージには、有効期限などの属性がほとんどありません。
通常、クライアントはメッセージを処理して削除します。 Windows Azureサービスでは、メッセージが7日間保存され、その後クライアントによって削除されない場合、自動的に削除されます。 1人の送信者と1人のクライアント、または1人の送信者と多くのクライアント、または多くの送信者と多くのクライアントが存在できます。
Windows Azureでは、メッセージキュー用に2つのサービスを提供しています。 この章では、Windows Azureキューについて説明します。 他のサービスは「サービスバスキュー」と呼ばれます。
コンポーネントの分離は、メッセージキューサービスの利点の1つです。 アプリケーションのさまざまなコンポーネント間でメッセージを送信できる非同期環境で実行されます。 したがって、ワークフローとタスクを管理するための効率的なソリューションを提供します。 たとえば、タスクを完了するためのメッセージはアプリケーションのフロントエンドから送信され、バックエンドワーカーが受信します。バックエンドワーカーはタスクを完了し、メッセージを削除します。
検討事項
ストレージキュー内のメッセージはどこにも複製されません。つまり、メッセージのコピーは1つしかありません。 処理できるメッセージの最大数は20,000です。 メッセージの最大サイズは64 kbです。
PowerShellを使用してキューを管理する
キューを作成する
- ステップ1 *-タスクバーでWindows PowerShellを右クリックします。 [管理者としてISEを実行]を選択します。
- ステップ2 *-次のコマンドを実行してアカウントにアクセスします。 アカウントの強調表示された部分を交換してください。
$context = New-AzureStorageContext -StorageAccountName finddevguides StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
- ステップ3 *-キューを作成するストレージアカウントを指定します。
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount finddevguides
- ステップ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
メッセージをキューに挿入する
- ステップ1 *-アカウントにログインします。
$context = New-AzureStorageContext -StorageAccountName finddevguides StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
- ステップ2 *-使用するストレージアカウントを指定します。
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount finddevguides
- ステップ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 Storage Explorerを使用したキューの管理
- ステップ1 *-右上のドロップダウンからストレージアカウントを選択します。 以前の使用中にアカウントを追加した場合、アカウントが表示されます。 そうでない場合は、アカウントを追加して、資格情報を要求します。 サインインすると、Azure Storage Explorerでアカウントにログインします。
- ステップ2 *-次の画像に示すように、左側のパネルから[キュー]を選択して[新規]をクリックすると、新しいキューを追加できます。
- ステップ3 *-キューの名前を入力すると、ストレージアカウントに作成されます。
- ステップ4 *-左パネルでキューを選択して、メッセージを追加および削除します。