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');
...
