Compartir a través de


SpecializedQueueClientOptions Clase

Definición

Proporciona opciones avanzadas de configuración de cliente para conectarse a Azure Queue Storage.

public class SpecializedQueueClientOptions : Azure.Storage.Queues.QueueClientOptions
type SpecializedQueueClientOptions = class
    inherit QueueClientOptions
Public Class SpecializedQueueClientOptions
Inherits QueueClientOptions
Herencia
SpecializedQueueClientOptions

Constructores

SpecializedQueueClientOptions(QueueClientOptions+ServiceVersion)

Inicializa una nueva instancia de la clase QueueClientOptions.

Propiedades

Audience

Obtiene o establece la audiencia que se va a usar para la autenticación con Azure Active Directory (AAD). La audiencia no se considera cuando se usa una clave compartida.

(Heredado de QueueClientOptions)
ClientSideEncryption

Configuración del cifrado de datos en el SDK. El cifrado del lado cliente agrega metadatos a los mensajes de cola que es necesario mantener para el descifrado.

Para obtener más información, vea .

Diagnostics

Obtiene las opciones de diagnóstico de cliente.

(Heredado de ClientOptions)
EnableTenantDiscovery

Habilita la detección de inquilinos a través del desafío de autorización cuando el cliente está configurado para usar un TokenCredential. Cuando se habilita, el cliente intentará una solicitud inicial no autorizada para solicitar un desafío para detectar el inquilino correcto para el recurso.

(Heredado de QueueClientOptions)
GeoRedundantSecondaryUri

Obtiene o establece el almacenamiento Uri secundario desde el que se puede leer para la cuenta de almacenamiento si la cuenta está habilitada para RA-GRS.

Si se establece esta propiedad, el URI secundario se usará para las solicitudes GET o HEAD durante los reintentos. Si el estado de la respuesta del URI secundario es 404, los reintentos posteriores de la solicitud no volverán a usar el URI secundario, ya que esto indica que es posible que el recurso no se haya propagado todavía. De lo contrario, los reintentos posteriores se alternarán entre el URI principal y secundario.

(Heredado de QueueClientOptions)
MessageEncoding

Obtiene o establece una codificación de mensajes que determina cómo Body se representa en las solicitudes y respuestas HTTP. El valor predeterminado es None.

(Heredado de QueueClientOptions)
Retry

Obtiene las opciones de reintento de cliente.

(Heredado de ClientOptions)
RetryPolicy

Obtiene o establece la directiva que se va a usar para los reintentos. Si se especifica una directiva, se usará en lugar de la Retry propiedad . El RetryPolicy tipo se puede derivar de para modificar el comportamiento predeterminado sin necesidad de implementar completamente la lógica de reintento. Si Process(HttpMessage, ReadOnlyMemory<HttpPipelinePolicy>) se invalida o se especifica un personalizado HttpPipelinePolicy , es responsabilidad del implementador actualizar los ProcessingContext valores.

(Heredado de ClientOptions)
Transport

HttpPipelineTransport que se va a usar para este cliente. El valor predeterminado es una instancia de HttpClientTransport.

(Heredado de ClientOptions)
Version

Obtiene el QueueClientOptions.ServiceVersion objeto de la API de servicio que se usa al realizar solicitudes. Para más información, consulte Para obtener más información, consulte Control de versiones para los servicios de Azure Storage.

(Heredado de QueueClientOptions)

Métodos

AddPolicy(HttpPipelinePolicy, HttpPipelinePosition)

Agrega una HttpPipeline directiva a la canalización de cliente. El parámetro controla la position posición de la directiva en la canalización. Si desea que la directiva se ejecute una vez por solicitud de cliente, use PerCallPerRetry de lo contrario para ejecutar la directiva para cada reintento. Tenga en cuenta que la misma instancia de policy se agregaría a todas las canalizaciones de cliente construidas mediante este ClientOptions objeto.

(Heredado de ClientOptions)

Eventos

MessageDecodingFailed

Opcional. Realiza las tareas necesarias cuando se recibe o alcanza un mensaje de la cola, pero no se puede descodificar.

Este mensaje se puede recibir o alcanzar el pico cuando QueueClient se espera cierto, QueueMessageEncoding pero hay otro productor que no codifica los mensajes de la manera esperada. Es decir, la cola contiene mensajes con codificación diferente.

QueueMessageDecodingFailedEventArgs contiene QueueClient que ha recibido el mensaje, así como ReceivedMessage o PeekedMessage con cuerpo sin procesar, es decir, no se intentará descodificar para que el cuerpo se pueda inspeccionar tal como se ha recibido de la cola.

QueueClient no intentará quitar el mensaje de la cola. Por lo tanto, este control debe incluirse en el propio controlador de eventos.

El controlador se invoca potencialmente mediante la recepción sincrónica y asincrónica y las API de inspección. Por lo tanto, la implementación del controlador debe alinearse con QueueClient las API que se usan. Vea SyncAsyncEventHandler<T> cómo implementar correctamente el controlador. En el ejemplo siguiente se muestra un controlador con todos los casos posibles explorados.

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

(Heredado de QueueClientOptions)

Se aplica a