…As I understand it they do the same thing: Provide access to Amazon Web Services. Can someone provide a list of differing capabilities between these two libraries? Why does knox exist if amazon already provides an offering?
Of course the AWS SDK is maintained by Amazon so it most likely to be compatible with any changes they make. It also has more functionality for managing your S3 instance such as adding a Policy or ACL rules. (See above link for full list of methods).
The Knox module has a more natural Node feel. Many of the methods are very similar to the stand node http methods. This library fits the needs of most use cases. Generally I don’t need to programmatically create bucket Policies and such. (See above link for full list of methods)
If you want really easy to use, high level abstraction of S3 see the S3 npm module