08-azure-storage-blob-basic/azure-storage-blob-consumer.groovy (11 lines of code) (raw):

// camel-k: dependency=camel-azure-storage-blob // // Apache Camel Azure Storage Blob Consumer // import static org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository.memoryIdempotentRepository from('knative:channel/azure-blob') .setHeader('orderId', xpath("/order/@id",String.class)) //use idempotent consumer to process an order only once .idempotentConsumer(header("orderId"), memoryIdempotentRepository(50)) .log('Received:\n${body}') .split() .xpath('/order/item') .setHeader('lineItemId', xpath("/item/@id",String.class)) .setHeader('CamelAzureStorageBlobBlobName', simple('${header.lineItemId}-${header.orderId}.xml')) .log('Uploading Item ${header.CamelAzureStorageBlobBlobName}:\n${body}') .to('azure-storage-blob:{{azure.blob.accountName}}/{{azure.blob.itemsContainerName}}?accessKey=RAW({{azure.blob.accessKey}})&operation=uploadBlockBlob')