I have come across a requirement where I need to integrate with AWS SQS (using extended library), which basically provides an option to store payloads larger than 256 KB on SQS, by actually storing the payload on S3 and then placing a reference of it on the SQS. If the AWS Java library for SQS extended function is used, this process is transparent to both the system writing on SQS or reading from it. When reading, you only connect to SQS and ask it for the payload and the library returns you the whole payload, whether it is stored on SQS or S3. Similarly when writing to it, you connect to the SQS with your configuration details (along with the S3 connection parameters) and ask the library to place the message and the rest it transparent. A working examples of this is already provided here:
Now, we do have Advantco adapter in our landscape, however usage of SQS extended library is unfortunately not yet supported in the adapter. Hence, I need to go down the path of custom development. Options for both scenarios, I have thought are below:
I have already done a proof of concept on this and I think it will work for my requirement, but would like to see if someone has better options or lessons learnt in implementing something similar. Looking forward to your inputs.