public PutBucket ( PutBucketRequest request ) : PutBucketResponse | ||
request | PutBucketRequest | Container for the necessary parameters to execute the PutBucket service method. |
return | PutBucketResponse |
public void TestLocation() { foreach (var location in new S3Region[] { S3Region.USW1, S3Region.EUC1 }) { string bucketName = null; var region = RegionEndpoint.GetBySystemName(location.Value); using (var client = new AmazonS3Client(region)) { try { bucketName = UtilityMethods.SDK_TEST_PREFIX + DateTime.Now.Ticks; client.PutBucket(new PutBucketRequest { BucketName = bucketName, BucketRegion = location }); var returnedLocation = client.GetBucketLocation(new GetBucketLocationRequest { BucketName = bucketName }).Location; Assert.AreEqual(location, returnedLocation); } finally { if (bucketName != null) AmazonS3Util.DeleteS3BucketWithObjects(client, bucketName); } } } }
public virtual void CreateBucket(AmazonS3Client s3Client, string bucketName) { // Create the request var putBucketRequest = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; // Create the bucket s3Client.PutBucket(putBucketRequest); }
public static void CreateBucket(string name) { using (var client = new AmazonS3Client(Settings.AccessKey, Settings.Secret)) { var request = new PutBucketRequest { BucketName = name, BucketRegionName = Settings.Region }; client.PutBucket(request); } }
public override void ActivateOptions() { var client = new AmazonS3Client(); ListBucketsResponse response = client.ListBuckets(); bool found = response.Buckets.Any(bucket => bucket.BucketName == BucketName); if (found == false) { client.PutBucket(new PutBucketRequest().WithBucketName(BucketName)); } base.ActivateOptions(); }
/* Sample call for upload:- byte[] array = new byte[1024*1024*1024]; Random random = new Random(); random.NextBytes(array); double timeTaken_Upload = Experiment.doRawCloudPerf(array, SynchronizerType.Azure, SynchronizeDirection.Upload, "fooContainer", "fooBlob"); double timeTaken_Download = Experiment.doRawCloudPerf(array, SynchronizerType.Azure, SynchronizeDirection.Download, "fooContainer", "fooBlob"); * * */ public static double doRawCloudPerf(byte[] input, SynchronizerType synchronizerType, SynchronizeDirection syncDirection, string exp_directory, Logger logger, string containerName=null, string blobName=null) { string accountName = ConfigurationManager.AppSettings.Get("AccountName"); string accountKey = ConfigurationManager.AppSettings.Get("AccountSharedKey"); DateTime begin=DateTime.Now, end=DateTime.Now; if (synchronizerType == SynchronizerType.Azure) { #region azure download/upload if (containerName==null) containerName = "testingraw"; if(blobName==null) blobName = Guid.NewGuid().ToString(); CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentialsAccountAndKey(accountName, accountKey), true); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(containerName); if (syncDirection == SynchronizeDirection.Upload) { logger.Log("Start Stream Append"); container.CreateIfNotExist(); begin = DateTime.UtcNow;////////////////////////////////////// try { using (MemoryStream memoryStream = new System.IO.MemoryStream(input)) { CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName); blockBlob.UploadFromStream(memoryStream); } } catch (Exception e) { } end = DateTime.UtcNow;////////////////////////////////////// logger.Log("End Stream Append"); } if (syncDirection == SynchronizeDirection.Download) { logger.Log("Start Stream Get"); logger.Log("Start Stream GetAll"); try { CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName); byte[] blobContents = blockBlob.DownloadByteArray(); //if (File.Exists(blobName)) // File.Delete(blobName); begin = DateTime.UtcNow;////////////////////////////////////// // using (FileStream fs = new FileStream(blobName, FileMode.OpenOrCreate)) // { byte[] contents = blockBlob.DownloadByteArray(); // fs.Write(contents, 0, contents.Length); // } } catch (Exception e) { } end = DateTime.UtcNow;////////////////////////////////////// logger.Log("End Stream Get"); logger.Log("End Stream GetAll"); } #endregion } else if (synchronizerType == SynchronizerType.AmazonS3) { #region amazon s3 stuff if (containerName == null) containerName = "testingraw"; if (blobName == null) blobName = Guid.NewGuid().ToString(); AmazonS3Client amazonS3Client = new AmazonS3Client(accountName, accountKey); if (syncDirection == SynchronizeDirection.Upload) { ListBucketsResponse response = amazonS3Client.ListBuckets(); foreach (S3Bucket bucket in response.Buckets) { if (bucket.BucketName == containerName) { break; } } amazonS3Client.PutBucket(new PutBucketRequest().WithBucketName(containerName)); begin = DateTime.UtcNow;////////////////////////////////////// MemoryStream ms = new MemoryStream(); ms.Write(input, 0, input.Length); PutObjectRequest request = new PutObjectRequest(); request.WithBucketName(containerName); request.WithKey(blobName); request.InputStream = ms; amazonS3Client.PutObject(request); end = DateTime.UtcNow;////////////////////////////////////// } if (syncDirection == SynchronizeDirection.Download) { if (File.Exists(blobName)) File.Delete(blobName); begin = DateTime.UtcNow;////////////////////////////////////// GetObjectRequest request = new GetObjectRequest(); request.WithBucketName(containerName); request.WithKey(blobName); GetObjectResponse response = amazonS3Client.GetObject(request); var localFileStream = File.Create(blobName); response.ResponseStream.CopyTo(localFileStream); localFileStream.Close(); end = DateTime.UtcNow;////////////////////////////////////// } #endregion } else { throw new InvalidDataException("syncronizer type is not valid"); } return (end - begin).TotalMilliseconds;// return total time to upload in milliseconds }
public virtual void PrepMode_CreateBucket(AmazonS3Client s3Client, string bucketName) { var putBucketRequest = new PutBucketRequest {BucketName = bucketName, UseClientRegion = true}; s3Client.PutBucket(putBucketRequest); }
public string Push(AmazonS3Client s3Client, AmazonCodeDeployClient codeDeployClient) { var zipFileName = string.Format("{0}.{1}.{2}.zip", ApplicationSetName, Version, BundleName); var tempPath = Path.Combine(Path.GetTempPath(), zipFileName + "." + Guid.NewGuid() + ".zip"); ZipFile.CreateFromDirectory(_bundleDirectory.FullName, tempPath, CompressionLevel.Optimal, false, Encoding.ASCII); var allTheBuckets = s3Client.ListBuckets(new ListBucketsRequest()).Buckets; if (!allTheBuckets.Exists(b => b.BucketName == Bucket)) { s3Client.PutBucket(new PutBucketRequest { BucketName = Bucket, UseClientRegion = true }); } var putResponse = s3Client.PutObject(new PutObjectRequest { BucketName = Bucket, Key = zipFileName, FilePath = tempPath, }); var registration = new RegisterApplicationRevisionRequest { ApplicationName = CodeDeployApplicationName, Description = "Revision " + Version, Revision = new RevisionLocation { RevisionType = RevisionLocationType.S3, S3Location = new S3Location { Bucket = Bucket, BundleType = BundleType.Zip, Key = zipFileName, Version = Version } } }; try { codeDeployClient.RegisterApplicationRevision(registration); } catch (ApplicationDoesNotExistException) { codeDeployClient.CreateApplication(new CreateApplicationRequest { ApplicationName = CodeDeployApplicationName }); codeDeployClient.RegisterApplicationRevision(registration); } return putResponse.ETag; }
/// <summary> /// create a new bucket in s3 /// </summary> /// <param name="PathName"></param> /// <returns></returns> public bool NewDirectory(string PathName) { try { //amazon client using (var client = new AmazonS3Client()) { //put bucket request using (var response = client.PutBucket(new PutBucketRequest() .WithBucketName(PathName))) { return true; } } } catch (Exception ex) { Trace.WriteLine(ex.ToString()); } return false; }
private void PutBuck(AmazonS3Client client) { // Construct request PutBucketRequest request = new PutBucketRequest { BucketName = "com.loofah.photos", BucketRegion = S3Region.US, // set region to US CannedACL = S3CannedACL.PublicRead // make bucket publicly readable }; // Issue call PutBucketResponse putBucketResponse = client.PutBucket(request); }
private void CreateAndCheckTestBucket() { TestBucketIsReady = false; USEast1Client = new AmazonS3Client(RegionEndpoint.USEast1); USWest1Client = new AmazonS3Client(RegionEndpoint.USWest1); var sessionCredentials = new AmazonSecurityTokenServiceClient().GetSessionToken().Credentials; USEast1ClientWithSessionCredentials = new AmazonS3Client(sessionCredentials, RegionEndpoint.USEast1); TestBucket = USWest1Client.ListBuckets().Buckets.Find(bucket => bucket.BucketName.StartsWith(BucketPrefix)); if (TestBucket == null) { // add ticks to bucket name because the bucket namespace is shared globally var bucketName = BucketPrefix + DateTime.Now.Ticks; // Create the bucket but don't run the test. // If the bucket is ready the next time this test runs we'll test then. USWest1Client.PutBucket(new PutBucketRequest() { BucketRegion = S3Region.USW1, BucketName = bucketName, }); } else if (TestBucket.CreationDate.AddHours(TemporaryRedirectMaxExpirationHours) < DateTime.Now) { BucketRegionDetector.BucketRegionCache.Clear(); TestBucketIsReady = true; } }
public void BucketSamples() { { #region ListBuckets Sample // Create a client AmazonS3Client client = new AmazonS3Client(); // Issue call ListBucketsResponse response = client.ListBuckets(); // View response data Console.WriteLine("Buckets owner - {0}", response.Owner.DisplayName); foreach (S3Bucket bucket in response.Buckets) { Console.WriteLine("Bucket {0}, Created on {1}", bucket.BucketName, bucket.CreationDate); } #endregion } { #region BucketPolicy Sample // Create a client AmazonS3Client client = new AmazonS3Client(); // Put sample bucket policy (overwrite an existing policy) string newPolicy = @"{ ""Statement"":[{ ""Sid"":""BasicPerms"", ""Effect"":""Allow"", ""Principal"": ""*"", ""Action"":[""s3:PutObject"",""s3:GetObject""], ""Resource"":[""arn:aws:s3:::samplebucketname/*""] }]}"; PutBucketPolicyRequest putRequest = new PutBucketPolicyRequest { BucketName = "SampleBucket", Policy = newPolicy }; client.PutBucketPolicy(putRequest); // Retrieve current policy GetBucketPolicyRequest getRequest = new GetBucketPolicyRequest { BucketName = "SampleBucket" }; string policy = client.GetBucketPolicy(getRequest).Policy; Console.WriteLine(policy); Debug.Assert(policy.Contains("BasicPerms")); // Delete current policy DeleteBucketPolicyRequest deleteRequest = new DeleteBucketPolicyRequest { BucketName = "SampleBucket" }; client.DeleteBucketPolicy(deleteRequest); // Retrieve current policy and verify that it is null policy = client.GetBucketPolicy(getRequest).Policy; Debug.Assert(policy == null); #endregion } { #region GetBucketLocation Sample // Create a client AmazonS3Client client = new AmazonS3Client(); // Construct request GetBucketLocationRequest request = new GetBucketLocationRequest { BucketName = "SampleBucket" }; // Issue call GetBucketLocationResponse response = client.GetBucketLocation(request); // View response data Console.WriteLine("Bucket location - {0}", response.Location); #endregion } { #region PutBucket Sample // Create a client AmazonS3Client client = new AmazonS3Client(); // Construct request PutBucketRequest request = new PutBucketRequest { BucketName = "SampleBucket", BucketRegion = S3Region.EU, // set region to EU CannedACL = S3CannedACL.PublicRead // make bucket publicly readable }; // Issue call PutBucketResponse response = client.PutBucket(request); #endregion } { #region DeleteBucket Sample 1 // Create a client AmazonS3Client client = new AmazonS3Client(); // Construct request DeleteBucketRequest request = new DeleteBucketRequest { BucketName = "SampleBucket" }; // Issue call DeleteBucketResponse response = client.DeleteBucket(request); #endregion } { #region DeleteBucket Sample 2 // Create a client AmazonS3Client client = new AmazonS3Client(); // List and delete all objects ListObjectsRequest listRequest = new ListObjectsRequest { BucketName = "SampleBucket" }; ListObjectsResponse listResponse; do { // Get a list of objects listResponse = client.ListObjects(listRequest); foreach (S3Object obj in listResponse.S3Objects) { // Delete each object client.DeleteObject(new DeleteObjectRequest { BucketName = "SampleBucket", Key = obj.Key }); } // Set the marker property listRequest.Marker = listResponse.NextMarker; } while (listResponse.IsTruncated); // Construct DeleteBucket request DeleteBucketRequest request = new DeleteBucketRequest { BucketName = "SampleBucket" }; // Issue call DeleteBucketResponse response = client.DeleteBucket(request); #endregion } { #region LifecycleConfiguration Sample // Create a client AmazonS3Client client = new AmazonS3Client(); // Put sample lifecycle configuration (overwrite an existing configuration) LifecycleConfiguration newConfiguration = new LifecycleConfiguration { Rules = new List<LifecycleRule> { // Rule to delete keys with prefix "Test-" after 5 days new LifecycleRule { Prefix = "Test-", Expiration = new LifecycleRuleExpiration { Days = 5 } }, // Rule to delete keys in subdirectory "Logs" after 2 days new LifecycleRule { Prefix = "Logs/", Expiration = new LifecycleRuleExpiration { Days = 2 }, Id = "log-file-removal" } } }; PutLifecycleConfigurationRequest putRequest = new PutLifecycleConfigurationRequest { BucketName = "SampleBucket", Configuration = newConfiguration }; client.PutLifecycleConfiguration(putRequest); // Retrieve current configuration GetLifecycleConfigurationRequest getRequest = new GetLifecycleConfigurationRequest { BucketName = "SampleBucket" }; LifecycleConfiguration configuration = client.GetLifecycleConfiguration(getRequest).Configuration; Console.WriteLine("Configuration contains {0} rules", configuration.Rules.Count); foreach (LifecycleRule rule in configuration.Rules) { Console.WriteLine("Rule"); Console.WriteLine(" Prefix = " + rule.Prefix); Console.WriteLine(" Expiration (days) = " + rule.Expiration.Days); Console.WriteLine(" Id = " + rule.Id); Console.WriteLine(" Status = " + rule.Status); } // Put a new configuration and overwrite the existing configuration configuration.Rules.RemoveAt(0); // remove first rule client.PutLifecycleConfiguration(putRequest); // Delete current configuration DeleteLifecycleConfigurationRequest deleteRequest = new DeleteLifecycleConfigurationRequest { BucketName = "SampleBucket" }; client.DeleteLifecycleConfiguration(deleteRequest); // Retrieve current configuration and verify that it is null configuration = client.GetLifecycleConfiguration(getRequest).Configuration; Debug.Assert(configuration == null); #endregion } }
private static void Initialize() { NameValueCollection appConfig = ConfigurationManager.AppSettings; _amazonS3Client = new AmazonS3Client(appConfig["AWSAccessKey"], appConfig["AWSSecretKey"]); _folder = appConfig["SyncFolder"]; string password = appConfig["CryptoKey"]; Rfc2898DeriveBytes rfcDb = new Rfc2898DeriveBytes(password, System.Text.Encoding.UTF8.GetBytes(password)); Rijndael rijndael = Rijndael.Create(); byte[] key = rfcDb.GetBytes(32); //256 bits key byte[] iv = rfcDb.GetBytes(16); // 128 bits key _aesEncryptor = rijndael.CreateEncryptor(key, iv); _aesDecryptor = rijndael.CreateDecryptor(key, iv); ListBucketsResponse listBucketsResponse = _amazonS3Client.ListBuckets(); bool bucketIsExist = listBucketsResponse.Buckets.Any(s3Bucket => s3Bucket.BucketName == BucketName); if (!bucketIsExist) { _amazonS3Client.PutBucket(new PutBucketRequest().WithBucketName(BucketName)); } InitializeFileSystemWatcher(); }