Example #1
0
 private void PutLifeCycleConfiguration()
 {
     var request = new PutLifecycleConfigurationRequest {
         BucketName = AWSBucket, Configuration = LifecycleConfiguration
     };
     var response = S3Client.PutLifecycleConfiguration(request);
 }
Example #2
0
        private string MarshallRequest(LifecycleFilter filter, string prefix = null)
        {
            var request = new PutLifecycleConfigurationRequest()
            {
                BucketName    = "bucket",
                Configuration = new LifecycleConfiguration()
                {
                    Rules = new List <LifecycleRule>()
                    {
                        new LifecycleRule()
                        {
                            Prefix      = prefix,
                            Filter      = filter,
                            Transitions = new List <LifecycleTransition>()
                            {
                                new LifecycleTransition()
                                {
                                    Days         = 1,
                                    StorageClass = S3StorageClass.Glacier
                                }
                            }
                        }
                    }
                }
            };

            return(Encoding.UTF8.GetString(new PutLifecycleConfigurationRequestMarshaller().Marshall(request).Content));
        }
 static async Task AddExampleLifecycleConfigAsync(IAmazonS3 client, LifecycleConfiguration configuration)
 {
     PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest
     {
         BucketName    = bucketName,
         Configuration = configuration
     };
     var response = await client.PutLifecycleConfigurationAsync(request);
 }
Example #4
0
        static void AddExampleLifecycleConfigAsync(IAmazonS3 client, LifecycleConfiguration configuration)
        {
            PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest
            {
                BucketName = bucketName,

                Configuration = configuration
            };
            var response = client.PutLifecycleConfigurationAsync(request).Result;
        }
 public Task <PutLifecycleConfigurationResponse> PutLifecycleConfigurationAsync(PutLifecycleConfigurationRequest request, CancellationToken cancellationToken = default)
 {
     throw new NotImplementedException();
 }
Example #6
0
        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
            }
        }
 public PutLifecycleConfigurationResponse PutLifecycleConfiguration(PutLifecycleConfigurationRequest request)
 {
     throw new NotImplementedException();
 }
Example #8
0
 public void PutLifecycleConfigurationAsync(PutLifecycleConfigurationRequest request, AmazonServiceCallback <PutLifecycleConfigurationRequest, PutLifecycleConfigurationResponse> callback, AsyncOptions options = null)
 {
     throw new System.NotImplementedException();
 }
Example #9
0
        public static void Main(string[] args)
        {
            // create the AWS S3 client
            AmazonS3Client s3 = AWSS3Factory.getS3Client();

            String bucketName = String.Join("-", AWSS3Factory.S3_BUCKET, DateTime.Now.ToString("yyyyMMddHHmmss"));

            //************************//
            // 1. Create a bucket     //
            //************************//

            Console.Write(string.Format(" [*] Creating bucket '{0}'... ", bucketName));

            PutBucketResponse pbRes = s3.PutBucket(bucketName);

            if (pbRes.HttpStatusCode != System.Net.HttpStatusCode.OK)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");

            //*************************************//
            // 2. Configure bucket lifecycle rules //
            //*************************************//

            Console.Write(string.Format(" [*] Updating lifecycle configuration for bucket '{0}'... ", bucketName));

            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
                        },
                        Status = LifecycleRuleStatus.Enabled
                    },
                             // Rule to delete keys in subdirectory "Logs" after 2 days
                                        new LifecycleRule
                    {
                        Prefix     = "Logs/",
                        Expiration = new LifecycleRuleExpiration {
                            Days = 2
                        },
                        Id     = "log-file-removal",
                        Status = LifecycleRuleStatus.Enabled
                    }
                }
            };


            PutLifecycleConfigurationRequest plcReq = new PutLifecycleConfigurationRequest
            {
                BucketName    = bucketName,
                Configuration = newConfiguration
            };
            PutLifecycleConfigurationResponse plcRes = s3.PutLifecycleConfiguration(plcReq);

            if (plcRes.HttpStatusCode != System.Net.HttpStatusCode.OK)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");

            //************************************************//
            // 3. Retrieve the bucket lifecycle configuration //
            //************************************************//

            Console.Write(string.Format(" [*] Retrieving current lifecycle configuration for bucket '{0}'... ", bucketName));

            GetLifecycleConfigurationResponse glcRes = s3.GetLifecycleConfiguration(bucketName);

            if (glcRes.HttpStatusCode != System.Net.HttpStatusCode.OK)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");

            Console.WriteLine(String.Format(" [x] Configuration contains {0} rules", glcRes.Configuration.Rules.Count));
            foreach (LifecycleRule rule in glcRes.Configuration.Rules)
            {
                Console.WriteLine(" [x]     Rule:");
                Console.WriteLine(" [x]         Prefix = " + rule.Prefix);
                Console.WriteLine(" [x]         Expiration (days) = " + rule.Expiration.Days);
                Console.WriteLine(" [x]         Id = " + rule.Id);
                Console.WriteLine(" [x]         Status = " + rule.Status);
            }

            //**********************************************//
            // 4. Delete the bucket lifecycle configuration //
            //**********************************************//

            Console.Write(String.Format(" [*] Deleting current lifecycle configuration for bucket '{0}'... ", bucketName));

            DeleteLifecycleConfigurationResponse dlcRes = s3.DeleteLifecycleConfiguration(bucketName);

            if (dlcRes.HttpStatusCode != System.Net.HttpStatusCode.NoContent)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");


            Console.Write(String.Format(" [*] Verifying current lifecycle rules for bucket '{0}' are empty... ", bucketName));

            LifecycleConfiguration configuration = s3.GetLifecycleConfiguration(bucketName).Configuration;

            if (configuration.Rules.Count != 0)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");

            //************************//
            // 5. Delete the bucket   //
            //************************//

            Console.Write(String.Format(" [*] Deleting bucket '{0}'... ", bucketName));

            DeleteBucketResponse dbRes = s3.DeleteBucket(bucketName);

            if (dbRes.HttpStatusCode != System.Net.HttpStatusCode.NoContent)
            {
                Console.WriteLine("fail");
                Console.ReadLine();
                System.Environment.Exit(1);
            }
            Console.WriteLine("done");

            Console.WriteLine(" [*] Example is completed. Press any key to exit...");
            Console.ReadLine();
        }