QueueServiceClientBuilder Classe
- java.
lang. Object - com.
azure. storage. queue. QueueServiceClientBuilder
- com.
Implementações
public final class QueueServiceClientBuilder
implements TokenCredentialTrait<QueueServiceClientBuilder>, ConnectionStringTrait<QueueServiceClientBuilder>, AzureNamedKeyCredentialTrait<QueueServiceClientBuilder>, AzureSasCredentialTrait<QueueServiceClientBuilder>, HttpTrait<QueueServiceClientBuilder>, ConfigurationTrait<QueueServiceClientBuilder>, EndpointTrait<QueueServiceClientBuilder>
Essa classe fornece uma API de construtor fluente para ajudar na configuração e na instanciação do QueueServiceClient e QueueServiceAsyncClient, chamar buildClient() constrói uma instância de QueueServiceClient e chamar buildAsyncClient() constrói uma instância de QueueServiceAsyncClient.
O cliente precisa do ponto de extremidade do serviço fila de armazenamento do Azure, o nome do compartilhamento e a credencial de autorização. endpoint(String endpoint) fornece ao construtor o ponto de extremidade e pode dar ao construtor um token SAS que autoriza o cliente.
Instanciando um cliente de serviço de fila síncrono com o token SAS
QueueServiceClient client = new QueueServiceClientBuilder()
.endpoint("https://${accountName}.queue.core.windows.net?${SASToken}")
.buildClient();
Instanciando um cliente de serviço de fila assíncrona com token SAS
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net?{SASToken}")
.buildAsyncClient();
Se o endpoint
não contiver os parâmetros de consulta para construir um token SAS, eles poderão ser definidos usando sasToken(String sasToken) junto com o ponto de extremidade.
Instanciando um cliente de serviço de fila síncrono com o token SAS
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net")
.sasToken("{SASTokenQueryParams}")
.buildAsyncClient();
Instanciando um cliente de serviço de fila assíncrona com token SAS
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net")
.sasToken("{SASTokenQueryParams}")
.buildAsyncClient();
Outra maneira de autenticar o cliente é usando um StorageSharedKeyCredential. Para criar um StorageSharedKeyCredential, uma cadeia de conexão do serviço Fila de Armazenamento deve ser usada. Defina StorageSharedKeyCredential com connectionString(String connectionString). Se o construtor tiver um token SAS e StorageSharedKeyCredential, o StorageSharedKeyCredential será preferencial ao autorizar solicitações enviadas ao serviço.
Instanciando um cliente de serviço de fila síncrono com a cadeia de conexão.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
QueueServiceClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.buildClient();
Instanciando um Cliente de Serviço de Fila Assíncrona com cadeia de conexão.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Resumo do Construtor
Construtor | Description |
---|---|
QueueServiceClientBuilder() |
Cria uma instância do construtor que é capaz de configurar e construir QueueServiceClient e QueueServiceAsyncClient. |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
Queue |
addPolicy(HttpPipelinePolicy pipelinePolicy)
Adiciona um HttpPipelinePolicy para aplicar em cada solicitação enviada. |
Queue |
buildAsyncClient()
Cria um QueueServiceAsyncClient com base nas opções definidas no construtor. |
Queue |
buildClient()
Cria um QueueServiceClient com base nas opções definidas no construtor. |
Queue |
clientOptions(ClientOptions clientOptions)
Permite definir propriedades comuns, como ID do aplicativo, cabeçalhos, configuração de proxy etc. |
Queue |
configuration(Configuration configuration)
Define o objeto de configuração usado para recuperar valores de configuração de ambiente durante a criação do cliente. |
Queue |
connectionString(String connectionString)
Define a cadeia de conexão para se conectar ao serviço. |
Queue |
credential(AzureNamedKeyCredential credential)
Define o AzureNamedKeyCredential usado para autorizar solicitações enviadas ao serviço. |
Queue |
credential(AzureSasCredential credential)
Define o AzureSasCredential usado para autorizar solicitações enviadas ao serviço. |
Queue |
credential(TokenCredential credential)
Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. |
Queue |
credential(StorageSharedKeyCredential credential)
Define o StorageSharedKeyCredential usado para autorizar solicitações enviadas ao serviço. |
Queue |
endpoint(String endpoint)
Define o ponto de extremidade para a instância da Fila de Armazenamento do Azure com a qual o cliente interagirá. |
static
Http |
getDefaultHttpLogOptions()
Obtém os cabeçalhos de log e os parâmetros de consulta padrão da lista de permissões de armazenamento. |
Queue |
httpClient(HttpClient httpClient)
Define o HttpClient a ser usado para enviar e receber solicitações de e para o serviço. |
Queue |
httpLogOptions(HttpLogOptions logOptions)
Define o HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço. |
Queue |
messageEncoding(QueueMessageEncoding messageEncoding)
Define a codificação de mensagens da fila. |
Queue |
pipeline(HttpPipeline httpPipeline)
Define o HttpPipeline a ser usado para o cliente de serviço. |
Queue |
processMessageDecodingError(Consumer<QueueMessageDecodingError> processMessageDecodingErrorHandler)
Define o manipulador que executa as tarefas necessárias quando uma mensagem é recebida ou atingiu o pico da fila, mas não pode ser decodificada. |
Queue |
processMessageDecodingErrorAsync(Function<QueueMessageDecodingError,Mono<Void>> processMessageDecodingErrorAsyncHandler)
Define o manipulador assíncrono que executa as tarefas necessárias quando uma mensagem é recebida ou atingiu o pico da fila, mas não pode ser decodificada. |
Queue |
retryOptions(RetryOptions retryOptions)
Define o RetryOptions para todas as solicitações feitas por meio do cliente. |
Queue |
retryOptions(RequestRetryOptions retryOptions)
Define as opções de repetição de solicitação para todas as solicitações feitas por meio do cliente. |
Queue |
sasToken(String sasToken)
Define o token SAS usado para autorizar solicitações enviadas ao serviço. |
Queue |
serviceVersion(QueueServiceVersion version)
Define o QueueServiceVersion que é usado ao fazer solicitações de API. |
Métodos herdados de java.lang.Object
Detalhes do construtor
QueueServiceClientBuilder
public QueueServiceClientBuilder()
Cria uma instância do construtor que é capaz de configurar e construir QueueServiceClient e QueueServiceAsyncClient.
Detalhes do método
addPolicy
public QueueServiceClientBuilder addPolicy(HttpPipelinePolicy pipelinePolicy)
Adiciona um HttpPipelinePolicy para aplicar em cada solicitação enviada.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se nenhum HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também serão ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
Parameters:
Returns:
buildAsyncClient
public QueueServiceAsyncClient buildAsyncClient()
Cria um QueueServiceAsyncClient com base nas opções definidas no construtor. Toda vez que isso é chamado de uma nova instância de QueueServiceAsyncClient é criado.
Se pipeline(HttpPipeline httpPipeline) for definido, o pipeline
e endpoint(String endpoint) serão usados para criar o QueueServiceAsyncClient. Todas as outras configurações do construtor são ignoradas.
Returns:
buildClient
public QueueServiceClient buildClient()
Cria um QueueServiceClient com base nas opções definidas no construtor. Toda vez que isso é chamado de uma nova instância de QueueServiceClient é criado.
Se pipeline(HttpPipeline httpPipeline) for definido, o pipeline
e endpoint(String endpoint) serão usados para criar o QueueServiceClient. Todas as outras configurações do construtor são ignoradas.
Returns:
clientOptions
public QueueServiceClientBuilder clientOptions(ClientOptions clientOptions)
Permite definir propriedades comuns, como ID do aplicativo, cabeçalhos, configuração de proxy etc. Observe que é recomendável que esse método seja chamado com uma instância da HttpClientOptions classe (uma subclasse da ClientOptions classe base). A subclasse HttpClientOptions fornece mais opções de configuração adequadas para clientes HTTP, que é aplicável a qualquer classe que implemente essa interface HttpTrait.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se nenhum HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também serão ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
Parameters:
Returns:
configuration
public QueueServiceClientBuilder configuration(Configuration configuration)
Define o objeto de configuração usado para recuperar valores de configuração de ambiente durante a criação do cliente.
Parameters:
Returns:
connectionString
public QueueServiceClientBuilder connectionString(String connectionString)
Define a cadeia de conexão para se conectar ao serviço.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureNamedKeyCredential credential)
Define o AzureNamedKeyCredential usado para autorizar solicitações enviadas ao serviço.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureSasCredential credential)
Define o AzureSasCredential usado para autorizar solicitações enviadas ao serviço.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(TokenCredential credential)
Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. Consulte a documentação de identidade e autenticação do SDK do Azure para Java para obter mais detalhes sobre o uso adequado do TokenCredential tipo.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(StorageSharedKeyCredential credential)
Define o StorageSharedKeyCredential usado para autorizar solicitações enviadas ao serviço.
Parameters:
Returns:
endpoint
public QueueServiceClientBuilder endpoint(String endpoint)
Define o ponto de extremidade para a instância da Fila de Armazenamento do Azure com a qual o cliente interagirá.
Os parâmetros de consulta do ponto de extremidade serão analisados na tentativa de gerar um token SAS para autenticar solicitações enviadas ao serviço.
Parameters:
Returns:
getDefaultHttpLogOptions
public static HttpLogOptions getDefaultHttpLogOptions()
Obtém os cabeçalhos de log e os parâmetros de consulta padrão da lista de permissões de armazenamento.
Returns:
httpClient
public QueueServiceClientBuilder httpClient(HttpClient httpClient)
Define o HttpClient a ser usado para enviar e receber solicitações de e para o serviço.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
Parameters:
Returns:
httpLogOptions
public QueueServiceClientBuilder httpLogOptions(HttpLogOptions logOptions)
Define o HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço. Se um logLevel
não for fornecido, o valor padrão de HttpLogDetailLevel#NONE será definido.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
Parameters:
Returns:
messageEncoding
public QueueServiceClientBuilder messageEncoding(QueueMessageEncoding messageEncoding)
Define a codificação de mensagens da fila.
Parameters:
Returns:
pipeline
public QueueServiceClientBuilder pipeline(HttpPipeline httpPipeline)
Define o HttpPipeline a ser usado para o cliente de serviço.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
O endpoint(String endpoint) não é ignorado quando pipeline
é definido.
Parameters:
Returns:
processMessageDecodingError
public QueueServiceClientBuilder processMessageDecodingError(Consumer
Define o manipulador que executa as tarefas necessárias quando uma mensagem é recebida ou atingiu o pico da fila, mas não pode ser decodificada.
Essa mensagem pode ser recebida ou atingiu o pico quando a fila está esperando certa QueueMessageEncoding , mas há outro produtor que não está codificando mensagens da maneira esperada. Ou seja, a fila contém mensagens com codificação diferente.
QueueMessageDecodingError contém QueueClient para a fila que recebeu a mensagem, bem como getQueueMessageItem() ou getPeekedMessageItem() com o corpo bruto, ou seja, nenhuma decodificação será tentada para que o corpo possa ser inspecionado como foi recebido da fila.
O manipulador não tentará remover a mensagem da fila. Portanto, esse tratamento deve ser incluído no próprio manipulador.
O manipulador será compartilhado por todos os clientes de QueueServiceClient fila criados ou QueueServiceAsyncClient criados por esse construtor.
É recomendável que esse manipulador seja usado para o síncrono QueueClient.
Exemplos 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
Define o manipulador assíncrono que executa as tarefas necessárias quando uma mensagem é recebida ou atingiu o pico da fila, mas não pode ser decodificada.
Essa mensagem pode ser recebida ou atingiu o pico quando a fila está esperando certa QueueMessageEncoding , mas há outro produtor que não está codificando mensagens da maneira esperada. Ou seja, a fila contém mensagens com codificação diferente.
QueueMessageDecodingError contém QueueAsyncClient para a fila que recebeu a mensagem, bem como getQueueMessageItem() ou getPeekedMessageItem() com o corpo bruto, ou seja, nenhuma decodificação será tentada para que o corpo possa ser inspecionado como foi recebido da fila.
O manipulador não tentará remover a mensagem da fila. Portanto, esse tratamento deve ser incluído no próprio manipulador.
O manipulador será compartilhado por todos os clientes de QueueServiceClient fila criados ou QueueServiceAsyncClient criados por esse construtor.
É recomendável que esse manipulador seja usado para o assíncrono QueueAsyncClient.
Exemplos 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)
Define o RetryOptions para todas as solicitações feitas por meio do cliente.
Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.
Definir isso é mutuamente exclusivo com o uso de retryOptions(RequestRetryOptions retryOptions). Considere usar retryOptions(RequestRetryOptions retryOptions) para também definir opções específicas de armazenamento.
Parameters:
Returns:
retryOptions
public QueueServiceClientBuilder retryOptions(RequestRetryOptions retryOptions)
Define as opções de repetição de solicitação para todas as solicitações feitas por meio do cliente. Definir isso é mutuamente exclusivo com o uso de retryOptions(RetryOptions retryOptions).
Parameters:
Returns:
sasToken
public QueueServiceClientBuilder sasToken(String sasToken)
Define o token SAS usado para autorizar solicitações enviadas ao serviço.
Parameters:
Returns:
serviceVersion
public QueueServiceClientBuilder serviceVersion(QueueServiceVersion version)
Define o QueueServiceVersion que é usado ao fazer solicitações de API.
Se uma versão de serviço não for fornecida, a versão do serviço que será usada será a versão de serviço conhecida mais recente com base na versão da biblioteca de clientes que está sendo usada. Se nenhuma versão de serviço for especificada, a atualização para uma versão mais recente da biblioteca de clientes terá o resultado da possível mudança para uma versão de serviço mais recente.
Direcionar uma versão de serviço específica também pode significar que o serviço retornará um erro para APIs mais recentes.
Parameters:
Returns: