Microsoft-azure-queues

提供:Dev Guides
移動先:案内検索

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 *-左パネルでキューを選択して、メッセージを追加および削除します。

キューストレージエクスプローラー