jak používat Azure Queue Storage z powershellu
Azure Queue Storage je služba pro ukládání velkého počtu zpráv, ke kterým se dá dostat odkudkoli na světě přes HTTP nebo HTTPS. Podrobné informace najdete v tématu Úvod do Azure Queue Storage. tento článek s návody popisuje běžné operace Queue Storage. Získáte informace o těchto tématech:
- Vytvoření fronty
- Načtení fronty
- Přidat zprávu
- Přečíst zprávu
- Odstranění zprávy
- Odstranění fronty
tato příručka vyžaduje modul Azure PowerShell ( Az ) v 0,7 nebo novějším. Spusťte Get-Module -ListAvailable Az a najděte aktuálně nainstalovanou verzi. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell.
Pro tuto rovinu dat pro fronty neexistují žádné rutiny prostředí PowerShell. Chcete-li provádět operace roviny dat, například přidat zprávu, přečíst zprávu a odstranit zprávu, je nutné použít klientskou knihovnu úložiště .NET, protože je vystavena v prostředí PowerShell. Vytvoříte objekt zprávy a potom můžete použít příkazy, jako je například AddMessage k provádění operací s touto zprávou. V tomto článku se dozvíte, jak to provést.
Poznámka
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Přihlášení k Azure
Přihlaste se ke svému předplatnému Azure pomocí příkazu Connect-AzAccount a postupujte podle pokynů na obrazovce.
Connect-AzAccount
Načíst seznam umístění
Pokud nevíte, jaké umístění máte použít, můžete vypsat všechna dostupná umístění. Po zobrazení seznamu vyhledejte umístění, které chcete použít. Toto cvičení bude používat eastus . Uložte ho do proměnné location pro budoucí použití.
Get-AzLocation | Select-Object Location
$location = "eastus"
Vytvoření skupiny prostředků
Vytvořte skupinu prostředků pomocí příkazu New-AzResourceGroup .
Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Uložte název skupiny prostředků do proměnné pro budoucí použití. V tomto příkladu se vytvoří skupina prostředků s názvem howtoqueuesrg v oblasti eastus.
$resourceGroup = "howtoqueuesrg"
New-AzResourceGroup -ResourceGroupName $resourceGroup -Location $location
Vytvoření účtu úložiště
Vytvořte standardní účet úložiště pro obecné účely s místně redundantním úložištěm (LRS) pomocí New-AzStorageAccount. Získejte kontext účtu úložiště, který definuje účet úložiště, který se má použít. Když používáte účet úložiště, namísto opakovaného zadávání přihlašovacích údajů odkazujete na jeho kontext.
$storageAccountName = "howtoqueuestorage"
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name $storageAccountName `
-Location $location `
-SkuName Standard_LRS
$ctx = $storageAccount.Context
Vytvoření fronty
následující příklad napřed vytvoří připojení k Azure Storage pomocí kontextu účtu úložiště, který zahrnuje název účtu úložiště a jeho přístupový klíč. V dalším kroku zavolá rutinu New-AzStorageQueue , která vytvoří frontu s názvem howtoqueue .
$queueName = "howtoqueue"
$queue = New-AzStorageQueue –Name $queueName -Context $ctx
informace o zásadách vytváření názvů pro Azure Queue Storage najdete v tématu pojmenování front a metadat.
Načtení fronty
Můžete zadávat dotazy a načítat konkrétní frontu nebo seznam všech front v účtu úložiště. Následující příklady ukazují, jak načíst všechny fronty v účtu úložiště a konkrétní frontu. Oba příkazy používají rutinu Get-AzStorageQueue .
# Retrieve a specific queue
$queue = Get-AzStorageQueue –Name $queueName –Context $ctx
# Show the properties of the queue
$queue
# Retrieve all queues and show their names
Get-AzStorageQueue -Context $ctx | Select-Object Name
Přidat zprávu do fronty
Operace, které mají vliv na skutečné zprávy ve frontě, používají klientskou knihovnu pro úložiště .NET jako zveřejněnou v prostředí PowerShell. Chcete-li přidat zprávu do fronty, vytvořte novou instanci objektu zprávy a Microsoft.Azure.Storage.Queue.CloudQueueMessage třídy. Dále zavolejte AddMessage metodu. A CloudQueueMessage lze vytvořit buď z řetězce (ve formátu UTF-8), nebo pole bajtů.
Následující příklad ukazuje, jak přidat zprávu do fronty.
# Create a new message using a constructor of the CloudQueueMessage class
$queueMessage = [Microsoft.Azure.Storage.Queue.CloudQueueMessage]::new("This is message 1")
# Add a new message to the queue
$queue.CloudQueue.AddMessageAsync($QueueMessage)
# Add two more messages to the queue
$queueMessage = [Microsoft.Azure.Storage.Queue.CloudQueueMessage]::new("This is message 2")
$queue.CloudQueue.AddMessageAsync($QueueMessage)
$queueMessage = [Microsoft.Azure.Storage.Queue.CloudQueueMessage]::new("This is message 3")
$queue.CloudQueue.AddMessageAsync($QueueMessage)
pokud používáte Průzkumník služby Azure Storage, můžete se připojit k účtu Azure a zobrazit fronty v účtu úložiště a přejít k podrobnostem o frontě a zobrazit tak zprávy ve frontě.
Přečtěte si zprávu z fronty a pak ji odstraňte.
Zprávy jsou čteny nejlépe při prvním prvním vyzkoušení. To není zaručeno. Když si přečtete zprávu z fronty, bude se neviditelná pro všechny ostatní procesy, které prohlíží ve frontě. Tím je zajištěno, že pokud váš kód nedokáže zpracovat zprávu z důvodu selhání hardwaru nebo softwaru, může jiná instance kódu získat stejnou zprávu a opakovat akci.
Tento časový limit neviditelnosti definuje, jak dlouho zpráva zůstane neviditelná, než se znovu zpřístupní pro zpracování. Výchozí hodnota je 30 sekund.
Kód přečte zprávu z fronty ve dvou krocích. Když zavoláte Microsoft.Azure.Storage.Queue.CloudQueue.GetMessage metodu, dostanete další zprávu ve frontě. Zpráva vrácená z GetMessage se bude neviditelná pro jakýkoliv jiný kód, který čte zprávy z této fronty. Chcete-li dokončit odebrání zprávy z fronty, zavolejte Microsoft.Azure.Storage.Queue.CloudQueue.DeleteMessage metodu.
V následujícím příkladu si přečtete tři zprávy fronty a pak počkáte 10 sekund (časový limit neviditelnosti). Pak znovu přečtete tři zprávy a po jejich přečtení je zavoláte DeleteMessage . Pokud se pokusíte zobrazit frontu po odstranění zpráv, $queueMessage bude vrácena jako $null .
# 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
$invisibleTimeout = [System.TimeSpan]::FromSeconds(10)
# Read the message from the queue, then show the contents of the message. Read the other two messages, too.
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
# After 10 seconds, these messages reappear on the queue.
# Read them again, but delete each one after reading it.
# Delete the message.
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
$queue.CloudQueue.DeleteMessageAsync($queueMessage.Result.Id,$queueMessage.Result.popReceipt)
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
$queue.CloudQueue.DeleteMessageAsync($queueMessage.Result.Id,$queueMessage.Result.popReceipt)
$queueMessage = $queue.CloudQueue.GetMessageAsync($invisibleTimeout,$null,$null)
$queueMessage.Result
$queue.CloudQueue.DeleteMessageAsync($queueMessage.Result.Id,$queueMessage.Result.popReceipt)
Odstranění fronty
Pokud chcete odstranit frontu a všechny zprávy, které jsou v ní obsažené, zavolejte Remove-AzStorageQueue rutinu. Následující příklad ukazuje, jak odstranit specifickou frontu použitou v tomto cvičení pomocí Remove-AzStorageQueue rutiny.
# Delete the queue
Remove-AzStorageQueue –Name $queueName –Context $ctx
Vyčištění prostředků
Pokud chcete odebrat všechny prostředky, které jste v tomto cvičení vytvořili, odeberte skupinu prostředků. Tím se odstraní také všechny prostředky, které skupina obsahuje. V takovém případě se odebere účet úložiště, který je vytvořený, a skupinu prostředků.
Remove-AzResourceGroup -Name $resourceGroup
Další kroky
v tomto článku se dozvíte o základní správě Queue Storage pomocí prostředí PowerShell, včetně postupu:
- Vytvoření fronty
- Načtení fronty
- Přidat zprávu
- Přečtěte si další zprávu.
- Odstranění zprávy
- Odstranění fronty
Microsoft Azure PowerShell rutiny úložiště
Microsoft Azure Storage Explorer
- Microsoft Azure Storage Explorer je bezplatná samostatná aplikace od Microsoftu, která umožňuje vizuálně pracovat s daty Azure Storage ve Windows, macOS a Linuxu.