Microsoft Azure - filas

Na linguagem comum usada pelos desenvolvedores, uma fila é uma estrutura de dados usada para armazenar dados que seguem a regra Primeiro a entrar, primeiro a sair. Um item de dados pode ser inserido na parte posterior da fila enquanto é recuperado na parte frontal. As filas do Azure são um conceito muito semelhante usado para armazenar as mensagens em uma fila. Um remetente envia a mensagem e um cliente a recebe e processa. Uma mensagem tem poucos atributos anexados a ela, por exemplo, tempo de expiração.

Um cliente geralmente processa e exclui a mensagem. O serviço do Windows Azure permite que a mensagem seja armazenada por 7 dias e depois ela será excluída automaticamente, se não for excluída pelo cliente. Pode haver um remetente e um cliente ou um remetente e muitos clientes ou muitos remetentes e muitos clientes.

Existem dois serviços oferecidos pelo Windows Azure para filas de mensagens. Este capítulo cobre a fila do Windows Azure. O outro serviço é denominado 'Fila do Barramento de Serviço'.

A dissociação dos componentes é uma das vantagens dos serviços de fila de mensagens. Ele é executado em um ambiente assíncrono onde as mensagens podem ser enviadas entre os diferentes componentes de um aplicativo. Assim, ele fornece uma solução eficiente para gerenciar fluxos de trabalho e tarefas. Por exemplo, uma mensagem para concluir uma tarefa é enviada do front-end do aplicativo e é recebida por um trabalhador de back-end, que então conclui a tarefa e exclui a mensagem.

Considerações

As mensagens na fila de armazenamento não são replicadas em nenhum lugar, o que significa que há apenas uma cópia de sua mensagem. O número máximo de mensagens que podem ser processadas é 20.000. O tamanho máximo de uma mensagem pode ser 64 kb.

Gerenciando filas usando PowerShell

Crie uma fila

Step 1- Clique com o botão direito em Windows PowerShell na barra de tarefas. Escolha 'Executar ISE como administrador'.

Step 2- Execute o seguinte comando para acessar sua conta. Substitua a parte destacada de sua conta.

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

Step 3 - Especifique a conta de armazenamento na qual deseja criar uma fila.

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 4 - Crie uma fila.

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

Recuperar uma fila

$QueueName = "thisisaqueue" 

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

Excluir uma fila

$QueueName = "thisisaqueue" 

Remove-AzureStorageQueue –Name $QueueName –Context $Ctx

Insira uma mensagem em uma fila

Step 1 - Faça login em sua conta.

$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey 

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

Step 2 - Especifique a conta de armazenamento que deseja usar.

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 3 - Recupere a fila e insira a mensagem.

$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) 
}

A condição 'if' no script acima verifica se a fila especificada existe ou não.

Retirar próxima mensagem da fila

Step 1 - Primeiro conecte-se à sua conta e especifique a conta de armazenamento, executando os comandos conforme mostrado nas etapas acima.

Step 2 - Recupere a fila.

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

Step 3 - Retire a próxima mensagem.

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

Step 4 - Exclua a mensagem removida da fila.

$Queue.CloudQueue.DeleteMessage($QueueMessage)

Gerenciando filas usando o Azure Storage Explorer

Step 1- Selecione a conta de armazenamento no menu suspenso no canto superior direito. As contas serão exibidas se você as tiver adicionado durante o uso anterior. Caso contrário, você pode adicionar uma conta e ele solicitará suas credenciais. Depois de entrar, você será conectado à sua conta no Azure Storage Explorer.

Step 2 - Você pode adicionar uma nova fila selecionando 'Filas' no painel esquerdo e clicando em 'Novo' conforme mostrado na imagem a seguir.

Step 3 - Insira o nome da Fila e ele será criado em sua conta de armazenamento.

Step 4 - Adicione e exclua as mensagens selecionando a fila no painel esquerdo.