Microsoft Azure - Warteschlangen
In der von Entwicklern verwendeten allgemeinen Sprache ist eine Warteschlange eine Datenstruktur zum Speichern von Daten, die der First-in-First-out-Regel folgt. Ein Datenelement kann von hinten in die Warteschlange eingefügt werden, während es von vorne abgerufen wird. Azure-Warteschlangen sind ein sehr ähnliches Konzept, mit dem die Nachrichten in einer Warteschlange gespeichert werden. Ein Absender sendet die Nachricht und ein Client empfängt und verarbeitet sie. Einer Nachricht sind nur wenige Attribute zugeordnet, z. B. die Ablaufzeit.
Ein Client verarbeitet und löscht die Nachricht normalerweise. Mit dem Windows Azure-Dienst kann die Nachricht 7 Tage lang gespeichert werden. Später wird sie automatisch gelöscht, wenn sie nicht vom Client gelöscht wird. Es kann einen Absender und einen Kunden oder einen Absender und viele Kunden oder viele Absender und viele Kunden geben.
Windows Azure bietet zwei Dienste für Nachrichtenwarteschlangen an. Dieses Kapitel behandelt die Windows Azure-Warteschlange. Der andere Dienst heißt "Service Bus-Warteschlange".
Das Entkoppeln der Komponenten ist einer der Vorteile von Nachrichtenwarteschlangendiensten. Es wird in einer asynchronen Umgebung ausgeführt, in der Nachrichten zwischen den verschiedenen Komponenten einer Anwendung gesendet werden können. Somit bietet es eine effiziente Lösung für die Verwaltung von Workflows und Aufgaben. Beispielsweise wird eine Nachricht zum Abschließen einer Aufgabe vom Frontend der Anwendung gesendet und von einem Backend-Mitarbeiter empfangen, der die Aufgabe dann abschließt und die Nachricht löscht.
Überlegungen
Die Nachrichten in der Speicherwarteschlange werden nirgendwo repliziert, dh es gibt nur eine Kopie Ihrer Nachricht. Die maximale Anzahl von Nachrichten, die verarbeitet werden können, beträgt 20.000. Die maximale Größe einer Nachricht kann 64 KB betragen.
Verwalten von Warteschlangen mit PowerShell
Erstellen Sie eine Warteschlange
Step 1- Klicken Sie in der Taskleiste mit der rechten Maustaste auf Windows PowerShell. Wählen Sie "ISE als Administrator ausführen".
Step 2- Führen Sie den folgenden Befehl aus, um auf Ihr Konto zuzugreifen. Bitte ersetzen Sie den markierten Teil für Ihr Konto.
$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
Step 3 - Geben Sie das Speicherkonto an, in dem Sie eine Warteschlange erstellen möchten.
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint
Step 4 - Erstellen Sie eine Warteschlange.
$QueueName = "thisisaqueue"
$Queue = New-AzureStorageQueue –Name $QueueName -Context $Ctx
Eine Warteschlange abrufen
$QueueName = "thisisaqueue"
$Queue = Get-AzureStorageQueue –Name $QueueName –Context $Ctx
Löschen Sie eine Warteschlange
$QueueName = "thisisaqueue"
Remove-AzureStorageQueue –Name $QueueName –Context $Ctx
Fügen Sie eine Nachricht in eine Warteschlange ein
Step 1 - Melden Sie sich bei Ihrem Konto an.
$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
Step 2 - Geben Sie das Speicherkonto an, das Sie verwenden möchten.
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint
Step 3 - Rufen Sie die Warteschlange ab und fügen Sie die Nachricht ein.
$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)
}
Die 'if'-Bedingung im obigen Skript prüft, ob die angegebene Warteschlange vorhanden ist oder nicht.
Nächste Nachricht aus der Warteschlange entfernen
Step 1 - Stellen Sie zunächst eine Verbindung zu Ihrem Konto her und geben Sie das Speicherkonto an, indem Sie die in den obigen Schritten gezeigten Befehle ausführen.
Step 2 - Rufen Sie die Warteschlange ab.
$QueueName = "myqueue"
$Queue = Get-AzureStorageQueue -Name $QueueName -Context $ctx
$InvisibleTimeout = [System.TimeSpan]::FromSeconds(10)
Step 3 - Die nächste Nachricht aus der Warteschlange entfernen.
$QueueMessage = $Queue.CloudQueue.GetMessage($InvisibleTimeout)
Step 4 - Löschen Sie die Nachricht aus der Warteschlange.
$Queue.CloudQueue.DeleteMessage($QueueMessage)
Verwalten von Warteschlangen mit Azure Storage Explorer
Step 1- Wählen Sie das Speicherkonto aus der Dropdown-Liste oben rechts aus. Konten werden angezeigt, wenn Sie sie während Ihrer vorherigen Verwendung hinzugefügt haben. Wenn nicht, können Sie ein Konto hinzufügen und es werden Sie nach Ihren Anmeldeinformationen gefragt. Nach der Anmeldung werden Sie in Azure Storage Explorer bei Ihrem Konto angemeldet.
Step 2 - Sie können eine neue Warteschlange hinzufügen, indem Sie im linken Bereich "Warteschlangen" auswählen und auf "Neu" klicken (siehe folgende Abbildung).
Step 3 - Geben Sie den Namen der Warteschlange ein und diese wird in Ihrem Speicherkonto erstellt.
Step 4 - Fügen Sie die Nachrichten hinzu und löschen Sie sie, indem Sie die Warteschlange im linken Bereich auswählen.