To make use of your instance you might need to use data that is either on your local machine or stored on a server available over the internet. Here are a few ways on how you get your data from their to the instance.


Uploading using the jupyter UI

If you are running g a jupyter lab ( or notebook ) on your instance you can upload files using a button in the top left corner. ( top right for notebooks ). Here is a guide on how to get a your jupyter environment set up.

The upload button in jupyter lab.

The upload button in jupyter notebook.


Uploading from your local machine (Linux)

There is a whole plethora of tools that allow you to transfer files from your local linux or mac machine to your Genesis Cloud instance using the ssh connection between them. Two prominent ones are scp and rsync.


This is a link to the scp docs and here is a example that is probably similar to your use case. This code is meant to be run on the local machine.

scp <path to local file> <username on the instance>@<ip of your instance>:<path that the file will have>
# example:
scp ~/Documents/text.txt ubuntu@194.61.20.27:/home/ubuntu/Documents


Here are the rsync docs. You use it in a very similar way. This code is meant to be run on the local machine.

rsync <path to local file> <username on the instance>@<ip of your instance>:<path that the file will have>
# example:
rsync ~/Documents/text.txt ubuntu@194.61.20.27:/home/ubuntu/Documents


Both of these tools require that you have an authentication method set up, but they might give you permission denied error even if the authentication worked but there was some other problem, for example, a spelling mistake in the path. As long as you are able to use ssh to log on to your instance you know that the authentication is not the issue.


Uploading from your local machine (Windows)

There are many different tools that allow one to transfer files from a Windows OS. 


If you are comfortable using the command line have a look at PSCP.

If you want a graphical user interface have a look at WinSCP.



Downloading from a URL

If you have a URL that points to the data you need you can download it using wget or curl. 


Here are the docs for wget.

Here are the docs for curl.


# example code
wget https://www.ipcc.ch/site/assets/uploads/sites/2/2019/05/SR15_SPM_version_report_LR.pdf
curl https://www.ipcc.ch/site/assets/uploads/sites/2/2019/05/SR15_SPM_version_report_LR.pdf