Hello everyone,


I need to do a query operation on Amazon S3, using NodeJS, everything worked perfect in 30 minutes, I downloaded the Amazon SDK for Node and with the available examples everything worked.


Already with Outsystems, I'm 4 days trying something, all I find are components in the Old forge, which don't work ...


I see that Forge needs to be better managed, to avoid wasting so much time trying to make something work, since the platform's focus is agility, I'm sorry for the outburst. I'm a fan of the platform, it's just a constructive criticism.


If anyone can suggest a solution, I would be very grateful.


I just need:

- List objects in the S3 backet;

- Send objects to Glacier;

- Restore Glacier objects;


Thank you!

Marcelo

Hi Marcelo,

I can see why you might feel this way however I think there are multiple things to consider:

  1. The idea of the Forge being as 'open' as it is encourages OutSystems developers (especially beginners) to learn and improve their OutSystems ability. This generally motivates them to give back to the community. 
  2. I agree that some Forge components might not be as optimized as possible and so, I suggest checking out the reviews, ratings and OutSystems version compatibility before installing the component since it'll give you a general idea on what to expect.
  3. Like you correctly mentioned, OutSystems shines when it comes to agility and speed of delivery and so not finding the ideal component on the Forge shouldn't be a deal breaker since building something which is shouldn't be a difficult tasks and originally accounted for when planning your project.

As we've previously seen, OutSystems always welcome suggestions and ideas to improve its platform and different components and so I encourage you to submit and Idea here with your thoughts on how the Forge could be improved - you never know, it might be something that's already on their radar :)

 As for the issue on hand, we have been using the following s3 component for over a year with no issues:

https://www.outsystems.com/forge/component-overview/3551/amazon-s3-connector

We also needed Glacier integration in our project however we didn't find a forge component for that and so we custom built our own.

Ossama 

Hello Ossama,


I am registering an idea on the link you suggested, I also hope to contribute in some way.

This component "Amazon S3 Connector", was the first that I tested and had problems, I tried to report the owner of the component, but I didn't get a response, if you can help me I am very grateful.

In the attachment, an example of how I configured my credential, the "Object_List" component and the answer in chrome, that is, it always returns an empty list, but in the Amazon panel (S3) I see the objects inside the bucket.


Am I doing something wrong?


Thank you!

Marcelo

Hi Marcelo,

Your S3 bucket names looks a bit strange. It should be the value in the Bucket Name column in AWS S3:

Also make sure that account that correlates to the Access ID and Secret has read and write S3 bucket permissions.

Ossama

Hello Ossama,


Yes, permission is ok! I am using the SDK in NodeJS with the same parameters and everything works, the objects are listed perfect.


The bucket name is a string "UUID", that is, a unique code in the world.


Just as an attempt, I defined another bucket name "mydocs2020" with three objects inside, but the result is the same, with NodeJS and JAVA all OK, with Outsystems the return is always empty.


I'm almost creating a lambda function on Amazon, just to get out of the Outsystems world, a week trying ... my knowledge in .Net is zero, so I am dependent on Forge components.


If you have any more ideas I would like to thank you, because Outsystems is a platform with a high cost, they could make a native component as in other lowcode platforms, but I am suggesting this also in the suggested link.


Thank you!

Marcelo

HI Marcelo,


Sorry for not getting back at you sooner.


For the S3 integration you should be able to use the first one you tried. We use it for pretty much all S3 integration needs internally without any issue.

About the specific problem you mentioned setting the MaxKeys param may do the trick. 

For glacier integration if you can't find a component available you should be able to either extend the S3 one or create a new one with the same approach on top of the AWS .net SDK.


Cheers

Guilherme