// List incomplete uploads on the bucket matching specified prefix public static void Run(MinioClient minio, string bucketName = "my-bucket-name", string prefix = "my-object-name", bool recursive = true) { try { Console.WriteLine("Running example for API: ListIncompleteUploads"); var args = new ListIncompleteUploadsArgs() .WithBucket(bucketName) .WithPrefix(prefix) .WithRecursive(recursive); var observable = minio.ListIncompleteUploads(args); var subscription = observable.Subscribe( item => Console.WriteLine($"OnNext: {item.Key}"), ex => Console.WriteLine($"OnError: {ex.Message}"), () => Console.WriteLine($"Listed the pending uploads to bucket {bucketName}")); Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"Exception: {e}"); } }
/// <summary> /// 列出存储桶中未完整上传的对象。 /// </summary> /// <param name="bucketName">存储桶名称。</param> /// <returns></returns> public Task <List <ItemUploadInfo> > ListIncompleteUploads(string bucketName) { if (string.IsNullOrEmpty(bucketName)) { throw new ArgumentNullException(nameof(bucketName)); } ListIncompleteUploadsArgs args = new ListIncompleteUploadsArgs() .WithBucket(bucketName); IObservable <Upload> observable = _client.ListIncompleteUploads(args); bool isFinish = false; List <ItemUploadInfo> result = new List <ItemUploadInfo>(); IDisposable subscription = observable.Subscribe( item => { result.Add(new ItemUploadInfo() { Key = item.Key, Initiated = item.Initiated, UploadId = item.UploadId, }); }, ex => { isFinish = true; throw new Exception(ex.Message, ex); }, () => { isFinish = true; }); while (!isFinish) { Thread.Sleep(0); } return(Task.FromResult(result)); }