Navigation

AWS S3 Snippets

The code snippets on this page demonstrate how to work with Amazon Simple Storage Service through the AWS Service. All of the snippets require an AWS Service interface with a configuration of AWS Service rules that allow the service actions used in the snippet. You can run these snippets yourself by copying this code into a Realm Function.

If your app does not have an AWS Service interface, create one before using these snippets.

This Realm Function uploads a Base64 encoded image to AWS S3 using the PutObject action.

exports = function(base64EncodedImage, bucket, fileName, fileType) {
// Convert the base64 encoded image string to a BSON Binary object
const binaryImageData = BSON.Binary.fromBase64(base64EncodedImage, 0);
// Instantiate an S3 service client
const s3Service = context.services.get('myS3Service').s3('us-east-1');
// Put the object to S3
return s3Service.PutObject({
'Bucket': bucket,
'Key': fileName,
'ContentType': fileType,
'Body': binaryImageData
})
.then(putObjectOutput => {
console.log(putObjectOutput);
// putObjectOutput: {
// ETag: <string>, // The object's S3 entity tag
// }
return putObjectOutput
})
.catch(console.error);
};
Parameter
Type
Description
base64EncodedImage
string
A Base64 encoded image. You can convert an image File to Base64 with the readAsDataURL method from the FileReader Web API.
bucket
string
The name of the S3 bucket that will hold the image.
fileName
string
The name of the image file, including its file extension.
fileType
string
The MIME Type of the image.

This Realm Function retrieves an object from AWS S3 using the GetObject action.

exports = function(bucket, fileName) {
// Instantiate an S3 service client
const s3Service = context.services.get('myS3Service').s3('us-east-1');
// Get the object from S3
return s3Service.GetObject({
'Bucket': bucket,
'Key': fileName,
})
.then(getObjectOutput => {
console.log(getObjectOutput);
// {
// ETag: <string>, // The object's S3 entity tag
// Body: <binary>, // The object data
// ContentType: <string>, // The object's MIME type
// }
const base64EncodedImage = getObjectOutput.Body
return base64EncodedImage
})
.catch(console.error);
};
Parameter
Type
Description
bucket
string
The name of the S3 bucket that will hold the image.
fileName
string
The name of the image file, including its file extension.
Give Feedback