Hi
I've started prototyping a Camel Azure component [1].
Azure has a number of services, Blob, Queue, Table and File, a lot of
commands, etc.
I'm starting with supporting a Blob Service. Queue service will follow,
and I guess the component will keep evolving to support other services too.
At the moment I have most of the Blob Service commands covered at the
Producer side. I'm not sure Consumer will need to be there given that
Azure Java API only offers an option to download the blobs to an output
stream (file most likely). May be only for getting the attributes if
really needed.
I guess Queue Service will though require a Consumer but that is a stage 2.
I'm using camel-aws component as a source of ideas.
The biggest issue it how to test it. I have several basic 'live' in-only
tests based on the copy from camel-aws/s3 which depend on a live
security key and the connection. Microsoft Azure offers an emulator
which can only be run on Windows. And I'm not keen using a mock client
which can become stale and won't really prove the blob has been uploaded.
I'd like to start with having these tests disabled on the master for
those who are interested to experiment with them using their own live
keys and in meantime I reckon we can either try to encourage the
Microsoft Azure team to release their service emulator for the Linux
platform asap or set up a Camel Windows build and run the emulator
integration test on Windows only.
Thanks, Sergey
[1] https://issues.apache.org/jira/browse/CAMEL-10786