Beispiel #1
0
        /// <summary>
        /// Copies the file from the local file system to ObjectStorage.
        /// If the file already exists in ObjectStorage and overwrite is set to false than an ArgumentException is thrown.
        /// </summary>
        /// <param name="srcFileName">Location of the file on the local file system to copy.</param>
        /// <param name="overwrite">Determines whether the file can be overwritten.</param>
        /// <exception cref="T:System.IO.IOException">If the file already exists in ObjectStorage and overwrite is set to false.</exception>
        /// <exception cref="T:System.Net.WebException"></exception>
        public ObjectStorageFileInfo CopyFromLocal(string srcFileName, bool overwrite)
        {
            if (!overwrite)
            {
                if (Exists)
                {
                    throw new IOException("File already exists");
                }
            }

            var putObjectRequest = new PutObjectRequest
            {
                NamespaceName = namespaceName,
                BucketName    = bucket,
                ObjectName    = ObjectStorageHelper.EncodeKey(key)
            };

            using (var stream = File.Open(srcFileName, FileMode.Open))
            {
                putObjectRequest.UploadPartBody = stream;
                var updateRes = client.PutObject(putObjectRequest);
            }

            return(this);
        }
Beispiel #2
0
        public void TestInitialize()
        {
            // テスト用バケットの作成
            CreateBucketRequest createBucketRequest = new CreateBucketRequest
            {
                NamespaceName       = NameSpaceName,
                CreateBucketDetails = new OCISDK.ObjectStorage.Model.CreateBucketDetails
                {
                    Name          = TestBucketName,
                    CompartmentId = TargetCompartmentOCID,
                }
            };

            try
            {
                ObjectStorageClient.CreateBucket(createBucketRequest);
            }
            catch
            {
                Trace.WriteLine("create failed test bucket");
            }

            PutObjectRequest putObjectRequest = new PutObjectRequest
            {
                NamespaceName = NameSpaceName,
                BucketName    = TestBucketName
            };

            foreach (var testFile in TestFileInfos)
            {
                foreach (var fileName in testFile.Value)
                {
                    if (string.IsNullOrEmpty(testFile.Key))
                    {
                        putObjectRequest.ObjectName = fileName;
                    }
                    else
                    {
                        putObjectRequest.ObjectName = $"{testFile.Key}/{fileName}";
                    }
                    var resourceName = $"OCISDK.Test.Properties.{fileName}";
                    var assembly     = Assembly.GetExecutingAssembly();
                    PutObjectResponse updateRes;
                    using (var stream = assembly.GetManifestResourceStream(resourceName))
                    {
                        putObjectRequest.UploadPartBody = stream;
                        updateRes = ObjectStorageClient.PutObject(putObjectRequest);
                    }
                }
            }
        }
        public void TestInitialize()
        {
            // テスト用バケットを作成
            CreateBucketRequest createBucketRequest = new CreateBucketRequest
            {
                NamespaceName       = NameSpaceName,
                CreateBucketDetails = new OCISDK.ObjectStorage.Model.CreateBucketDetails
                {
                    CompartmentId = TargetCompartmentOCID,
                    Name          = TestBucketName
                }
            };

            try
            {
                ObjectStorageClient.CreateBucket(createBucketRequest);
            }
            catch (Exception e)
            {
                Trace.WriteLine($"create bucket failed. message:{e.Message}");
            }

            // あらかじめファイルを登録しておく
            var assembly = Assembly.GetExecutingAssembly();
            PutObjectResponse updateRes;
            PutObjectRequest  putObjectRequest = new PutObjectRequest
            {
                NamespaceName = NameSpaceName,
                BucketName    = TestBucketName
            };

            for (var i = 0; i < InitializeTestFiles.Length; i++)
            {
                putObjectRequest.ObjectName = InitializeTestFiles[i];
                using (var stream = assembly.GetManifestResourceStream("OCISDK.Test.Properties." + InitializeTestFiles[i]))
                {
                    putObjectRequest.UploadPartBody = stream;
                    updateRes = ObjectStorageClient.PutObject(putObjectRequest);
                }
            }

            // 削除確認用
            for (var i = 0; i < DeleteTestFiles.Length; i++)
            {
                putObjectRequest.ObjectName = DeleteTestFiles[i];
                using (var stream = assembly.GetManifestResourceStream("OCISDK.Test.Properties." + DeleteTestFiles[i]))
                {
                    putObjectRequest.UploadPartBody = stream;
                    updateRes = ObjectStorageClient.PutObject(putObjectRequest);
                }
            }
        }