cloudQueue = cloudQueueClient.getQueueReference(queue); retrievedMessagesIterable = cloudQueue.retrieveMessages(batchSize, visibilityTimeoutInSecs, null, operationContext); } catch (URISyntaxException | StorageException e) { getLogger().error("Failed to retrieve messages from the provided Azure Storage Queue due to {}", new Object[] {e}); attributes.put("azure.queue.uri", cloudQueue.getUri().toString()); attributes.put("azure.queue.insertionTime", message.getInsertionTime().toString()); attributes.put("azure.queue.expirationTime", message.getExpirationTime().toString()); attributes.put("azure.queue.messageId", message.getMessageId()); attributes.put("azure.queue.popReceipt", message.getPopReceipt()); out.write(message.getMessageContentAsByte()); } catch (StorageException e) { getLogger().error("Failed to write the retrieved queue message to FlowFile content due to {}", new Object[] {e}); session.getProvenanceReporter().receive(flowFile, cloudQueue.getStorageUri().toString()); cloudQueue.deleteMessage(message); } catch (StorageException e) { getLogger().error("Failed to delete the retrieved message with the id {} from the queue due to {}", new Object[] {message.getMessageId(), e});
final String flowFileContent = baos.toString(); CloudQueueMessage message = new CloudQueueMessage(flowFileContent); CloudQueueClient cloudQueueClient; CloudQueue cloudQueue; cloudQueue = cloudQueueClient.getQueueReference(queue); cloudQueue.addMessage(message, ttl, delay, null, operationContext); } catch (URISyntaxException | StorageException e) { getLogger().error("Failed to write the message to Azure Queue Storage due to {}", new Object[]{e}); session.getProvenanceReporter().send(flowFile, cloudQueue.getUri().toString(), transmissionMillis);
connectionString = String.format(FORMAT_QUEUE_BASE_URI, storageAccountName); StorageCredentials storageCredentials = new StorageCredentialsSharedAccessSignature(sasToken); cloudQueueClient = new CloudQueueClient(new URI(connectionString), storageCredentials); } else { connectionString = String.format(FORMAT_QUEUE_CONNECTION_STRING, storageAccountName, storageAccountKey);
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { if (messageUpdateFields.contains(MessageUpdateFields.CONTENT)) { final byte[] messageBytes = QueueMessageSerializer.generateMessageRequestBody(stringToSend); this.setSendStream(new ByteArrayInputStream(messageBytes)); this.setLength((long) messageBytes.length); } return QueueRequest.updateMessage( queue.getIndividualMessageAddress(message.getId(), context).getUri(this.getCurrentLocation()), options, context, message.getPopReceipt(), visibilityTimeoutInSeconds); }
public static CloudQueue getRandomQueueReference() throws URISyntaxException, StorageException { String queueName = generateRandomQueueName(); CloudQueueClient qClient = createCloudQueueClient(); CloudQueue queue = qClient.getQueueReference(queueName); return queue; }
/** * Populates the default timeout and retry policy from client if they are not set. * * @param options * The input options to copy from when applying defaults * @param client * The {@link CloudQueueClient} service client to populate the * default values from. */ protected static final QueueRequestOptions populateAndApplyDefaults(QueueRequestOptions options, final CloudQueueClient client) { QueueRequestOptions modifiedOptions = new QueueRequestOptions(options); QueueRequestOptions.populateRequestOptions(modifiedOptions, client.getDefaultRequestOptions()); QueueRequestOptions.applyDefaults(modifiedOptions); return modifiedOptions; }
@Override public QueuePermissions preProcessResponse(CloudQueue parentObject, CloudQueueClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { this.setNonExceptionedRetryableFailure(true); return null; } return new QueuePermissions(); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>String</code> * containing the message. * * @param content * A <code>String</code> which contains the message. */ public CloudQueueMessage(final String content) { this.setMessageContent(content); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.delete(queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.clearMessages( queue.getMessageRequestAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.downloadAttributes( queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.setMetadata(queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.downloadAttributes( queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.create(queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.retrieveMessages( queue.getMessageRequestAddress(context).getUri(this.getCurrentLocation()), options, context, numberOfMessages, visibilityTimeoutInSeconds); }
@Override public HttpURLConnection buildRequest(CloudQueueClient client, CloudQueue queue, OperationContext context) throws Exception { return QueueRequest.getAcl(queue.getTransformedAddress(context).getUri(this.getCurrentLocation()), options, context); }
@Override public void setRequestLocationMode() { this.setRequestLocationMode(primaryOnly ? RequestLocationMode.PRIMARY_ONLY : RequestLocationMode.PRIMARY_OR_SECONDARY); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>byte</code> * array containing the message. * * @param content * A <code>byte</code> array which contains the message. */ public CloudQueueMessage(final byte[] content) { this.setMessageContent(content); }
@Override public void setRequestLocationMode() { this.setRequestLocationMode(primaryOnly ? RequestLocationMode.PRIMARY_ONLY : RequestLocationMode.PRIMARY_OR_SECONDARY); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>byte</code> * array containing the message. * * @param content * A <code>byte</code> array which contains the message. */ public CloudQueueMessage(final byte[] content) { this.setMessageContent(content); }