Major update: Enhanced documentation, comprehensive examples, and fixed remaining issues

- Updated README.md with modern feature descriptions and comprehensive overview
- Enhanced docs/USAGE.md with advanced object listing, directory management, and chunked operations
- Created examples/ directory with 6 comprehensive example scripts:
  * 01-Basic-Operations.ps1 - Fundamental operations for beginners
  * 02-Advanced-Object-Listing.ps1 - Filtering, sorting, and pagination
  * 03-Directory-Management.ps1 - Nested directory structures and organization
  * 04-Chunked-Operations.ps1 - Large file handling with performance optimization
  * 05-Bulk-Operations.ps1 - Batch processing and automation workflows
  * 06-Enterprise-Automation.ps1 - Enterprise monitoring, reporting, and compliance
- Added comprehensive examples/README.md with usage patterns and best practices
- Fixed directory creation warnings (now clean verbose logging)
- Implemented missing Get-MinIOObject cmdlet with full filtering/sorting capabilities
- Added timing and performance metrics to all operations
- Enhanced chunked operations with multi-layer progress tracking
- Improved error handling and resource cleanup
- Removed temporary test files and cleaned up repository structure
- All examples use proper PowerShell output (no Write-Host usage)
- Professional logging with timestamps and structured output
This commit is contained in:
PSMinIO Developer
2025-07-10 22:33:03 -04:00
parent 2974ead76e
commit d887fd7f46
66 changed files with 2475 additions and 3428 deletions
+10 -3
View File
@@ -2,6 +2,7 @@ using System;
using System.IO;
using System.Linq;
using System.Management.Automation;
using PSMinIO.Models;
using PSMinIO.Utils;
namespace PSMinIO.Cmdlets
@@ -97,6 +98,9 @@ namespace PSMinIO.Cmdlets
try
{
// Track timing for this download
var startTime = DateTime.UtcNow;
// Download the file with progress reporting
Client.DownloadFile(
BucketName,
@@ -104,6 +108,8 @@ namespace PSMinIO.Cmdlets
FilePath.FullName,
bytesTransferred => progressReporter.UpdateProgress(bytesTransferred));
var completionTime = DateTime.UtcNow;
// Complete progress reporting
progressReporter.Complete();
@@ -111,9 +117,10 @@ namespace PSMinIO.Cmdlets
"Successfully downloaded object '{0}' from bucket '{1}' to '{2}'",
ObjectName, BucketName, FilePath.FullName);
// Always return file information
FilePath.Refresh(); // Refresh to get updated file info
WriteObject(FilePath);
// Refresh file info and create download result with timing information
FilePath.Refresh();
var downloadResult = new MinIODownloadResult(FilePath, BucketName, ObjectName, startTime, completionTime);
WriteObject(downloadResult);
}
#pragma warning disable CS0168 // Variable is declared but never used - false positive, ex is used in throw
catch (Exception ex)