Azure Queue Storage ist ein Dienst in Microsofts Azure-Cloud-Plattform, der für die Nachrichtenwarteschlange zwischen Anwendungskomponenten entwickelt wurde, um asynchrone Kommunikation zu ermöglichen und zu entkoppeln. Es ermöglicht Ihnen, eine unbegrenzte Anzahl von Nachrichten zu speichern, jede bis zu 64 KB groß, und unterstützt Operationen wie das Erstellen und Löschen von Warteschlangen, Hinzufügen, Abrufen, Aktualisieren und Löschen von Nachrichten sowie das Verwalten von Metadaten und Zugriffsrichtlinien. Während es typischerweise Nachrichten in einer First-In-First-Out (FIFO)-Reihenfolge verarbeitet, wird strikte FIFO nicht garantiert.
Enumeration
# You need to know the --account-name of the storage (az storage account list)azstoragequeuelist--account-name<storage_account># Queue Metadataazstoragequeuemetadatashow--name<queue_name>--account-name<storage_account>#Get ACLazstoragequeuepolicylist--queue-name<queue_name>--account-name<storage_account># Get Messages (getting a message deletes it)azstoragemessageget--queue-name<queue_name>--account-name<storage_account># Peek Messagesazstoragemessagepeek--queue-name<queue_name>--account-name<storage_account>
# Get the Storage Context$storageAccount = Get-AzStorageAccount -ResourceGroupName QueueResourceGroup -Name queuestorageaccount1994$ctx = $storageAccount.Context# Set Variables for Storage Account$storageAccountName = "queuestorageaccount"# List QueuesGet-AzStorageQueue-Context $context$queueName = "myqueue"# Retrieve a specific queue$queue = Get-AzStorageQueue -Name $queueName -Context $context$queue # Show the properties of the queue# Retrieve the access policies for the queue$accessPolicies = Get-AzStorageQueueStoredAccessPolicy -Context $context -QueueName $queueName$accessPolicies# Peek Messages$queueMessage = $queue.QueueClient.PeekMessage()$queueMessage.Value# Set the amount of time you want to entry to be invisible after read from the queue# If it is not deleted by the end of this time, it will show up in the queue again$visibilityTimeout = [System.TimeSpan]::FromSeconds(10)# Read the messages from the queue, then show the contents of the messages.$queueMessage = $queue.QueueClient.ReceiveMessages(1,$visibilityTimeout)$queueMessage.Value