Skip to content

Commit

Permalink
RemoveIncompleteUpload with Args
Browse files Browse the repository at this point in the history
  • Loading branch information
BigUstad committed Nov 23, 2020
2 parents 3ec3d8a + 51f703c commit 63caddd
Show file tree
Hide file tree
Showing 13 changed files with 471 additions and 120 deletions.
28 changes: 19 additions & 9 deletions Docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,10 @@ try
// If the object is not found, statObject() throws an exception,
// else it means that the object exists.
// Execution is successful.
await minioClient.StatObjectAsync("mybucket", "myobject");
StatObjectArgs statObjectArgs = new StatObjectArgs()
.WithBucket("mybucket")
.WithObject("myobject");
await minioClient.StatObjectAsync(statObjectArgs);

// Get input stream to have content of 'my-objectname' from 'my-bucketname'
await minioClient.GetObjectAsync("mybucket", "myobject",
Expand Down Expand Up @@ -1168,7 +1171,10 @@ try
// If the object is not found, statObject() throws an exception,
// else it means that the object exists.
// Execution is successful.
await minioClient.StatObjectAsync("mybucket", "myobject");
StatObjectArgs statObjectArgs = new StatObjectArgs()
.WithBucket("mybucket")
.WithObject("myobject");
await minioClient.StatObjectAsync(statObjectArgs);

// Get input stream to have content of 'my-objectname' from 'my-bucketname'
await minioClient.GetObjectAsync("mybucket", "myobject", 1024L, 10L,
Expand Down Expand Up @@ -1219,7 +1225,10 @@ try
// If the object is not found, statObjectAsync() throws an exception,
// else it means that the object exists.
// Execution is successful.
await minioClient.StatObjectAsync("mybucket", "myobject");
StatObjectArgs statObjectArgs = new StatObjectArgs()
.WithBucket("mybucket")
.WithObject("myobject");
await minioClient.StatObjectAsync(statObjectArgs);

// Gets the object's data and stores it in photo.jpg
await minioClient.GetObjectAsync("mybucket", "myobject", "photo.jpg");
Expand Down Expand Up @@ -1344,9 +1353,9 @@ catch(MinioException e)
}
```
<a name="statObject"></a>
### StatObjectAsync(string bucketName, string objectName, ServerSideEncryption sse)
### StatObjectAsync(StatObjectArgs args)

`Task<ObjectStat> StatObjectAsync(string bucketName, string objectName, ServerSideEncryption sse = null, CancellationToken cancellationToken = default(CancellationToken))`
`Task<ObjectStat> StatObjectAsync(StatObjectArgs args, CancellationToken cancellationToken = default(CancellationToken))`

Gets metadata of an object.

Expand All @@ -1356,9 +1365,7 @@ __Parameters__

|Param | Type | Description |
|:--- |:--- |:--- |
| ``bucketName`` | _string_ | Name of the bucket |
| ``objectName`` | _string_ | Object name in the bucket |
| ``sse`` | _ServerSideEncryption_ | Server-side encryption option | Optional parameter. Defaults to null |
| ``args`` | _StatObjectArgs_ | StatObjectArgs Argument Object with bucket, object names & server side encryption object |
| ``cancellationToken``| _System.Threading.CancellationToken_ | Optional parameter. Defaults to default(CancellationToken) |


Expand All @@ -1378,7 +1385,10 @@ __Example__
try
{
// Get the metadata of the object.
ObjectStat objectStat = await minioClient.StatObjectAsync("mybucket", "myobject");
StatObjectArgs statObjectArgs = new StatObjectArgs()
.WithBucket("mybucket")
.WithObject("myobject");
ObjectStat objectStat = await minioClient.StatObjectAsync(statObjectArgs);
Console.WriteLine(objectStat);
}
catch(MinioException e)
Expand Down
55 changes: 50 additions & 5 deletions Minio.Examples/Cases/StatObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,74 @@
*/

using Minio.DataModel;
using Minio.Exceptions;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Minio.Examples.Cases
{
class StatObject
{
public static void PrintStat(string bucketObject, ObjectStat statObject)
{
ConsoleColor currentColor = Console.ForegroundColor;
Console.WriteLine($"Details of the object {bucketObject} are");
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine($"{statObject}");
Console.ForegroundColor = currentColor;
Console.WriteLine();
}
// Get stats on a object
public async static Task Run(MinioClient minio,
string bucketName = "my-bucket-name",
string bucketObject = "my-object-name")
string bucketObject = "my-object-name",
string versionID = null)
{
try
{
Console.WriteLine("Running example for API: StatObjectAsync");
ObjectStat statObject = await minio.StatObjectAsync(bucketName, bucketObject);
Console.WriteLine($"Details of the object {bucketObject} are {statObject}");
Console.WriteLine();
if (string.IsNullOrEmpty(versionID))
{
StatObjectArgs objectStatArgs = new StatObjectArgs()
.WithBucket(bucketName)
.WithObject(bucketObject);
ObjectStat statObject = await minio.StatObjectAsync(objectStatArgs);
PrintStat(bucketObject, statObject);
PrintMetaData(statObject.MetaData);
return;
}
StatObjectArgs args = new StatObjectArgs()
.WithBucket(bucketName)
.WithObject(bucketObject)
.WithVersionId(versionID);
ObjectStat statObjectVersion = await minio.StatObjectAsync(args);
PrintStat(bucketObject, statObjectVersion);
PrintMetaData(statObjectVersion.MetaData);
}
catch (MinioException me)
{
string objectNameInfo = $"{bucketName}-{bucketObject}";
if (!string.IsNullOrEmpty(versionID))
{
objectNameInfo = objectNameInfo + $" (Version ID) {me.Response.VersionId} (Delete Marker) {me.Response.DeleteMarker}";
}
Console.WriteLine($"[StatObject] {objectNameInfo} Exception: {me}");
}
catch (Exception e)
{
Console.WriteLine($"[StatObject] {bucketName}-{bucketObject} Exception: {e}");
}
}

private static void PrintMetaData(Dictionary<string, string> metaData)
{
Console.WriteLine("Metadata:");
foreach(var metaPair in metaData)
{
Console.WriteLine(" " + metaPair.Key + ":\t" + metaPair.Value);
}
Console.WriteLine();
}
}
}
}
71 changes: 71 additions & 0 deletions Minio.Examples/Cases/StatObjectQuery.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/*
* MinIO .NET Library for Amazon S3 Compatible Cloud Storage, (C) 2020 MinIO, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

using Minio.DataModel;
using Minio.Exceptions;
using System;
using System.Threading.Tasks;

namespace Minio.Examples.Cases
{
class StatObjectQuery
{
public static void PrintStat(string bucketObject, ObjectStat statObject)
{
ConsoleColor currentColor = Console.ForegroundColor;
Console.WriteLine($"Details of the object {bucketObject} are");
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine($"{statObject}");
Console.ForegroundColor = currentColor;
Console.WriteLine();
}
// Get stats on a object
public async static Task Run(MinioClient minio,
string bucketName = "my-bucket-name",
string bucketObject = "my-object-name",
string versionID = null,
string matchEtag = null,
DateTime modifiedSince = default(DateTime))
{
try
{
Console.WriteLine("Running example for API: StatObjectAsync [with ObjectQuery]");

StatObjectArgs args = new StatObjectArgs()
.WithBucket(bucketName)
.WithObject(bucketObject)
.WithVersionId(versionID)
.WithMatchETag(matchEtag)
.WithModifiedSince(modifiedSince);
ObjectStat statObjectVersion = await minio.StatObjectAsync(args);
PrintStat(bucketObject, statObjectVersion);
}
catch (MinioException me)
{
string objectNameInfo = $"{bucketName}-{bucketObject}";
if (!string.IsNullOrEmpty(versionID))
{
objectNameInfo = objectNameInfo + $" (Version ID) {me.Response.VersionId} (Marked DEL) {me.Response.DeleteMarker}";
}
Console.WriteLine($"[StatObject] {objectNameInfo} Exception: {me}");
}
catch (Exception e)
{
Console.WriteLine($"[StatObject] Exception: {e}");
}
}
}
}
Loading

0 comments on commit 63caddd

Please sign in to comment.