Bibliothèque de client Files d’attente de stockage Azure pour .NET - version 12.17.0

Version du serveur : 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 et 2019-02-02

Les files d’attente de stockage Azure sont un service permettant de stocker un grand nombre de messages accessibles depuis n’importe où dans le monde via des appels authentifiés avec HTTP ou HTTPS. Un simple message de file d’attente peut avoir une taille de 64 Ko et une file d’attente peut contenir des millions de messages, jusqu’à la limite de capacité totale d’un compte de stockage.

| Code sourcePackage (NuGet) | Documentation de référence sur les | APIDocumentation | sur l’API RESTDocumentation produit

Prise en main

Installer le package

Installez la bibliothèque de client Files d’attente de stockage Azure pour .NET avec NuGet :

dotnet add package Azure.Storage.Queues

Prérequis

Vous avez besoin d’un abonnement Azure et d’un compte de stockage pour utiliser ce package.

Pour créer un compte de stockage, vous pouvez utiliser le portail Azure, Azure PowerShell ou Azure CLI. Voici un exemple utilisant Azure CLI :

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

Authentifier le client

Pour interagir avec le service Stockage File d’attente Azure, vous devez créer un instance de la classe QueueClient. La bibliothèque d’identités Azure facilite l’ajout de la prise en charge d’Azure Active Directory pour l’authentification des clients du Kit de développement logiciel (SDK) Azure auprès de leurs services Azure correspondants.

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

Pour en savoir plus sur l’activation d’Azure Active Directory pour l’authentification avec Stockage Azure, consultez notre documentation et nos exemples.

Concepts clés

Voici quelques utilisations courantes des files d’attente de stockage :

  • Création d'un journal des travaux en souffrance de travail à traiter de manière asynchrone
  • Transmission de messages entre différentes parties d’une application distribuée

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont thread-safe et indépendantes les unes des autres (instructions). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options | du clientAccès à la réponse | Opérations | de longue duréeGestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

Envoyer des messages

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

Recevoir des messages

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

API asynchrones

Nous prenons entièrement en charge les API synchrones et asynchrones.

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

Codage du message

Cette version de la bibliothèque n’encode pas le message par défaut. Les versions V11 et antérieures, ainsi que les Azure Functions utilisent des messages encodés en base64 par défaut. Par conséquent, il est recommandé d’utiliser cette fonctionnalité pour les scénarios d’interopérabilité.

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

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

Dépannage

Toutes les opérations du service file d’attente stockage Azure lèvent une exception RequestFailedException en cas d’échec avec des s utilesErrorCode. La plupart de ces erreurs peuvent être récupérées.

// 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
}

Étapes suivantes

Prise en main de nos exemples de file d’attente :

  1. Hello World : Mettre en file d’attente, mettre en file d’attente de façon asynchrone, afficher un aperçu et mettre à jour les messages de file d’attente
  2. Authentification : Authentifiez-vous avec des chaînes de connexion, des clés partagées, des signatures d’accès partagé et Azure Active Directory.

Contribution

Consultez la CONTRIBUTING.md stockage pour plus d’informations sur la création, le test et la contribution à cette bibliothèque.

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions