QueueServiceClientBuilder Clase
- java.
lang. Object - com.
azure. storage. queue. QueueServiceClientBuilder
- com.
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 |
---|---|
Queue |
addPolicy(HttpPipelinePolicy pipelinePolicy)
Agrega un HttpPipelinePolicy objeto para aplicar en cada solicitud enviada. |
Queue |
buildAsyncClient()
Crea un QueueServiceAsyncClient objeto basado en las opciones establecidas en el generador. |
Queue |
buildClient()
Crea un QueueServiceClient objeto basado en las opciones establecidas en el generador. |
Queue |
clientOptions(ClientOptions clientOptions)
Permite establecer propiedades comunes, como el identificador de aplicación, los encabezados, la configuración del proxy, etc. |
Queue |
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. |
Queue |
connectionString(String connectionString)
Establece la cadena de conexión para conectarse al servicio. |
Queue |
credential(AzureNamedKeyCredential credential)
Establece el AzureNamedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. |
Queue |
credential(AzureSasCredential credential)
Establece el AzureSasCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. |
Queue |
credential(TokenCredential credential)
Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. |
Queue |
credential(StorageSharedKeyCredential credential)
Establece el StorageSharedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. |
Queue |
endpoint(String endpoint)
Establece el punto de conexión de la instancia de cola de Azure Storage con la que interactuará el cliente. |
static
Http |
getDefaultHttpLogOptions()
Obtiene los encabezados de registro y los parámetros de consulta de la lista de permitidos de almacenamiento predeterminados. |
Queue |
httpClient(HttpClient httpClient)
Establece el HttpClient objeto que se va a usar para enviar y recibir solicitudes hacia y desde el servicio. |
Queue |
httpLogOptions(HttpLogOptions logOptions)
Establece el HttpLogOptions objeto que se va a usar al enviar y recibir solicitudes hacia y desde el servicio. |
Queue |
messageEncoding(QueueMessageEncoding messageEncoding)
Establece la codificación de mensajes de cola. |
Queue |
pipeline(HttpPipeline httpPipeline)
Establece el objeto HttpPipeline que se va a usar para el cliente de servicio. |
Queue |
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. |
Queue |
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. |
Queue |
retryOptions(RetryOptions retryOptions)
Establece para RetryOptions todas las solicitudes realizadas a través del cliente. |
Queue |
retryOptions(RequestRetryOptions retryOptions)
Establece las opciones de reintento de solicitud para todas las solicitudes realizadas a través del cliente. |
Queue |
sasToken(String sasToken)
Establece el token de SAS usado para autorizar las solicitudes enviadas al servicio. |
Queue |
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:
Returns:
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 pipeline
endpoint(String endpoint) se usan para crear .QueueServiceAsyncClient Se omiten todas las demás configuraciones del generador.
Returns:
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 pipeline
endpoint(String endpoint) se usan para crear .QueueServiceClient Se omiten todas las demás configuraciones del generador.
Returns:
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:
Returns:
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:
Returns:
connectionString
public QueueServiceClientBuilder connectionString(String connectionString)
Establece la cadena de conexión para conectarse al servicio.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureNamedKeyCredential credential)
Establece el AzureNamedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureSasCredential credential)
Establece el AzureSasCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.
Parameters:
Returns:
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:
Returns:
credential
public QueueServiceClientBuilder credential(StorageSharedKeyCredential credential)
Establece el StorageSharedKeyCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.
Parameters:
Returns:
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:
Returns:
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:
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:
Returns:
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:
Returns:
messageEncoding
public QueueServiceClientBuilder messageEncoding(QueueMessageEncoding messageEncoding)
Establece la codificación de mensajes de cola.
Parameters:
Returns:
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:
Returns:
processMessageDecodingError
public QueueServiceClientBuilder processMessageDecodingError(Consumer
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:
Returns:
processMessageDecodingErrorAsync
public QueueServiceClientBuilder processMessageDecodingErrorAsync(Function
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:
Returns:
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:
Returns:
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:
Returns:
sasToken
public QueueServiceClientBuilder sasToken(String sasToken)
Establece el token de SAS usado para autorizar las solicitudes enviadas al servicio.
Parameters:
Returns:
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:
Returns: