Η Azure Queue Storage είναι μια υπηρεσία στην πλατφόρμα cloud της Microsoft Azure που έχει σχεδιαστεί για την ουρά μηνυμάτων μεταξύ των συστατικών εφαρμογών, επιτρέποντας την ασύγχρονη επικοινωνία και την αποσύνδεση. Σας επιτρέπει να αποθηκεύετε έναν απεριόριστο αριθμό μηνυμάτων, το καθένα έως 64 KB σε μέγεθος, και υποστηρίζει λειτουργίες όπως η δημιουργία και η διαγραφή ουρών, η προσθήκη, η ανάκτηση, η ενημέρωση και η διαγραφή μηνυμάτων, καθώς και η διαχείριση μεταδεδομένων και πολιτικών πρόσβασης. Ενώ συνήθως επεξεργάζεται τα μηνύματα με τη μέθοδο πρώτου εισερχόμενου-πρώτου εξερχόμενου (FIFO), η αυστηρή FIFO δεν είναι εγγυημένη.
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