rychlý start: v12 klientské knihovny Azure Queue Storage pro .net

začínáme s klientskou knihovnou Azure Queue Storage verze 12 pro .net Azure Queue Storage je služba pro ukládání velkého počtu zpráv pro pozdější načtení a zpracování. Postupujte podle těchto kroků a nainstalujte balíček a vyzkoušejte ukázkový kód pro základní úlohy.

pomocí v12 klientské knihovny Azure Queue Storage pro .net:

  • Vytvoření fronty
  • Přidání zpráv do fronty
  • Prohlížet zprávy ve frontě
  • Aktualizace zprávy ve frontě
  • Přijímání zpráv z fronty
  • Odstranění zpráv z fronty
  • Odstranění fronty

Další prostředky:

Požadavky

Nastavení

tato část vás provede přípravou projektu pro práci s v12 klientské knihovny Azure Queue Storage pro .net.

Vytvoření projektu

Vytvořte aplikaci .NET Core s názvem QueuesQuickstartV12 .

  1. V okně konzoly (například cmd, PowerShell nebo bash) použijte dotnet new příkaz k vytvoření nové aplikace konzoly s názvem QueuesQuickstartV12 . Tento příkaz vytvoří jednoduchý projekt "Hello World" s jedním zdrojovým souborem s názvem Program.cs .

    dotnet new console -n QueuesQuickstartV12
    
  2. Přepněte do nově vytvořeného QueuesQuickstartV12 adresáře.

    cd QueuesQuickstartV12
    

Instalace balíčku

i když v adresáři aplikace ještě pořád nainstalujete balíček klientské knihovny Azure Queue Storage pro .net pomocí dotnet add package příkazu.

dotnet add package Azure.Storage.Queues

Nastavení aplikační architektury

Z adresáře projektu:

  1. Otevřete Program.cs soubor v editoru.
  2. Odebrat Console.WriteLine("Hello, World"); příkaz
  3. Přidat using direktivy
  4. Aktualizujte Main deklaraci metody pro podporu asynchronního kódu .

Zde je kód:

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)
        {
        }
    }
}

Zkopírování přihlašovacích údajů z webu Azure Portal

Když ukázková aplikace vytvoří požadavek na Azure Storage, musí být autorizována. Pokud chcete požadavek autorizovat, přidejte do aplikace přihlašovací údaje svého účtu úložiště jako připojovací řetězec. Pokud chcete zobrazit přihlašovací údaje účtu úložiště, postupujte takto:

  1. Přihlaste se k webu Azure Portal.

  2. Vyhledejte svůj účet úložiště.

  3. V podokně nabídek účtu úložiště v části Zabezpečení a sítě vyberte Přístupové klíče. Tady můžete zobrazit přístupové klíče účtu a úplný připojovací řetězec pro každý klíč.

    Snímek obrazovky znázorňuje, kde se nachází nastavení přístupového klíče v Azure Portal

  4. V podokně Přístupové klíče vyberte Zobrazit klíče.

  5. V části key1 vyhledejte hodnotu Připojovací řetězec. Vyberte ikonu Zkopírovat do schránky a zkopírujte připojovací řetězec. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

    Snímek obrazovky ukazující zkopírování připojovacího řetězce z webu Azure Portal

Konfigurace připojovacího řetězce úložiště

Po zkopírování připojovacího řetězce ho zapište do nové proměnné prostředí na místním počítači, na který běží aplikace. Proměnnou prostředí nastavíte tak, že otevřete okno konzoly a budete postupovat podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> skutečným připojovacím řetězcem.

Windows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

Po přidání proměnné prostředí v Windows, je nutné spustit novou instanci příkazového okna.

Linux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Restartování programů

Po přidání proměnné prostředí restartujte všechny spuštěné programy, které budou muset proměnnou prostředí přečíst. Před pokračováním například restartujte vývojové prostředí nebo editor.

Objektový model

Azure Queue Storage je služba pro ukládání velkých objemů zpráv. Zpráva fronty může mít velikost až 64 KB. Fronta může obsahovat miliony zpráv až do celkového limitu kapacity účtu úložiště. Fronty se běžně používají k vytváření nevyřízených položek pro asynchronní zpracování. Queue Storage nabízí tři typy prostředků:

  • Účet úložiště
  • Fronta v účtu úložiště
  • Zprávy ve frontě

Na následujícím diagramu jsou vztahy těchto prostředků.

Diagram architektury služby Queue Storage

Pro interakci s těmito prostředky použijte následující třídy .NET:

  • QueueServiceClient: QueueServiceClient Umožňuje spravovat všechny fronty v účtu úložiště.
  • QueueClient: QueueClient Třída umožňuje spravovat a manipulovat s jednotlivou frontou a jejími zprávami.
  • QueueMessage: QueueMessage Třída představuje jednotlivé objekty vracené při volání ReceiveMessages ve frontě.

Příklady kódu

tyto ukázkové fragmenty kódu ukazují, jak provést následující akce s klientskou knihovnou Azure Queue Storage pro .net:

Získání připojovacího řetězce

Následující kód načte připojovací řetězec pro účet úložiště. Připojovací řetězec je uložený v proměnné prostředí vytvořené v oddílu konfigurace vašeho připojovacího řetězce úložiště .

Přidejte tento kód do Main metody:

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");

Vytvoření fronty

Určete název nové fronty. Následující kód připojí hodnotu identifikátoru GUID k názvu fronty, aby bylo zajištěno, že je jedinečný.

Důležité

Názvy front můžou obsahovat jenom malá písmena, číslice a spojovníky a musí začínat písmenem nebo číslicí. Před i za každým spojovníkem musí být jiný znak než spojovník. Název musí mít také délku 3 až 63 znaků. Další informace najdete v tématu pojmenování front a metadat.

Vytvořte instanci QueueClient třídy. Pak zavolejte CreateAsync metodu pro vytvoření fronty ve vašem účtu úložiště.

Přidejte tento kód na konec Main metody:

// 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();

Přidání zpráv do fronty

Následující fragment kódu asynchronně přidá zprávy do fronty voláním SendMessageAsync metody. Také uloží SendReceipt vrácené SendMessageAsync volání. Příjem se používá k aktualizaci zprávy později v programu.

Přidejte tento kód na konec Main metody:

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");

Prohlížet zprávy ve frontě

Podívejte se na zprávy ve frontě tím, že zavoláte PeekMessagesAsync metodu. Tato metoda načte jednu nebo více zpráv z přední části fronty, ale nezmění viditelnost zprávy.

Přidejte tento kód na konec Main metody:

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}");
}

Aktualizace zprávy ve frontě

Aktualizujte obsah zprávy voláním UpdateMessageAsync metody. Tato metoda může změnit časový limit a obsah viditelnosti zprávy. Obsah zprávy musí být řetězec kódovaný v kódování UTF-8, který má velikost až 64 KB. Spolu s novým obsahem zprávy předejte hodnoty z rozhraní SendReceipt , které bylo uloženo dříve v kódu. SendReceiptHodnoty identifikují, která zpráva se má aktualizovat.

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");

Přijímání zpráv z fronty

Stažení dříve přidaných zpráv voláním ReceiveMessagesAsync metody.

Přidejte tento kód na konec Main metody:

Console.WriteLine("\nReceiving messages from the queue...");

// Get messages from the queue
QueueMessage[] messages = await queueClient.ReceiveMessagesAsync(maxMessages: 10);

Odstranění zpráv z fronty

Po zpracování zpráv z fronty je odstraňte. V tomto případě se při zpracování pouze zobrazuje zpráva v konzole.

Aplikace se pozastaví pro vstup uživatele tím, že Console.ReadLine zavolá předtím, než zprávy zpracuje a odstraní. Před odstraněním Azure Portal ve vašem počítači ověřte, že se prostředky správně vytvořily. Všechny zprávy, které nejsou explicitně odstraněné, se nakonec znovu zobrazí ve frontě a další možnost jejich zpracování.

Na konec metody přidejte tento Main kód:

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);
}

Odstranění fronty

Následující kód vyčistí prostředky vytvořené aplikací odstraněním fronty pomocí DeleteAsync metody .

Na konec metody přidejte tento Main kód:

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");

Spuštění kódu

Tato aplikace vytvoří a přidá tři zprávy do fronty Azure. Kód vypíše zprávy ve frontě a pak je načte a odstraní, než frontu nakonec odstraní.

V okně konzoly přejděte do adresáře aplikace a sestavte a spusťte aplikaci.

dotnet build
dotnet run

Výstup aplikace je podobný následujícímu příkladu:

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

Když se aplikace před přijetím zpráv pozastaví, zkontrolujte svůj účet úložiště v Azure Portal. Ověřte, že jsou zprávy ve frontě.

Stisknutím Enter klávesy zprávy přijímte a odstraňte. Po zobrazení výzvy znovu stiskněte Enter klávesu a odstraňte frontu a dokončete ukázku.

Další kroky

V tomto rychlém startu jste zjistili, jak vytvořit frontu a přidat do ní zprávy pomocí asynchronního kódu .NET. Pak jste se naučili prohlížet, načítat a odstraňovat zprávy. Nakonec jste zjistili, jak odstranit frontu zpráv.

Kurzy, ukázky, rychlé starty a další dokumentace najdete na: