Creating and deleting objects
What is an object?
Objects are the individual pieces of data that are contained in a bucket. An object is typically a file and any metadata that describes the file.
Objects cannot be changed while in the storage system. To change an object, you must first copy it to another file system, modify it and then upload it again.
Since objects are both file and metadata, for the sake of the performance of the storage system, it is recommended that no more than 100K objects are contained per bucket.
Object names
You can use any UTF-8 character in an object name. However, using certain characters can cause problems with some applications and protocols. The following character sets are generally safe for use in object names.
Alphanumeric characters |
|
Special characters |
|
The following are examples of valid object names:
2012-march-samples
test.sample_images-2014/jan/calibrator.jpg
data/2019/genesamples/results001.tar
Creating an object
To create a single object using rclone
, use the rclone copy
command:
> rclone copy <SOURCE> <TARGET>
Where:
<SOURCE>
is the filesystem path that contains the files to upload as objects. For a single file,it can contain the name of the file you want to upload.<TARGET>
is the key of the object on Acacia (equivalent to the destination path). So the key consists of the profile name (with its colon, :), bucket name, pseudo folder (optional). IMPORTANT: In the target, you can't specify the object name. If the object name was given, then it would be considered as another pseudo folder, but the last part containing the name of the object will be the same as in the source.
Example:
$ rclone copy galaxy_xlassification.ipynb courses01:cou01/
Deleting an object
To delete an object using rclone, use the delete
command:
> rclone delete <PROFILE_NAME>:<BUCKET_NAME>/<OBJECT_NAME> --verbose
Where:
<PROFILE_NAME>
is the name you gave the storage space (endpoint + account credentials to specific storage) when configuring rclone.- Note that colon (
:
) is always needed after the profile name when using rclone
- Note that colon (
<BUCKET_NAME>
is the name of the bucket containing the object.<OBJECT_NAME>
is the name of the object to remove.- The -
-verbose
option is used for receiving information of what has been deleted, otherwise no output is sent back from the command
Output:
<DATE> INFO : '<OBJECT_NAME>': Deleted
Client support
The delete
command works recursively. So if a pseudo folder is specified to be deleted instead of a specific object name, then all its contents will be removed.
Consider using the --dry-run
option to validate that the operation targets only the desired objects.