Snabbstart: Azure Queue Storage klientbibliotek v12 för .NET
Kom igång med Azure Queue Storage klientbibliotek version 12 för .NET. Azure Queue Storage är en tjänst för att lagra ett stort antal meddelanden för senare hämtning och bearbetning. Följ de här stegen för att installera paketet och prova exempelkoden för grundläggande uppgifter.
Använd Azure Queue Storage client library v12 för .NET för att:
- Skapa en kö
- Lägga till meddelanden i en kö
- Titta på meddelanden i en kö
- Uppdatera ett meddelande i en kö
- Ta emot meddelanden från en kö
- Ta bort meddelanden från en kö
- Ta bort en kö
Ytterligare resurser:
Förutsättningar
- Azure-prenumeration – skapa en kostnadsfritt
- Azure Storage konto – skapa ett lagringskonto
- Aktuella .NET Core SDK för ditt operativsystem. Se till att hämta SDK och inte körningen.
Inrätta
Det här avsnittet går igenom hur du förbereder ett projekt för att arbeta med Azure Queue Storage-klientbiblioteket v12 för .NET.
Skapa projektet
Skapa ett .NET Core-program med namnet QueuesQuickstartV12 .
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du kommandot för att skapa en ny
dotnet newkonsolapp med namnetQueuesQuickstartV12. Det här kommandot skapar ett enkelt "hello world"-C#-projekt med en enda källfil med namnetProgram.cs.dotnet new console -n QueuesQuickstartV12Växla till den nyligen skapade
QueuesQuickstartV12katalogen.cd QueuesQuickstartV12
Installera paketet
När du fortfarande är i programkatalogen installerar du Azure Queue Storage-klientbiblioteket för .NET-paketet med hjälp av dotnet add package kommandot .
dotnet add package Azure.Storage.Queues
Konfigurera appramverket
Från projektkatalogen:
- Öppna filen
Program.csi redigeringsredigeraren - Ta bort
Console.WriteLine("Hello, World");-instruktionen - Lägga till
usingdirektiv - Uppdatera
Mainmetoddeklarationen för att stödja asynkron kod
Här är koden:
using Azure;
using Azure.Storage.Queues;
using Azure.Storage.Queues.Models;
using System;
using System.Threading.Tasks;
namespace QueuesQuickstartV12
{
class Program
{
static async Task Main(string[] args)
{
}
}
}
Kopiera dina autentiseringsuppgifter från Azure-portalen
När exempelprogrammet gör en begäran till Azure Storage måste det auktoriserats. Om du vill auktorisera en begäran lägger du till autentiseringsuppgifterna för ditt lagringskonto i programmet som en anslutningssträng. Följ dessa steg om du vill visa autentiseringsuppgifterna för ditt lagringskonto:
Logga in på Azure-portalen.
Leta rätt på ditt lagringskonto.
I menyfönstret för lagringskontot går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Här kan du visa kontoåtkomstnycklarna och den fullständiga anslutningssträngen för varje nyckel.

I fönstret Åtkomstnycklar väljer du Visa nycklar.
Leta upp värdet för Anslutningssträng i avsnittet key1. Välj ikonen Kopiera till Urklipp för att kopiera anslutningssträngen. Du lägger till anslutningssträngens värde i en miljövariabel i nästa avsnitt.

Konfigurera anslutningssträngen för lagring
När du har kopierat anslutningssträngen skriver du den till en ny miljövariabel på den lokala dator som kör programmet. Konfigurera miljövariabeln genom att öppna ett konsolfönster och följa anvisningarna för ditt operativsystem. Ersätt <yourconnectionstring> med den faktiska anslutningssträngen.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
När du har lagt till miljövariabeln i Windows måste du starta en ny instans av kommandofönstret.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Starta om program
När du har lagt till miljövariabeln startar du om alla program som körs och behöver läsa miljövariabeln. Du kan till exempel starta om utvecklingsmiljön eller redigeringsredigeraren innan du fortsätter.
Objektmodell
Azure Queue Storage är en tjänst för lagring av ett stort antal meddelanden. Ett kömeddelande kan vara upp till 64 KB stort. En kö kan innehålla miljontals meddelanden, upp till den totala kapacitetsgränsen för ett lagringskonto. Köer används ofta för att skapa eftersläpande uppgifter för att bearbeta asynkront. Queue Storage erbjuder tre typer av resurser:
- Lagringskontot
- En kö i lagringskontot
- Meddelanden i kön
Följande diagram visar relationen mellan de här resurserna.

Använd följande .NET-klasser för att interagera med dessa resurser:
QueueServiceClient:QueueServiceClientgör att du kan hantera alla köer i ditt lagringskonto.QueueClient: MedQueueClientklassen kan du hantera och ändra en enskild kö och dess meddelanden.QueueMessage: KlassenQueueMessagerepresenterar de enskilda objekt som returneras vid anrop till enReceiveMessageskö.
Kodexempel
De här exempelkodfragmenten visar hur du utför följande åtgärder med Azure Queue Storage klientbiblioteket för .NET:
- Hämta anslutningssträngen
- Skapa en kö
- Lägga till meddelanden i en kö
- Titta på meddelanden i en kö
- Uppdatera ett meddelande i en kö
- Ta emot meddelanden från en kö
- Ta bort meddelanden från en kö
- Ta bort en kö
Hämta anslutningssträngen
Följande kod hämtar anslutningssträngen för lagringskontot. Anslutningssträngen lagras i miljövariabeln som skapades i avsnittet Konfigurera lagringsanslutningssträngen.
Lägg till den här koden i Main metoden :
Console.WriteLine("Azure Queue Storage client library v12 - .NET quickstart sample\n");
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable called
// AZURE_STORAGE_CONNECTION_STRING on the machine running the application.
// If the environment variable is created after the application is launched
// in a console or with Visual Studio, the shell or application needs to be
// closed and reloaded to take the environment variable into account.
string connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGE_CONNECTION_STRING");
Skapa en kö
Bestäm ett namn för den nya kön. Följande kod lägger till ett GUID-värde i könamnet för att säkerställa att det är unikt.
Viktigt
Könamn får bara innehålla gemener, siffror och bindestreck och måste börja med en bokstav eller en siffra. Varje bindestreck måste föregås och följas av ett tecken som inte är ett bindestreck. Namnet måste också vara mellan 3 och 63 tecken långt. Mer information finns i Namngivning av köer och metadata.
Skapa en instans av QueueClient klassen . Anropa sedan metoden CreateAsync för att skapa kön i ditt lagringskonto.
Lägg till den här koden i slutet av Main metoden:
// Create a unique name for the queue
string queueName = "quickstartqueues-" + Guid.NewGuid().ToString();
Console.WriteLine($"Creating queue: {queueName}");
// Instantiate a QueueClient which will be
// used to create and manipulate the queue
QueueClient queueClient = new QueueClient(connectionString, queueName);
// Create the queue
await queueClient.CreateAsync();
Lägga till meddelanden i en kö
Följande kodfragment lägger asynkront till meddelanden i kö genom att anropa SendMessageAsync metoden . Den sparar också ett som SendReceipt returneras från ett SendMessageAsync anrop. Kvittot används för att uppdatera meddelandet senare i programmet.
Lägg till den här koden i slutet av Main metoden:
Console.WriteLine("\nAdding messages to the queue...");
// Send several messages to the queue
await queueClient.SendMessageAsync("First message");
await queueClient.SendMessageAsync("Second message");
// Save the receipt so we can update this message later
SendReceipt receipt = await queueClient.SendMessageAsync("Third message");
Titta på meddelanden i en kö
Granska meddelandena i kön genom att anropa PeekMessagesAsync metoden . Den här metoden hämtar ett eller flera meddelanden framför kön men ändrar inte meddelandets synlighet.
Lägg till den här koden i slutet av Main metoden:
Console.WriteLine("\nPeek at the messages in the queue...");
// Peek at messages in the queue
PeekedMessage[] peekedMessages = await queueClient.PeekMessagesAsync(maxMessages: 10);
foreach (PeekedMessage peekedMessage in peekedMessages)
{
// Display the message
Console.WriteLine($"Message: {peekedMessage.MessageText}");
}
Uppdatera ett meddelande i en kö
Uppdatera innehållet i ett meddelande genom att anropa UpdateMessageAsync metoden . Den här metoden kan ändra tidsgränsen och innehållet för ett meddelandes synlighet. Meddelandeinnehållet måste vara en UTF-8-kodad sträng som är upp till 64 kB stor. Tillsammans med det nya innehållet för meddelandet skickar du värdena från SendReceipt som sparades tidigare i koden. Värdena SendReceipt identifierar vilket meddelande som ska uppdateras.
Console.WriteLine("\nUpdating the third message in the queue...");
// Update a message using the saved receipt from sending the message
await queueClient.UpdateMessageAsync(receipt.MessageId, receipt.PopReceipt, "Third message has been updated");
Ta emot meddelanden från en kö
Ladda ned tidigare tillagda meddelanden genom att anropa ReceiveMessagesAsync metoden .
Lägg till den här koden i slutet av Main metoden:
Console.WriteLine("\nReceiving messages from the queue...");
// Get messages from the queue
QueueMessage[] messages = await queueClient.ReceiveMessagesAsync(maxMessages: 10);
Ta bort meddelanden från en kö
Ta bort meddelanden från kön när de har bearbetats. I det här fallet visar bearbetningen bara meddelandet på konsolen.
Appen pausar för användarindata genom att Console.ReadLine anropa innan den bearbetar och tar bort meddelandena. Kontrollera i Azure Portal att resurserna har skapats korrekt innan de tas bort. Meddelanden som inte uttryckligen tas bort blir så småningom synliga i kön igen för en annan möjlighet att bearbeta dem.
Lägg till den här koden i slutet av Main metoden:
Console.WriteLine("\nPress Enter key to 'process' messages and delete them from the queue...");
Console.ReadLine();
// Process and delete messages from the queue
foreach (QueueMessage message in messages)
{
// "Process" the message
Console.WriteLine($"Message: {message.MessageText}");
// Let the service know we're finished with
// the message and it can be safely deleted.
await queueClient.DeleteMessageAsync(message.MessageId, message.PopReceipt);
}
Ta bort en kö
Följande kod rensar de resurser som appen skapade genom att ta bort kön med hjälp av DeleteAsync metoden .
Lägg till den här koden i slutet av Main metoden:
Console.WriteLine("\nPress Enter key to delete the queue...");
Console.ReadLine();
// Clean up
Console.WriteLine($"Deleting queue: {queueClient.Name}");
await queueClient.DeleteAsync();
Console.WriteLine("Done");
Kör koden
Den här appen skapar och lägger till tre meddelanden i en Azure-kö. Koden listar meddelandena i kön och hämtar och tar sedan bort dem innan de slutligen tar bort kön.
I konsolfönstret navigerar du till programkatalogen och skapar och kör sedan programmet.
dotnet build
dotnet run
Appens utdata liknar följande exempel:
Azure Queue Storage client library v12 - .NET quickstart sample
Creating queue: quickstartqueues-5c72da2c-30cc-4f09-b05c-a95d9da52af2
Adding messages to the queue...
Peek at the messages in the queue...
Message: First message
Message: Second message
Message: Third message
Updating the third message in the queue...
Receiving messages from the queue...
Press Enter key to 'process' messages and delete them from the queue...
Message: First message
Message: Second message
Message: Third message has been updated
Press Enter key to delete the queue...
Deleting queue: quickstartqueues-5c72da2c-30cc-4f09-b05c-a95d9da52af2
Done
När appen pausar innan du tar emot meddelanden kontrollerar du ditt lagringskonto i Azure Portal. Kontrollera att meddelandena finns i kön.
Tryck på Enter tangenten för att ta emot och ta bort meddelandena. När du uppmanas till det trycker Enter du på tangenten igen för att ta bort kön och avsluta demonstrationen.
Nästa steg
I den här snabbstarten har du lärt dig hur du skapar en kö och lägger till meddelanden i den med hjälp av asynkron .NET-kod. Sedan lärde du dig att granska, hämta och ta bort meddelanden. Slutligen lärde du dig hur du tar bort en meddelandekö.
Självstudier, exempel, snabbstarter och annan dokumentation finns här:
- Mer information finns i Azure Storage för .NET.
- Fler Azure Queue Storage-exempelappar finns i Azure Queue Storage-klientbibliotek för .NET-exempel.
- Mer information om .NET Core finns i Kom igång med .NET på 10 minuter.