Compartir a través de


QueueServiceClientBuilder Clase

  • java.lang.Object
    • com.azure.storage.queue.QueueServiceClientBuilder

Implementaciones

public final class QueueServiceClientBuilder
implements TokenCredentialTrait<QueueServiceClientBuilder>, ConnectionStringTrait<QueueServiceClientBuilder>, AzureNamedKeyCredentialTrait<QueueServiceClientBuilder>, AzureSasCredentialTrait<QueueServiceClientBuilder>, HttpTrait<QueueServiceClientBuilder>, ConfigurationTrait<QueueServiceClientBuilder>, EndpointTrait<QueueServiceClientBuilder>

Esta clase proporciona una API fluent builder para ayudar a ayudar a la configuración y creación de instancias de QueueServiceClient y QueueServiceAsyncClient, al llamar a buildClient() construye una instancia de QueueServiceClient y la llamada crea buildAsyncClient() una instancia de QueueServiceAsyncClient.

El cliente necesita el punto de conexión del servicio De cola de Azure Storage, el nombre del recurso compartido y la credencial de autorización. endpoint(String endpoint) proporciona al generador el punto de conexión y puede conceder al generador el token de SAS que autorice al cliente.

Creación de instancias de un cliente de Queue Service sincrónico con token de SAS

QueueServiceClient client = new QueueServiceClientBuilder()
     .endpoint("https://${accountName}.queue.core.windows.net?${SASToken}")
     .buildClient();

Creación de instancias de un cliente de Queue Service asincrónico con token de SAS

QueueServiceAsyncClient client = new QueueServiceClientBuilder()
     .endpoint("https://{accountName}.queue.core.windows.net?{SASToken}")
     .buildAsyncClient();

endpoint Si no contiene los parámetros de consulta para construir un token de SAS, se pueden establecer mediante sasToken(String sasToken) junto con el punto de conexión.

Creación de instancias de un cliente de Queue Service sincrónico con token de SAS

QueueServiceAsyncClient client = new QueueServiceClientBuilder()
     .endpoint("https://{accountName}.queue.core.windows.net")
     .sasToken("{SASTokenQueryParams}")
     .buildAsyncClient();

Creación de instancias de un cliente de Queue Service asincrónico con token de SAS

QueueServiceAsyncClient client = new QueueServiceClientBuilder()
     .endpoint("https://{accountName}.queue.core.windows.net")
     .sasToken("{SASTokenQueryParams}")
     .buildAsyncClient();

Otra manera de autenticar al cliente es usar .StorageSharedKeyCredential Para crear un storageSharedKeyCredential, debe usarse una cadena de conexión desde el servicio de cola de Storage. Establezca StorageSharedKeyCredential con connectionString(String connectionString). Si el generador tiene un token de SAS y StorageSharedKeyCredential, se prefiere StorageSharedKeyCredential al autorizar las solicitudes enviadas al servicio.

Creación de instancias de un cliente de Queue Service sincrónico con cadena de conexión.

String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
     + "AccountKey={key};EndpointSuffix={core.windows.net}";
 QueueServiceClient client = new QueueServiceClientBuilder()
     .connectionString(connectionString)
     .buildClient();

Creación de instancias de un cliente de Queue Service asincrónico con cadena de conexión.

String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
     + "AccountKey={key};EndpointSuffix={core.windows.net}";
 QueueServiceAsyncClient client = new QueueServiceClientBuilder()
     .connectionString(connectionString)
     .buildAsyncClient();

Resumen del constructor

Constructor Description
QueueServiceClientBuilder()

Crea una instancia del generador que puede configurar y construir QueueServiceClient y QueueServiceAsyncClient.

Resumen del método

Modificador y tipo Método y descripción
QueueServiceClientBuilder addPolicy(HttpPipelinePolicy pipelinePolicy)

Agrega un HttpPipelinePolicy objeto para aplicar en cada solicitud enviada.

QueueServiceAsyncClient buildAsyncClient()

Crea un QueueServiceAsyncClient objeto basado en las opciones establecidas en el generador.

QueueServiceClient buildClient()

Crea un QueueServiceClient objeto basado en las opciones establecidas en el generador.

QueueServiceClientBuilder clientOptions(ClientOptions clientOptions)

Permite establecer propiedades comunes, como el identificador de aplicación, los encabezados, la configuración del proxy, etc.

QueueServiceClientBuilder configuration(Configuration configuration)

Establece el objeto de configuración utilizado para recuperar los valores de configuración del entorno durante la compilación del cliente.

QueueServiceClientBuilder connectionString(String connectionString)

Establece la cadena de conexión para conectarse al servicio.

QueueServiceClientBuilder credential(AzureNamedKeyCredential credential)

Establece el AzureNamedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

QueueServiceClientBuilder credential(AzureSasCredential credential)

Establece el AzureSasCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

QueueServiceClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

QueueServiceClientBuilder credential(StorageSharedKeyCredential credential)

Establece el StorageSharedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

QueueServiceClientBuilder endpoint(String endpoint)

Establece el punto de conexión de la instancia de cola de Azure Storage con la que interactuará el cliente.

static HttpLogOptions getDefaultHttpLogOptions()

Obtiene los encabezados de registro y los parámetros de consulta de la lista de permitidos de almacenamiento predeterminados.

QueueServiceClientBuilder httpClient(HttpClient httpClient)

Establece el HttpClient objeto que se va a usar para enviar y recibir solicitudes hacia y desde el servicio.

QueueServiceClientBuilder httpLogOptions(HttpLogOptions logOptions)

Establece el HttpLogOptions objeto que se va a usar al enviar y recibir solicitudes hacia y desde el servicio.

QueueServiceClientBuilder messageEncoding(QueueMessageEncoding messageEncoding)

Establece la codificación de mensajes de cola.

QueueServiceClientBuilder pipeline(HttpPipeline httpPipeline)

Establece el objeto HttpPipeline que se va a usar para el cliente de servicio.

QueueServiceClientBuilder processMessageDecodingError(Consumer<QueueMessageDecodingError> processMessageDecodingErrorHandler)

Establece el controlador que realiza las tareas necesarias cuando se recibe o alcanza un mensaje de la cola, pero no se puede descodificar.

QueueServiceClientBuilder processMessageDecodingErrorAsync(Function<QueueMessageDecodingError,Mono<Void>> processMessageDecodingErrorAsyncHandler)

Establece el controlador asincrónico que realiza las tareas necesarias cuando se recibe o alcanza un mensaje de la cola, pero no se puede descodificar.

QueueServiceClientBuilder retryOptions(RetryOptions retryOptions)

Establece para RetryOptions todas las solicitudes realizadas a través del cliente.

QueueServiceClientBuilder retryOptions(RequestRetryOptions retryOptions)

Establece las opciones de reintento de solicitud para todas las solicitudes realizadas a través del cliente.

QueueServiceClientBuilder sasToken(String sasToken)

Establece el token de SAS usado para autorizar las solicitudes enviadas al servicio.

QueueServiceClientBuilder serviceVersion(QueueServiceVersion version)

Establece el QueueServiceVersion objeto que se usa al realizar solicitudes de API.

Métodos heredados de java.lang.Object

Detalles del constructor

QueueServiceClientBuilder

public QueueServiceClientBuilder()

Crea una instancia del generador que puede configurar y construir QueueServiceClient y QueueServiceAsyncClient.

Detalles del método

addPolicy

public QueueServiceClientBuilder addPolicy(HttpPipelinePolicy pipelinePolicy)

Agrega un HttpPipelinePolicy objeto para aplicar en cada solicitud enviada.

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

Parameters:

pipelinePolicy - Un objeto HttpPipelinePolicy.

Returns:

el objeto QueueServiceClientBuilder actualizado

buildAsyncClient

public QueueServiceAsyncClient buildAsyncClient()

Crea un QueueServiceAsyncClient objeto basado en las opciones establecidas en el generador. Cada vez que se llama una nueva instancia de QueueServiceAsyncClient se crea.

Si pipeline(HttpPipeline httpPipeline) se establece, y pipelineendpoint(String endpoint) se usan para crear .QueueServiceAsyncClient Se omiten todas las demás configuraciones del generador.

Returns:

QueueServiceAsyncClient con las opciones establecidas desde el generador.

buildClient

public QueueServiceClient buildClient()

Crea un QueueServiceClient objeto basado en las opciones establecidas en el generador. Cada vez que se llama una nueva instancia de QueueServiceClient se crea.

Si pipeline(HttpPipeline httpPipeline) se establece, y pipelineendpoint(String endpoint) se usan para crear .QueueServiceClient Se omiten todas las demás configuraciones del generador.

Returns:

QueueServiceClient con las opciones establecidas desde el generador.

clientOptions

public QueueServiceClientBuilder clientOptions(ClientOptions clientOptions)

Permite establecer propiedades comunes, como el identificador de aplicación, los encabezados, la configuración del proxy, etc. Tenga en cuenta que se recomienda llamar a este método con una instancia de la HttpClientOptions clase (una subclase de la ClientOptions clase base). La subclase HttpClientOptions proporciona más opciones de configuración adecuadas para los clientes HTTP, que se aplican a cualquier clase que implemente esta interfaz HttpTrait.

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

Parameters:

clientOptions - Instancia configurada de HttpClientOptions.

Returns:

el objeto QueueServiceClientBuilder actualizado

configuration

public QueueServiceClientBuilder configuration(Configuration configuration)

Establece el objeto de configuración utilizado para recuperar los valores de configuración del entorno durante la compilación del cliente.

Parameters:

configuration - Almacén de configuración usado para recuperar configuraciones de entorno.

Returns:

el objeto QueueServiceClientBuilder actualizado

connectionString

public QueueServiceClientBuilder connectionString(String connectionString)

Establece la cadena de conexión para conectarse al servicio.

Parameters:

connectionString - Cadena de conexión de la cuenta de almacenamiento.

Returns:

QueueServiceClientBuilder actualizado

credential

public QueueServiceClientBuilder credential(AzureNamedKeyCredential credential)

Establece el AzureNamedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

Parameters:

credential - AzureNamedKeyCredential.

Returns:

QueueServiceClientBuilder actualizado

credential

public QueueServiceClientBuilder credential(AzureSasCredential credential)

Establece el AzureSasCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

Parameters:

credential - AzureSasCredential se usa para autorizar las solicitudes enviadas al servicio.

Returns:

QueueServiceClientBuilder actualizado

credential

public QueueServiceClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. Consulte la documentación de autenticación e identidad de Azure SDK para Java para obtener más información sobre el uso adecuado del TokenCredential tipo.

Parameters:

credential - TokenCredential se usa para autorizar las solicitudes enviadas al servicio.

Returns:

QueueServiceClientBuilder actualizado

credential

public QueueServiceClientBuilder credential(StorageSharedKeyCredential credential)

Establece el StorageSharedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

Parameters:

Returns:

QueueServiceClientBuilder actualizado

endpoint

public QueueServiceClientBuilder endpoint(String endpoint)

Establece el punto de conexión de la instancia de cola de Azure Storage con la que interactuará el cliente.

Los parámetros de consulta del punto de conexión se analizarán en un intento de generar un token de SAS para autenticar las solicitudes enviadas al servicio.

Parameters:

endpoint - La dirección URL de la instancia de cola de Azure Storage para enviar solicitudes de servicio a y recibir respuestas de .

Returns:

el objeto QueueServiceClientBuilder actualizado

getDefaultHttpLogOptions

public static HttpLogOptions getDefaultHttpLogOptions()

Obtiene los encabezados de registro y los parámetros de consulta de la lista de permitidos de almacenamiento predeterminados.

Returns:

las opciones de registro http predeterminadas.

httpClient

public QueueServiceClientBuilder httpClient(HttpClient httpClient)

Establece el HttpClient objeto que se va a usar para enviar y recibir solicitudes hacia y desde el servicio.

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

Parameters:

httpClient - que HttpClient se va a usar para las solicitudes.

Returns:

el objeto QueueServiceClientBuilder actualizado

httpLogOptions

public QueueServiceClientBuilder httpLogOptions(HttpLogOptions logOptions)

Establece el HttpLogOptions objeto que se va a usar al enviar y recibir solicitudes hacia y desde el servicio. Si no se proporciona , logLevel se establece el valor predeterminado de HttpLogDetailLevel#NONE .

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

Parameters:

logOptions - que HttpLogOptions se va a usar al enviar y recibir solicitudes hacia y desde el servicio.

Returns:

el objeto QueueServiceClientBuilder actualizado

messageEncoding

public QueueServiceClientBuilder messageEncoding(QueueMessageEncoding messageEncoding)

Establece la codificación de mensajes de cola.

Parameters:

messageEncoding - QueueMessageEncoding.

Returns:

el objeto QueueServiceClientBuilder actualizado

pipeline

public QueueServiceClientBuilder pipeline(HttpPipeline httpPipeline)

Establece el objeto HttpPipeline que se va a usar para el cliente de servicio.

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

No endpoint(String endpoint) se omite cuando pipeline se establece .

Parameters:

httpPipeline - HttpPipeline para usarlo para enviar solicitudes de servicio y recibir respuestas.

Returns:

el objeto QueueServiceClientBuilder actualizado

processMessageDecodingError

public QueueServiceClientBuilder processMessageDecodingError(Consumer processMessageDecodingErrorHandler)

Establece el controlador que 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 la cola espera cierta, QueueMessageEncoding pero hay otro productor que no codifica los mensajes de la manera esperada. Es decir, la cola contiene mensajes con codificación diferente.

QueueMessageDecodingError contiene QueueClient para la cola que ha recibido el mensaje, así como getQueueMessageItem() o getPeekedMessageItem() con cuerpo sin procesar, es decir, no se intentará descodificar para que el cuerpo se pueda inspeccionar tal cual se ha recibido de la cola.

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

El controlador lo compartirán todos los clientes de cola creados a partir de QueueServiceClient o QueueServiceAsyncClient creados por este generador.

Se recomienda usar este controlador para el sincrónico QueueClient.

Ejemplos de código

String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
     + "AccountKey={key};EndpointSuffix={core.windows.net}";

 Consumer<QueueMessageDecodingError> processMessageDecodingErrorHandler =
     (queueMessageDecodingFailure) -> {
         QueueMessageItem queueMessageItem = queueMessageDecodingFailure.getQueueMessageItem();
         PeekedMessageItem peekedMessageItem = queueMessageDecodingFailure.getPeekedMessageItem();
         if (queueMessageItem != null) {
             System.out.printf("Received badly encoded message, messageId=%s, messageBody=%s",
                 queueMessageItem.getMessageId(),
                 queueMessageItem.getBody().toString());
             queueMessageDecodingFailure
                 .getQueueClient()
                 .deleteMessage(queueMessageItem.getMessageId(), queueMessageItem.getPopReceipt());
         } else if (peekedMessageItem != null) {
             System.out.printf("Peeked badly encoded message, messageId=%s, messageBody=%s",
                 peekedMessageItem.getMessageId(),
                 peekedMessageItem.getBody().toString());
         }
     };

 QueueServiceClient client = new QueueServiceClientBuilder()
     .connectionString(connectionString)
     .processMessageDecodingError(processMessageDecodingErrorHandler)
     .buildClient();

Parameters:

processMessageDecodingErrorHandler - el controlador.

Returns:

el objeto QueueServiceClientBuilder actualizado

processMessageDecodingErrorAsync

public QueueServiceClientBuilder processMessageDecodingErrorAsync(Function> processMessageDecodingErrorAsyncHandler)

Establece el controlador asincrónico que 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 la cola espera cierta, QueueMessageEncoding pero hay otro productor que no codifica los mensajes de la manera esperada. Es decir, la cola contiene mensajes con codificación diferente.

QueueMessageDecodingError contiene QueueAsyncClient para la cola que ha recibido el mensaje, así como getQueueMessageItem() o getPeekedMessageItem() con cuerpo sin procesar, es decir, no se intentará descodificar para que el cuerpo se pueda inspeccionar tal cual se ha recibido de la cola.

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

El controlador lo compartirán todos los clientes de cola creados a partir de QueueServiceClient o QueueServiceAsyncClient creados por este generador.

Se recomienda usar este controlador para el asincrónico QueueAsyncClient.

Ejemplos de código

String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
     + "AccountKey={key};EndpointSuffix={core.windows.net}";

 Function<QueueMessageDecodingError, Mono<Void>> processMessageDecodingErrorHandler =
     (queueMessageDecodingFailure) -> {
         QueueMessageItem queueMessageItem = queueMessageDecodingFailure.getQueueMessageItem();
         PeekedMessageItem peekedMessageItem = queueMessageDecodingFailure.getPeekedMessageItem();
         if (queueMessageItem != null) {
             System.out.printf("Received badly encoded message, messageId=%s, messageBody=%s",
                 queueMessageItem.getMessageId(),
                 queueMessageItem.getBody().toString());
             return queueMessageDecodingFailure
                 .getQueueAsyncClient()
                 .deleteMessage(queueMessageItem.getMessageId(), queueMessageItem.getPopReceipt());
         } else if (peekedMessageItem != null) {
             System.out.printf("Peeked badly encoded message, messageId=%s, messageBody=%s",
                 peekedMessageItem.getMessageId(),
                 peekedMessageItem.getBody().toString());
             return Mono.empty();
         } else {
             return Mono.empty();
         }
     };

 QueueServiceClient client = new QueueServiceClientBuilder()
     .connectionString(connectionString)
     .processMessageDecodingErrorAsync(processMessageDecodingErrorHandler)
     .buildClient();

Parameters:

processMessageDecodingErrorAsyncHandler - el controlador.

Returns:

el objeto QueueServiceClientBuilder actualizado

retryOptions

public QueueServiceClientBuilder retryOptions(RetryOptions retryOptions)

Establece para RetryOptions todas las solicitudes realizadas a través del cliente.

Nota: Es importante comprender el orden de precedencia de las API de HttpTrait. En concreto, si se especifica , HttpPipeline esto tiene prioridad sobre todas las demás API del rasgo y se omitirán. Si no se especifica ningún HttpPipeline , una canalización HTTP se construirá internamente en función de la configuración proporcionada a este rasgo. Además, puede haber otras API en tipos que implementen este rasgo que también se omiten si se especifica un HttpPipeline , por lo que asegúrese de consultar la documentación de tipos que implementan este rasgo para comprender todo el conjunto de implicaciones.

Establecer esta opción es mutuamente excluyente con el uso de retryOptions(RequestRetryOptions retryOptions). Considere la posibilidad de usar retryOptions(RequestRetryOptions retryOptions) para establecer también opciones específicas de almacenamiento.

Parameters:

retryOptions - que RetryOptions se va a usar para todas las solicitudes realizadas a través del cliente.

Returns:

el objeto QueueServiceClientBuilder actualizado

retryOptions

public QueueServiceClientBuilder retryOptions(RequestRetryOptions retryOptions)

Establece las opciones de reintento de solicitud para todas las solicitudes realizadas a través del cliente. Establecer esta opción es mutuamente excluyente con el uso de retryOptions(RetryOptions retryOptions).

Parameters:

retryOptions - RequestRetryOptions.

Returns:

el objeto QueueServiceClientBuilder actualizado.

sasToken

public QueueServiceClientBuilder sasToken(String sasToken)

Establece el token de SAS usado para autorizar las solicitudes enviadas al servicio.

Parameters:

sasToken - Token de SAS que se va a usar para autenticar solicitudes. Esta cadena solo debe ser los parámetros de consulta (con o sin una dirección URL inicial "?") y no una dirección URL completa.

Returns:

QueueServiceClientBuilder actualizado

serviceVersion

public QueueServiceClientBuilder serviceVersion(QueueServiceVersion version)

Establece el QueueServiceVersion objeto que se usa al realizar solicitudes de API.

Si no se proporciona una versión del servicio, la versión del servicio que se usará será la versión de servicio conocida más reciente en función de la versión de la biblioteca cliente que se va a usar. Si no se especifica ninguna versión del servicio, la actualización a una versión más reciente de la biblioteca cliente tendrá el resultado de pasar a una versión de servicio más reciente.

El destino de una versión de servicio específica también puede significar que el servicio devolverá un error para las API más recientes.

Parameters:

version - QueueServiceVersion del servicio que se va a usar al realizar solicitudes.

Returns:

el objeto QueueServiceClientBuilder actualizado

Se aplica a