Учебники

Microsoft Azure — очереди

На общем языке, используемом разработчиками, очередь — это структура данных, используемая для хранения данных, которая следует правилу «первым вошел — первым вышел». Элемент данных может быть вставлен из задней части очереди, пока он извлекается спереди. Очереди Azure — это очень похожая концепция, которая используется для хранения сообщений в очереди. Отправитель отправляет сообщение, а клиент получает и обрабатывает их. К сообщению прикреплено несколько атрибутов, например, срок действия.

Клиент обычно обрабатывает и удаляет сообщение. Служба Windows Azure позволяет хранить сообщение в течение 7 дней, а затем автоматически удаляется, если оно не удалено клиентом. Может быть один отправитель и один клиент или один отправитель и много клиентов или много отправителей и много клиентов.

Windows Azure предлагает две службы для очередей сообщений. В этой главе рассматривается очередь Windows Azure. Другая служба называется «Очередь служебной шины».

Разделение компонентов является одним из преимуществ служб очереди сообщений. Он работает в асинхронной среде, где сообщения могут отправляться между различными компонентами приложения. Таким образом, он обеспечивает эффективное решение для управления рабочими процессами и задачами. Например, сообщение о завершении задачи отправляется из внешнего интерфейса приложения и принимается внутренним работником, который затем завершает задачу и удаляет сообщение.

Соображения

Сообщения в очереди хранения нигде не реплицируются, это означает, что имеется только одна копия вашего сообщения. Максимальное количество сообщений, которое может быть обработано, составляет 20 000. Максимальный размер сообщения может составлять 64 КБ.

Управление очередями с помощью 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 

Создать очередь

Получить очередь

$QueueName = "thisisaqueue" 

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

Удалить очередь

$QueueName = "thisisaqueue" 

Remove-AzureStorageQueue Name $QueueName Context $Ctx

Удалить очередь

Вставить сообщение в очередь

Шаг 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 Storage Explorer

Шаг 1 — Выберите учетную запись хранения из выпадающего списка в правом верхнем углу. Счета будут отображаться, если вы добавили их во время предыдущего использования. Если нет, вы можете добавить учетную запись, и он будет запрашивать ваши учетные данные. После входа вы войдете в свою учетную запись в Azure Storage Explorer.

Шаг 2 — Вы можете добавить новую очередь, выбрав «Queues» на левой панели и нажав «New», как показано на следующем рисунке.

Проводник хранилища очередей

Шаг 3 — Введите имя очереди, и она будет создана в вашей учетной записи хранения.

Шаг 4 — Добавьте и удалите сообщения, выбрав очередь на левой панели.