public static async Task MainUploadManager() { logger.Info("Starting Upload Manager Example"); var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT"); var osClient = new ObjectStorageClient(provider, new ClientConfiguration() { TimeoutMillis = 1000 * 1000 // 1000 secs. Setting large timeouts is required for uploading large objects to avoid httpclient timeout exceptions. }); var putObjectRequest = new PutObjectRequest() { BucketName = Environment.GetEnvironmentVariable("BUCKET_NAME"), NamespaceName = Environment.GetEnvironmentVariable("NAMESPACE_NAME"), ObjectName = Environment.GetEnvironmentVariable("OBJECT_NAME"), PutObjectBody = System.IO.File.OpenRead(Environment.GetEnvironmentVariable("FILE_TO_UPLOAD")), ContentLength = Convert.ToInt64(Environment.GetEnvironmentVariable("CONTENT_LENGTH")), ContentType = Environment.GetEnvironmentVariable("CONTENT_TYPE") }; var uploadConfiguration = new UploadConfiguration() { AllowMultipartUploads = true }; var uploadManager = new UploadManager(osClient, uploadConfiguration); var uploadRequest = new UploadManager.UploadRequest(putObjectRequest) { AllowOverwrite = true, OnProgress = OnProgres }; var uploadResponse = await uploadManager.Upload(uploadRequest); logger.Info(uploadResponse); var headObject = await osClient.HeadObject(new HeadObjectRequest() { BucketName = Environment.GetEnvironmentVariable("BUCKET_NAME"), NamespaceName = Environment.GetEnvironmentVariable("NAMESPACE_NAME"), ObjectName = Environment.GetEnvironmentVariable("OBJECT_NAME") }); logger.Info($"{headObject.ETag}"); osClient.Dispose(); }
protected override void ProcessRecord() { base.ProcessRecord(); PutObjectRequest request; UploadManager uploadManager; UploadManager.UploadRequest uploadRequest; UploadConfiguration uploadConfiguration; if (ParameterSetName.Equals(FromFileSet)) { PutObjectBody = System.IO.File.OpenRead(GetAbsoluteFilePath(PutObjectBodyFromFile)); } try { request = new PutObjectRequest { NamespaceName = NamespaceName, BucketName = BucketName, ObjectName = ObjectName, ContentLength = ContentLength, PutObjectBody = PutObjectBody, IfMatch = IfMatch, IfNoneMatch = IfNoneMatch, OpcClientRequestId = OpcClientRequestId, Expect = Expect, ContentMD5 = ContentMD5, ContentType = ContentType, ContentLanguage = ContentLanguage, ContentEncoding = ContentEncoding, ContentDisposition = ContentDisposition, CacheControl = CacheControl, OpcSseCustomerAlgorithm = OpcSseCustomerAlgorithm, OpcSseCustomerKey = OpcSseCustomerKey, OpcSseCustomerKeySha256 = OpcSseCustomerKeySha256, StorageTier = StorageTier, OpcMeta = OpcMeta }; uploadConfiguration = new UploadConfiguration { LengthPerUploadPartInMiB = LengthPerUploadPartInMiB, AllowMultipartUploads = AllowMultipartUploads, ParallelUploadCount = ParallelUploadCount, DisableAutoAbort = DisableAutoAbort, EnforceMd5MultipartUpload = EnforceMd5MultipartUpload, EnforceMd5Upload = EnforceMd5Upload }; uploadManager = new UploadManager(client, uploadConfiguration); uploadRequest = new UploadManager.UploadRequest(request); uploadResponse = uploadManager.Upload(uploadRequest).GetAwaiter().GetResult(); WriteOutput(uploadResponse); FinishProcessing(uploadResponse); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }