Azure Queue Storage to usługa w chmurze Azure firmy Microsoft zaprojektowana do kolejkowania wiadomości między komponentami aplikacji, umożliwiająca asynchroniczną komunikację i odseparowanie. Umożliwia przechowywanie nieograniczonej liczby wiadomości, z których każda ma maksymalny rozmiar 64 KB, i obsługuje operacje takie jak tworzenie i usuwanie kolejek, dodawanie, pobieranie, aktualizowanie i usuwanie wiadomości, a także zarządzanie metadanymi i politykami dostępu. Chociaż zazwyczaj przetwarza wiadomości w sposób FIFO (first-in-first-out), ścisłe FIFO nie jest gwarantowane.
Enumeracja
# 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