public void TestingAQueryWithVersioning() { string bucket = Guid.NewGuid().ToString(); PutBucketRequestECS pbr = new PutBucketRequestECS() { BucketName = bucket, }; pbr.SetMetadataSearchKeys(bucketMetadataSearchKeys); client.PutBucket(pbr); PutBucketVersioningRequest pbv = new PutBucketVersioningRequest() { BucketName = bucket, VersioningConfig = new S3BucketVersioningConfig() { Status = VersionStatus.Enabled } }; client.PutBucketVersioning(pbv); for (int i = 0; i < 5; i++) { PutObjectRequest object_request = new PutObjectRequest() { BucketName = bucket, Key = string.Format("obj-{0}", i), ContentBody = string.Format("This is sample content for object {0}.", i) }; object_request.Metadata.Add("x-amz-meta-decimalvalue", Convert.ToString(i * 2)); object_request.Metadata.Add("x-amz-meta-stringvalue", string.Format("sample-{0}", Convert.ToString(i))); client.PutObject(object_request); object_request.ContentBody = string.Format("This is sample content for object {0} after versioning has been enabled.", i); client.PutObject(object_request); } QueryObjectsRequest qor = new QueryObjectsRequest() { BucketName = bucket, IncludeOlderVersions = true, Query = "x-amz-meta-decimalvalue>4" }; var qor_respose = client.QueryObjects(qor); Assert.IsNotNull(qor_respose.ObjectMatches); Assert.AreEqual(4, qor_respose.ObjectMatches.Count); Assert.AreEqual(bucket, qor_respose.BucketName); CleanBucket(bucket); client.DeleteBucket(bucket); }
public void TestPutBucketFileSystemEnabled() { PutBucketRequestECS request = new PutBucketRequestECS() { BucketName = temp_bucket, EnableFileSystem = true }; PutBucketResponseECS response = client.PutBucket(request); Assert.IsNotNull(response); }
public static void Main(string[] args) { // create the ECS S3 client ECSS3Client s3 = ECSS3Factory.getS3Client(); // create bucket request PutBucketRequestECS request = new PutBucketRequestECS() { BucketName = ECSS3Factory.S3_BUCKET }; // create bucket - used for subsequent demos s3.PutBucket(request); // create bucket lising request ListObjectsRequest objects = new ListObjectsRequest() { BucketName = ECSS3Factory.S3_BUCKET }; // get bucket lising to retrieve bucket name ListObjectsResponse result = s3.ListObjects(objects); // print bucket name for validation Console.WriteLine(string.Format("Successfully created bucket {0}.", result.Name)); Console.ReadLine(); }
public static void Initialize(TestContext testContext) { BasicAWSCredentials creds = new BasicAWSCredentials(ConfigurationManager.AppSettings["S3_ACCESS_KEY_ID"], ConfigurationManager.AppSettings["S3_SECRET_KEY"]); AmazonS3Config cc = new AmazonS3Config() { ForcePathStyle = true, ServiceURL = ConfigurationManager.AppSettings["S3_ENDPOINT"], SignatureVersion = ConfigurationManager.AppSettings["SIGNATURE_VERSION"], SignatureMethod = SigningAlgorithm.HmacSHA1, UseHttp = false, }; client = new ECSS3Client(creds, cc); PutBucketRequestECS request = new PutBucketRequestECS() { BucketName = temp_bucket, }; // Set the indexable search keys on the bucket. request.SetMetadataSearchKeys(bucketMetadataSearchKeys); string vpool_id = ConfigurationManager.AppSettings["VPOOL_ID"]; if (!string.IsNullOrWhiteSpace(vpool_id)) { request.VirtualPoolId = vpool_id; } client.PutBucket(request); for (int i = 0; i < 5; i++) { PutObjectRequest object_request = new PutObjectRequest() { BucketName = temp_bucket, Key = string.Format("obj-{0}", i), ContentBody = string.Format("This is sample content for object {0}", i) }; object_request.Metadata.Add("x-amz-meta-decimalvalue", Convert.ToString(i * 2)); object_request.Metadata.Add("x-amz-meta-stringvalue", string.Format("sample-{0}", Convert.ToString(i))); client.PutObject(object_request); } }
public static void Initialize(TestContext testContext) { System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); BasicAWSCredentials creds = new BasicAWSCredentials(ConfigurationManager.AppSettings["S3_ACCESS_KEY_ID"], ConfigurationManager.AppSettings["S3_SECRET_KEY"]); AmazonS3Config cc = new AmazonS3Config() { ForcePathStyle = true, ServiceURL = ConfigurationManager.AppSettings["S3_ENDPOINT"], SignatureVersion = ConfigurationManager.AppSettings["SIGNATURE_VERSION"], SignatureMethod = SigningAlgorithm.HmacSHA1, UseHttp = false, }; client = new ECSS3Client(creds, cc); PutBucketRequestECS request = new PutBucketRequestECS() { BucketName = temp_bucket, }; client.PutBucket(request); }
public static void Main(string[] args) { // create the ECS S3 client ECSS3Client s3 = ECSS3Factory.getS3Client(); // Create the bucket with indexed keys List <MetaSearchKey> bucketMetadataSearchKeys = new List <MetaSearchKey>() { new MetaSearchKey() { Name = USER_PREFIX + FIELD_ACCOUNT_ID, Type = MetaSearchDatatype.integer }, new MetaSearchKey() { Name = USER_PREFIX + FIELD_BILLING_DATE, Type = MetaSearchDatatype.datetime }, new MetaSearchKey() { Name = USER_PREFIX + FIELD_BILL_TYPE, Type = MetaSearchDatatype.@string } }; PutBucketRequestECS pbr = new PutBucketRequestECS(); pbr.BucketName = BUCKET_NAME; pbr.SetMetadataSearchKeys(bucketMetadataSearchKeys); s3.PutBucket(pbr); foreach (string key in KEY_LIST) { PutObjectRequestECS por = new PutObjectRequestECS(); por.BucketName = BUCKET_NAME; por.Key = key; por.Metadata.Add(FIELD_ACCOUNT_ID, extractAccountId(key)); por.Metadata.Add(FIELD_BILLING_DATE, extractBillDate(key)); por.Metadata.Add(FIELD_BILL_TYPE, extractBillType(key)); s3.PutObject(por); } while (true) { Console.Write("Enter the account id (empty for none): "); string accountId = Console.ReadLine(); Console.Write("Enter the billing date (e.g. 2016-09-22, empty for none): "); string billingDate = Console.ReadLine(); Console.Write("Enter the bill type (e.g. xml. empty for none): "); string billType = Console.ReadLine(); QueryObjectsRequest qor = new QueryObjectsRequest() { BucketName = BUCKET_NAME }; StringBuilder query = new StringBuilder(); if (accountId.Length > 0) { query.Append(USER_PREFIX + FIELD_ACCOUNT_ID + "==" + accountId + ""); } if (billingDate.Length > 0) { if (query.Length > 0) { query.Append(" and "); } query.Append(USER_PREFIX + FIELD_BILLING_DATE + "==" + billingDate + "T00:00:00Z"); } if (billType.Length > 0) { if (query.Length > 0) { query.Append(" and "); } query.Append(USER_PREFIX + FIELD_BILL_TYPE + "=='" + billType + "'"); } qor.Query = query.ToString(); QueryObjectsResponse res = s3.QueryObjects(qor); Console.WriteLine("--------------------------"); Console.WriteLine("Bucket: " + res.BucketName); Console.WriteLine("Query: " + qor.Query); Console.WriteLine(); Console.WriteLine("Key"); Console.WriteLine("--------------------------"); foreach (QueryObject obj in res.ObjectMatches) { Console.WriteLine(string.Format("{0}", obj.Name)); } Console.Write("Another? (Y/N) "); string another = Console.ReadLine(); if (another.ToUpper() == "N") { break; } } //cleanup foreach (string key in KEY_LIST) { s3.DeleteObject(BUCKET_NAME, key); } s3.DeleteBucket(BUCKET_NAME); }