Microsoft Azure - Files d'attente

Dans le langage courant utilisé par les développeurs, une file d'attente est une structure de données utilisée pour stocker des données qui suit la règle du premier entré, premier sorti. Un élément de données peut être inséré à partir de l'arrière de la file d'attente pendant qu'il est extrait de l'avant. Les files d'attente Azure sont un concept très similaire utilisé pour stocker les messages dans une file d'attente. Un expéditeur envoie le message et un client le reçoit et le traite. Un message est associé à quelques attributs, par exemple l'heure d'expiration.

Un client traite et supprime généralement le message. Le service Windows Azure permet au message d'être stocké pendant 7 jours et plus tard, il est supprimé automatiquement s'il n'est pas supprimé par le client. Il peut y avoir un expéditeur et un client ou un expéditeur et plusieurs clients ou plusieurs expéditeurs et plusieurs clients.

Il existe deux services offerts par Windows Azure pour les files d'attente de messages. Ce chapitre couvre la file d'attente Windows Azure. L'autre service est appelé «File d'attente Service Bus».

Le découplage des composants est l'un des avantages des services de file d'attente de messages. Il s'exécute dans un environnement asynchrone où les messages peuvent être envoyés entre les différents composants d'une application. Ainsi, il fournit une solution efficace pour gérer les flux de travail et les tâches. Par exemple, un message pour terminer une tâche est envoyé à partir du frontend de l'application et est reçu par un travailleur backend, qui termine ensuite la tâche et supprime le message.

Considérations

Les messages de la file d'attente de stockage ne sont répliqués nulle part, ce qui signifie qu'il n'y a qu'une seule copie de votre message. Le nombre maximum de messages pouvant être traités est de 20 000. La taille maximale d'un message peut être de 64 ko.

Gestion des files d'attente à l'aide de PowerShell

Créer une file d'attente

Step 1- Cliquez avec le bouton droit sur Windows PowerShell dans la barre des tâches. Choisissez "Exécuter ISE en tant qu'administrateur".

Step 2- Exécutez la commande suivante pour accéder à votre compte. Veuillez remplacer la partie en surbrillance pour votre compte.

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

Step 3 - Spécifiez le compte de stockage dans lequel vous souhaitez créer une file d'attente.

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 4 - Créez une file d'attente.

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

Récupérer une file d'attente

$QueueName = "thisisaqueue" 

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

Supprimer une file d'attente

$QueueName = "thisisaqueue" 

Remove-AzureStorageQueue –Name $QueueName –Context $Ctx

Insérer un message dans une file d'attente

Step 1 - Connectez-vous à votre compte.

$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey 

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

Step 2 - Spécifiez le compte de stockage que vous souhaitez utiliser.

Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint

Step 3 - Récupérez la file d'attente puis insérez le message.

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

La condition «if» dans le script ci-dessus vérifie si la file d'attente spécifiée existe ou non.

Retirer le message suivant de la file d'attente

Step 1 - Connectez-vous d'abord à votre compte et spécifiez le compte de stockage, en exécutant les commandes comme indiqué dans les étapes ci-dessus.

Step 2 - Récupérez la file d'attente.

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

Step 3 - Retirer le message suivant.

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

Step 4 - Supprimer le message retiré de la file d'attente.

$Queue.CloudQueue.DeleteMessage($QueueMessage)

Gestion des files d'attente à l'aide de l'explorateur de stockage Azure

Step 1- Sélectionnez le compte de stockage dans la liste déroulante en haut à droite. Les comptes seront affichés si vous les avez ajoutés lors de votre précédente utilisation. Sinon, vous pouvez ajouter un compte et il vous demandera vos informations d'identification. Une fois connecté, vous serez connecté à votre compte dans Azure Storage Explorer.

Step 2 - Vous pouvez ajouter une nouvelle file d'attente en sélectionnant «Files d'attente» dans le panneau de gauche et en cliquant sur «Nouveau» comme indiqué dans l'image suivante.

Step 3 - Entrez le nom de la file d'attente et il est créé dans votre compte de stockage.

Step 4 - Ajoutez et supprimez les messages en sélectionnant la file d'attente dans le panneau de gauche.