NetSuite – Amazon Web Services Integration
Usage of AWS for data exchange and even as an integrator tool is becoming more common. You can use S3 buckets for data, SQS for queue operations, API Gateway for static IP addresses, Lambda for extending capabilities of NetSuite and much more. However, there is no direct connection between NetSuite and AWS.
AWS SDK for JavaScript is available but it cannot be used directly in NetSuite. Developers would need to code additional functions to make it usable in NetSuite and it is not always easy. There are also other libraries developed but those are either specific for a single service or using older SDK versions.
In addition to the SDK, there is also AWS REST API where AWS services are widely accessible. Aim was to be able to access the REST API using the AWS Signature Version 4. If this is achieved, then it would be possible to create a AWS Library for NetSuite that includes required services and operations.
After some research, I realized that it is possible to do the encryption for the signature using CryptoJS library. Moving forward, I also found a similar solution which made my life easy. What is left for me was to build a solution which is more structured and that is open to expansion where necessary.
Initially I targeted SQS and S3 operations to my library and it was a success. Moving forward, I noticed that I will also need STS for generating temporary tokens and Assume Role actions. With the structure of the library, it is practical to add new AWS services. Solution and example script for the usage of the library is available on our GitHub page.
We would like to hear your opinion if you liked this solution or if you discover something missing, something not working properly, a better option, weird coding. You can reach through the Contact Us page for any communication.