Partager via


SpecializedQueueClientOptions Classe

Définition

Fournit des options de configuration client avancées pour la connexion au Stockage File d’attente Azure.

public class SpecializedQueueClientOptions : Azure.Storage.Queues.QueueClientOptions
type SpecializedQueueClientOptions = class
    inherit QueueClientOptions
Public Class SpecializedQueueClientOptions
Inherits QueueClientOptions
Héritage
SpecializedQueueClientOptions

Constructeurs

SpecializedQueueClientOptions(QueueClientOptions+ServiceVersion)

Initialise une nouvelle instance de la classe QueueClientOptions.

Propriétés

Audience

Obtient ou définit l’audience à utiliser pour l’authentification avec Azure Active Directory (AAD). L’audience n’est pas prise en compte lors de l’utilisation d’une clé partagée.

(Hérité de QueueClientOptions)
ClientSideEncryption

Paramètres pour le chiffrement des données dans le SDK. Le chiffrement côté client ajoute des métadonnées à vos messages de file d’attente qui sont nécessaires à la maintenance pour le déchiffrement.

Pour plus d’informations, consultez .

Diagnostics

Obtient les options de diagnostic du client.

(Hérité de ClientOptions)
EnableTenantDiscovery

Active la découverte du locataire par le biais du défi d’autorisation lorsque le client est configuré pour utiliser un TokenCredential. Lorsque cette option est activée, le client tente une demande initiale non autorisée pour inviter un défi afin de découvrir le locataire approprié pour la ressource.

(Hérité de QueueClientOptions)
GeoRedundantSecondaryUri

Obtient ou définit le stockage Uri secondaire qui peut être lu pour le compte de stockage si le compte est activé pour RA-GRS.

Si cette propriété est définie, l’URI secondaire sera utilisé pour les requêtes GET ou HEAD lors des nouvelles tentatives. Si le status de la réponse de l’URI secondaire est un 404, les nouvelles tentatives suivantes pour la demande n’utiliseront plus l’URI secondaire, car cela indique que la ressource n’y a peut-être pas encore été propagée. Sinon, les nouvelles tentatives suivantes alternent entre uri principal et uri secondaire.

(Hérité de QueueClientOptions)
MessageEncoding

Obtient ou définit un encodage de message qui détermine comment Body est représenté dans les requêtes et réponses HTTP. Par défaut, il s’agit de None.

(Hérité de QueueClientOptions)
Retry

Obtient les options de nouvelle tentative du client.

(Hérité de ClientOptions)
RetryPolicy

Obtient ou définit la stratégie à utiliser pour les nouvelles tentatives. Si une stratégie est spécifiée, elle sera utilisée à la place de la Retry propriété . Le RetryPolicy type peut être dérivé de pour modifier le comportement par défaut sans avoir à implémenter entièrement la logique de nouvelle tentative. Si Process(HttpMessage, ReadOnlyMemory<HttpPipelinePolicy>) est remplacé ou si un personnalisé HttpPipelinePolicy est spécifié, il incombe à l’implémenteur de mettre à jour les ProcessingContext valeurs.

(Hérité de ClientOptions)
Transport

HttpPipelineTransport à utiliser pour ce client. Par défaut, un instance de HttpClientTransport.

(Hérité de ClientOptions)
Version

Obtient le QueueClientOptions.ServiceVersion de l’API de service utilisée lors de l’envoi de requêtes. Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.

(Hérité de QueueClientOptions)

Méthodes

AddPolicy(HttpPipelinePolicy, HttpPipelinePosition)

Ajoute une HttpPipeline stratégie dans le pipeline client. La position de la stratégie dans le pipeline est contrôlée par le position paramètre . Si vous souhaitez que la stratégie s’exécute une fois par requête client, utilisez PerCallPerRetry sinon pour exécuter la stratégie pour chaque nouvelle tentative. Notez que le même instance de policy serait ajouté à tous les pipelines du client construits à l’aide de cet ClientOptions objet.

(Hérité de ClientOptions)

Événements

MessageDecodingFailed

facultatif. Effectue les tâches nécessaires lorsqu’un message est reçu ou atteint un pic à partir de la file d’attente, mais ne peut pas être décodé.

Ce message peut être reçu ou atteint un pic lorsque QueueClient s’attend à certains QueueMessageEncoding , mais il existe un autre producteur qui n’encode pas les messages de la manière attendue. C’est-à-dire que la file d’attente contient des messages avec un encodage différent.

QueueMessageDecodingFailedEventArgs contient QueueClient qui a reçu le message ainsi que ReceivedMessage ou PeekedMessage avec un corps brut, c’est-à-dire qu’aucun décodage ne sera tenté afin que le corps puisse être inspecté comme il a été reçu à partir de la file d’attente.

QueueClient Ne tente pas de supprimer le message de la file d’attente. Par conséquent, cette gestion doit être incluse dans le gestionnaire d’événements lui-même.

Le gestionnaire est potentiellement appelé par des API de réception et d’aperçu synchrones et asynchrones. Par conséquent, l’implémentation du gestionnaire doit s’aligner sur QueueClient les API utilisées. Découvrez SyncAsyncEventHandler<T> comment implémenter correctement le gestionnaire. L’exemple ci-dessous montre un gestionnaire avec tous les cas possibles explorés.

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

queueClientOptions.MessageDecodingFailed += async (QueueMessageDecodingFailedEventArgs args) =>
{
    if (args.PeekedMessage != null)
    {
        Console.WriteLine($"Invalid message has been peeked, message id={args.PeekedMessage.MessageId} body={args.PeekedMessage.Body}");
    }
    else if (args.ReceivedMessage != null)
    {
        Console.WriteLine($"Invalid message has been received, message id={args.ReceivedMessage.MessageId} body={args.ReceivedMessage.Body}");

        if (args.IsRunningSynchronously)
        {
            args.Queue.DeleteMessage(args.ReceivedMessage.MessageId, args.ReceivedMessage.PopReceipt);
        }
        else
        {
            await args.Queue.DeleteMessageAsync(args.ReceivedMessage.MessageId, args.ReceivedMessage.PopReceipt);
        }
    }
};

QueueClient queueClient = new QueueClient(connectionString, queueName, queueClientOptions);
(Hérité de QueueClientOptions)

S’applique à