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

// camel-k: dependency=camel-azure-storage-blob // // Apache Camel Azure Storage Blob Producer // // This is just a sample producer for Azure that creates a blob in a container import com.azure.storage.blob.models.BlobStorageException from('timer:java?period=3000&repeatCount=1') //create needed containers if not exist .doTry() .to('azure-storage-blob:{{azure.blob.accountName}}/{{azure.blob.ordersContainerName}}?accessKey=RAW({{azure.blob.accessKey}})&operation=createBlobContainer') .doCatch(BlobStorageException.class) .log('{{azure.blob.ordersContainerName}} container already exist! ') .end() .doTry() .to('azure-storage-blob:{{azure.blob.accountName}}/{{azure.blob.itemsContainerName}}?accessKey=RAW({{azure.blob.accessKey}})&operation=createBlobContainer') .doCatch(BlobStorageException.class) .log('{{azure.blob.itemsContainerName}} container already exist!') .end() //send the order .setBody() .constant(''' <?xml version="1.0" encoding="UTF-8"?> <order id="5ece4797eaf5e"> <item id="item1"> <name>Precision</name> <mfg>Fender</mfg> </item> <item id="item2"> <name>Jazz</name> <mfg>Fender</mfg> </item> <item id="item3"> <name>Thunderbird</name> <mfg>Gibson</mfg> </item> <item id="item4"> <name>Ripper</name> <mfg>Gibson</mfg> </item> <item id="item5"> <name>4003</name> <mfg>Rickenbacker</mfg> </item> <item id="item6"> <name>Metroline</name> <mfg>Sadowsky</mfg> </item> <item id="item7"> <name>Imperial Elite</name> <mfg>Fodera</mfg> </item> <item id="item8"> <name>Yin Yang Std 4</name> <mfg>Fodera</mfg> </item> <item id="item9"> <name>BN5</name> <mfg>Furlanetto</mfg> </item> <item id="item10"> <name>VF4-P</name> <mfg>Furlanetto</mfg> </item> </order> ''') .to('azure-storage-blob:{{azure.blob.accountName}}/{{azure.blob.ordersContainerName}}?accessKey=RAW({{azure.blob.accessKey}})&blobName={{azure.blob.blobName}}&operation=uploadBlockBlob') .log('Message sent: ${body}')