Files#
A file is a data asset
and it is just a regular file where you can store your data.
ConnectionFile
is a wrapper containing a few more details about a file such as hash
or url
.
To download a file with real data you must make an additional method call.
The SDK provides functionality to interact with files.
- This includes operations such as:
Uploading a file
Retrieving file(s)
Downloading a file
Deleting a file
Uploading a File#
In the UI, you can upload a new File by navigating to Overview -> Add data to work with.


In the SDK to upload a new ConnectionFile
,
use the Platform.upload_file()
method.
You must provide a name
for the new file and a file
path where the file is located on your machine.
Platform.upload_file()
method returns a ConnectionFile
object.
>>> file = platform.upload_file(
... name="dummy.txt",
... file=pathlib.Path("/home/me/file.txt"),
... )
ConnectionFile(file_name="dummy.txt")
Retrieving an existing File#
In the UI, you can get Files by navigating to Assets -> Data -> Data assets.

In the SDK, Files can be retrieved using Platform.files
property.
This property returns a ConnectionFiles
object.
>>> # Return a list of all files
>>> files = platform.files
[ConnectionFile(file_name="dummy.txt")]
Note
Currently Platform.files
does not support any filter arguments.
Tip
For detailed information about parameters and values refer to https://cloud.ibm.com/apidocs/data-ai-common-core#listfiles.
Downloading an Existing File#
In the UI, you can download a File by navigating to Assets -> Data -> Data assets.

In the SDK file can be downloaded using Platform.download_file()
method.
You must provide a file
object and output
path where the file will be downloaded.
This method returns an HTTP response indicating the status of the download operation.
>>> file = platform.files.get(name="dummy.txt")
ConnectionFile(file_name="dummy.txt")
>>> res = platform.download_file(file=file, output=pathlib.Path("/home/me/download/file.txt"))
<Response [200]>
Deleting a File#
In the UI, you can delete a File by navigating to Assets -> Data -> Data assets.

In the SDK pass a ConnectionFile instance to Platform.delete_file()
method to delete it.
This method returns an HTTP response indicating the status of the delete operation.
>>> file = platform.files.get(file_name="data.txt")
ConnectionFile(file_name="data.txt")
>>> res = platform.delete_file(file)
<Response [204]>