I think also an important design decision is where exactly the upload takes place.
Currently you have a form with upload on it that just upload to your server connect action and process the file on your server.
But now with an external upload we have two choices:
Upload from the form straight to S3, retrieve the uploaded success token/path and then repost the form you your own server connect action with the upload full url as entry. This will result in single file upload, but we will have to update the whole form posting logic in app connect to handle such case.
Upload the form to your server connect first, with the file upload and then from your server repost it to the external s3. This will result in double file upload and also on Linder running of the server action as it needs to upload again. But we don’t need to change the upload form process at the client as it stays the same.
So ideally we would like to choose solution 1 but not sure if it will cover all possible upload cases.
Also there is a need for upload/post of server side files to external api services which will be covered with solution 2, but also have the same troubles as long running server side actions due to upload