How to upload a .mat file into Amazon s3

I have stored my data into .mat file and want to upload it into Amazon s3 cloud using MATLAB. I can upload it using command prompt using "aws s3 cp local_path cloud_path" command but can't using MATLAB. So how to upload the file using MATLAB.

 Accepted Answer

You can use API to write the data: https://www.mathworks.com/help/matlab/ref/webwrite.html, but that can get complicated for AWS S3.
The easiest solution might be just to use the system() function: https://www.mathworks.com/help/matlab/ref/system.html. You can just run the shell command from MATLAB
system('aws s3 cp local_path cloud_path')
However, note that it does not use the same $PATH variable as your default shell. You will need to use setenv() to add another directory to $PATH variable, or you will need to specify the complete path to aws binary, for example
system('/usr/local/bin/aws s3 cp local_path cloud_path')
There seem to be some options for uploading the file using MATLAB too: https://www.mathworks.com/help/matlab/import_export/work-with-remote-data.html

3 Comments

Thanks a lot @Ameer Hamza. this command "system('/usr/local/bin/aws s3 cp local_path cloud_path')" is working perfectly on MATLAB desktop app. But sir when i am using online MATLAB then how to specify the path of aws file.
Thanks in advance.
Ameer Hamza
Ameer Hamza on 10 Dec 2020
Edited: Ameer Hamza on 11 Dec 2020
The method using system command will only work on the local machine. MATLAB online does not have aws command-line tools. For MATLAB online, you might need to use the last option I described.
Can you please tell how to obtain local_path and cloud_path .Like what will be its format with a simple example?

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!