Jump to content
Server Maintenance This Week. ×

Need Developer to help script uploading files to Amazon S3


crayfish

This topic is 3598 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Position Title: Freelance Filemaker Developer

 

Description of Duties: Our small music nonprofit is considering switching to Amazon S3 to host our images and audio.  Currently we're using a normal web host that has FTP and use FTPeek to upload files.  However, it doesn't look like that's an option of S3.  We have the WebAssistant plugin and it looks like we might be able to use POST to upload files?  I'm not familiar with using POST and the resources I've found are a little beyond me.  If this is a viable option or is there an alternative to Web Assistant that would work?

 

Resources:

http://aws.amazon.com/articles/1434

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

http://docs.aws.amazon.com/AmazonS3/latest/dev/HTTPPOSTExamples.html

http://static.360works.com/plugins/WEBASSISTANTPLUG/documentation.html

Location: N/A

Deadline: Deadline when you wish to fill or start the position.

Position: Project only

Employment: Remote

Skills Required:

  • Whatever is required to complete the task

Compensation: by the Project (please send quote)

Contact Details: [email protected]


Disclaimer: FM Forums does not endorse or warrantee these positions please contact the poster for further information regarding the position particulars.

Link to comment
Share on other sites

  • 2 months later...

I have created a scriptmaster function that uploads a file to an s3 bucket and returns a signed url.  If you're interested here is the code:

RegisterGroovy( "UploadToS3( keyAccess ; keySecret ; bucket ; filePath ; daystoexpire )" ; "import org.jets3t.service.impl.rest.httpclient.RestS3Service¶
import org.jets3t.service.model.S3Bucket¶
import org.jets3t.service.model.S3Object¶
import org.jets3t.service.security.AWSCredentials¶

¶
accessKey = keyAccess¶
secretKey = keySecret¶
bucketName = bucket¶
uploadFile = filePath¶
int expiryDays = Integer.parseInt(daystoexpire)¶
¶
credentials = new AWSCredentials(accessKey, secretKey)¶
service = new RestS3Service(credentials)¶
bucket = new S3Bucket(bucketName)¶
file = new File(uploadFile)¶
fileObject = new S3Object(file)¶
fileObject.key = fileObject.getKey()¶
service.putObject(bucket, fileObject)¶
expiryTime = new Date() + expiryDays¶
link = service.createSignedGetUrl(bucket.name, fileObject.key, expiryTime)¶
return link" )

You'll need the jets3t jar from amazon.

Link to comment
Share on other sites

This topic is 3598 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.