Freigeben über


Azure Storage Queues-Clientbibliothek für .NET– Version 12.17.0

Serverversion: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 und 2019-02-02-02

Die Warteschlangenspeicherung in Azure ist ein Dienst zur Speicherung großer Anzahlen von Nachrichten, auf die von überall auf der Welt mit authentifizierten Anrufen über HTTP oder HTTPS zugegriffen werden kann. Eine einzelne Warteschlangennachricht kann bis zu 64 KB groß sein, und eine Warteschlange kann Millionen von Nachrichten enthalten. Deren Anzahl ist nur durch die Kapazität des Speicherkontos begrenzt.

Quellcode | Paket (NuGet) | API-Referenzdokumentation | REST-API-Dokumentation | Produktdokumentation

Erste Schritte

Installieren des Pakets

Installieren Sie die Azure Storage Queues-Clientbibliothek für .NET mit NuGet:

dotnet add package Azure.Storage.Queues

Voraussetzungen

Sie benötigen ein Azure-Abonnement und ein Speicherkonto , um dieses Paket verwenden zu können.

Zum Erstellen eines neuen Speicherkontos können Sie das Azure-Portal, Azure PowerShell oder die Azure CLI verwenden. Beispiel für die Verwendung der Azure-Befehlszeilenschnittstelle:

az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS

Authentifizieren des Clients

Um mit dem Azure Queue Storage-Dienst zu interagieren, müssen Sie eine instance der QueueClient-Klasse erstellen. Die Azure Identity-Bibliothek erleichtert das Hinzufügen von Azure Active Directory-Unterstützung für die Authentifizierung von Azure SDK-Clients mit den entsprechenden Azure-Diensten.

// Create a QueueClient that will authenticate through Active Directory
Uri queueUri = new Uri("https://MYSTORAGEACCOUNT.queue.core.windows.net/QUEUENAME");
QueueClient queue = new QueueClient(queueUri, new DefaultAzureCredential());

Weitere Informationen zum Aktivieren von Azure Active Directory für die Authentifizierung mit Azure Storage finden Sie in unserer Dokumentation und in unseren Beispielen.

Wichtige Begriffe

Warteschlangenspeicherungen werden hauptsächlich für folgende Zwecke verwendet:

  • Erstellung eines Arbeits-Backlogs zur asynchronen Verarbeitung
  • Übergeben von Nachrichten zwischen verschiedenen Teilen einer verteilten Anwendung

Threadsicherheit

Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch über Threads hinweg.

Zusätzliche Konzepte

Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer

Beispiele

Senden von Nachrichten

// We'll need a connection string to your Azure Storage account.
// You can obtain your connection string from the Azure Portal
// (click Access Keys under Settings in the Portal Storage account
// blade) or using the Azure CLI with:
//
//     az storage account show-connection-string --name <account_name> --resource-group <resource_group>
//
// You would normally provide the connection string to your
// application using an environment variable.
string connectionString = "<connection_string>";

// Name of the queue we'll send messages to
string queueName = "sample-queue";

// Get a reference to a queue and then create it
QueueClient queue = new QueueClient(connectionString, queueName);
queue.Create();

// Send a message to our queue
queue.SendMessage("Hello, Azure!");

Empfangen von Nachrichten

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of an existing queue we'll operate on
string queueName = "sample-queue";

// Get a reference to a queue and then fill it with messages
QueueClient queue = new QueueClient(connectionString, queueName);
queue.SendMessage("first");
queue.SendMessage("second");
queue.SendMessage("third");

// Get the next messages from the queue
foreach (QueueMessage message in queue.ReceiveMessages(maxMessages: 10).Value)
{
    // "Process" the message
    Console.WriteLine($"Message: {message.Body}");

    // Let the service know we're finished with the message and
    // it can be safely deleted.
    queue.DeleteMessage(message.MessageId, message.PopReceipt);
}

Asynchrone APIs

Wir unterstützen sowohl synchrone als auch asynchrone APIs vollständig.

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of the queue we'll send messages to
string queueName = "sample-queue";

// Get a reference to a queue and then create it
QueueClient queue = new QueueClient(connectionString, queueName);
await queue.CreateAsync();

// Send a message to our queue
await queue.SendMessageAsync("Hello, Azure!");

Nachrichtencodierung

Diese Version der Bibliothek codiert die Nachricht standardmäßig nicht. V11 und frühere Versionen sowie Azure Functions standardmäßig Base64-codierte Nachrichten verwenden. Daher wird empfohlen, dieses Feature für Interoperabilitätsszenarien zu verwenden.

QueueClientOptions queueClientOptions = new QueueClientOptions()
{
    MessageEncoding = QueueMessageEncoding.Base64
};

QueueClient queueClient = new QueueClient(connectionString, queueName, queueClientOptions);

Problembehandlung

Alle Azure Storage-Warteschlangendienstvorgänge lösen bei Einem Fehler eine RequestFailedException mit hilfreichenErrorCode Funktionen aus. Viele dieser Fehler können wiederhergestellt werden.

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of an existing queue we'll operate on
string queueName = "sample-queue";

try
{
    // Try to create a queue that already exists
    QueueClient queue = new QueueClient(connectionString, queueName);
    queue.Create();
}
catch (RequestFailedException ex)
    when (ex.ErrorCode == QueueErrorCode.QueueAlreadyExists)
{
    // Ignore any errors if the queue already exists
}

Nächste Schritte

Erste Schritte mit unseren Warteschlangenbeispielen:

  1. Hallo Welt: Warteschlangennachrichten in die Warteschlange stellen, aufheben, einsehen und aktualisieren (oder asynchron)
  2. Authentifizierung: Authentifizieren Sie sich mit Verbindungszeichenfolgen, freigegebenen Schlüsseln, Shared Access Signatures und Azure Active Directory.

Mitwirken

Ausführliche Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie unter Storage CONTRIBUTING.md .

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.

Aufrufe