// Copy object from one bucket to another public async static Task Run(MinioClient minio, string fromBucketName = "from-bucket-name", string fromObjectName = "from-object-name", string destBucketName = "dest-bucket", string destObjectName = " to-object-name", IServerSideEncryption sseSrc = null, IServerSideEncryption sseDest = null) { try { Console.WriteLine("Running example for API: CopyObjectAsync"); // Optionally pass copy conditions await minio.CopyObjectAsync(fromBucketName, fromObjectName, destBucketName, destObjectName, copyConditions : null, sseSrc : sseSrc, sseDest : sseDest); Console.WriteLine("Copied object {0} from bucket {1} to bucket {2}", fromObjectName, fromBucketName, destBucketName); Console.WriteLine(); } catch (Exception e) { Console.WriteLine("[Bucket] Exception: {0}", e); } }
// Put an object from a local stream into bucket public async static Task Run(MinioClient minio, string bucketName = "my-bucket-name", string objectName = "my-object-name", string fileName = "location-of-file", IServerSideEncryption sse = null) { try { byte[] bs = File.ReadAllBytes(fileName); using (MemoryStream filestream = new MemoryStream(bs)) { if (filestream.Length < (5 * MB)) { Console.WriteLine("Running example for API: PutObjectAsync with Stream"); } else { Console.WriteLine("Running example for API: PutObjectAsync with Stream and MultiPartUpload"); } var metaData = new Dictionary <string, string> { { "Test-Metadata", "Test Test" } }; await minio.PutObjectAsync(bucketName, objectName, filestream, filestream.Length, "application/octet-stream", metaData : metaData, sse : sse); } Console.WriteLine($"Uploaded object {objectName} to bucket {bucketName}"); Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"[Bucket] Exception: {e}"); } }
// Download object from bucket into local file public async static Task Run(MinioClient minio, string bucketName = "my-bucket-name", string objectName = "my-object-name", string fileName = "local-filename", IServerSideEncryption sse = null) { try { Console.WriteLine("Running example for API: GetObjectAsync"); File.Delete(fileName); await minio.GetObjectAsync(bucketName, objectName, fileName, sse : sse); Console.WriteLine($"Downloaded the file {fileName} from bucket {bucketName}"); Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"[Bucket] Exception: {e}"); } }
public T WithServerSideEncryption(IServerSideEncryption sse) { this.SSE = sse; this.SSE?.Marshal(SSEHeaders); return((T)this); }