메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

.NET용 AWS SDK를 사용하여 객체 수명 주기 관리

.NET용 AWS SDK를 사용하여 버킷에서 수명 주기 구성을 관리할 수 있습니다. 수명 주기 구성 관리에 대한 자세한 내용은 객체 수명 주기 관리 단원을 참조하십시오.

예 .NET 코드 예

다음 C# 코드 예제는 버킷에 수명 주기 구성을 추가합니다. 이 예제는 두 가지 수명 주기 구성을 보여 줍니다.

  • 규칙이 적용되는 객체의 하위 집합을 선택할 때 접두사만 사용하는 수명 주기 구성.

  • 규칙이 적용되는 객체의 하위 집합을 선택할 때 접두사와 객체 태그를 사용하는 수명 주기 구성.

수명 주기 규칙은 객체 생성 직후 객체를 GLACIER 스토리지 클래스로 이전합니다.

참고

다음은 최신 버전의 .NET SDK에서 작동하는 코드입니다.

실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행 단원을 참조하십시오.

Copy
using System; using System.Collections.Generic; using System.Diagnostics; using Amazon.S3; using Amazon.S3.Model; namespace aws.amazon.com.s3.documentation { class LifeCycleTest { static string bucketName = "*** bucket name ***"; public static void Main(string[] args) { try { using (var client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1)) { // 1. Add lifecycle config with prefix only. var lifeCycleConfigurationA = LifecycleConfig1(); // Add the configuration to the bucket PutLifeCycleConfiguration(client, lifeCycleConfigurationA); // Retrieve an existing configuration var lifeCycleConfiguration = GetLifeCycleConfiguration(client); // 2. Add lifecycle config with prefix and tags. var lifeCycleConfigurationB = LifecycleConfig2(); // Add the configuration to the bucket PutLifeCycleConfiguration(client, lifeCycleConfigurationB); // Retrieve an existing configuration lifeCycleConfiguration = GetLifeCycleConfiguration(client); // 3. Delete lifecycle config. DeleteLifecycleConfiguration(client); // 4. Retrieve a nonexistent configuration lifeCycleConfiguration = GetLifeCycleConfiguration(client); Debug.Assert(lifeCycleConfiguration == null); } Console.WriteLine("Example complete. To continue, click Enter..."); Console.ReadKey(); } catch (AmazonS3Exception amazonS3Exception) { Console.WriteLine("S3 error occurred. Exception: " + amazonS3Exception.ToString()); } catch (Exception e) { Console.WriteLine("Exception: " + e.ToString()); } } private static LifecycleConfiguration LifecycleConfig1() { var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Rule-1", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate { Prefix = "glacier/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 0, StorageClass = S3StorageClass.Glacier } }, } } }; return lifeCycleConfiguration; } private static LifecycleConfiguration LifecycleConfig2() { var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Rule-1", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecycleAndOperator { Operands = new List<LifecycleFilterPredicate> { new LifecyclePrefixPredicate { Prefix = "glacierobjects/" }, new LifecycleTagPredicate { Tag = new Tag() { Key = "tagKey1", Value = "tagValue1" } }, new LifecycleTagPredicate { Tag = new Tag() { Key = "tagKey2", Value = "tagValue2" } } } } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 0, StorageClass = S3StorageClass.Glacier } }, } } }; return lifeCycleConfiguration; } static void PutLifeCycleConfiguration(IAmazonS3 client, LifecycleConfiguration configuration) { PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = client.PutLifecycleConfiguration(request); } static LifecycleConfiguration GetLifeCycleConfiguration(IAmazonS3 client) { GetLifecycleConfigurationRequest request = new GetLifecycleConfigurationRequest { BucketName = bucketName }; var response = client.GetLifecycleConfiguration(request); var configuration = response.Configuration; return configuration; } static void DeleteLifecycleConfiguration(IAmazonS3 client) { DeleteLifecycleConfigurationRequest request = new DeleteLifecycleConfigurationRequest { BucketName = bucketName }; client.DeleteLifecycleConfiguration(request); } } }