MinIO is a high-performance, S3 compatible object store. It is built for large scale AI/ML, data lake and database workloads. It runs on-prem and on any cloud (public or private) and from the data center to the edge. MinIO is software-defined and open source under GNU AGPL v3.
Create the MinIO connection info in the same manner as you create the Amazon connection info:
var
LConnInfo: TMinIOConnectionInfo;
...
LConnInfo := TMinIOConnectionInfo.Create(nil);
LConnInfo.AccountKey := 'your_private_key';
LConnInfo.AccountName := 'your_public_key';
LConnInfo.StorageEndPoint := 'your_endpoint';
LConnInfo.UseDefaultEndpoints := false;
Create the MinIO storage service in the same manner as you create the Amazon storage service:
var
LService: TMinIOStorageService;
...
LService := TMinIOStorageService.Create(LConnInfo);
Use it in the conventional way plus this implementation abstractions:
...
LService.UploadFile('your_bucket_name', 'local_file_path', 'remote_file_name');
LService.DeleteObject('your_bucket_name', 'remote_file_name');
...