Esempio n. 1
0
    // 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}");
        }
    }
Esempio n. 2
0
        /// <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));
        }