Storage Lens 그룹 만들기 - Amazon Simple Storage Service

Storage Lens 그룹 만들기

다음 예제는 Amazon S3 콘솔, AWS Command Line Interface(AWS CLI) 및 AWS SDK for Java를 사용하여 Amazon S3 Storage Lens 그룹을 만드는 방법을 보여줍니다.

Storage Lens 그룹을 만들려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 페이지 상단의 탐색 모음에서 현재 표시된 AWS 리전의 이름을 선택합니다. 그런 다음 전환하려는 리전을 선택합니다.

  3. 왼쪽 탐색 창에서 스토리지 렌즈 그룹을 선택합니다.

  4. Storage Lens 그룹 생성을 선택합니다.

  5. 일반에서 홈 리전을 확인하고 Storage Lens 그룹 이름을 입력합니다.

  6. 범위에서 Storage Lens 그룹에 적용하려는 필터를 선택합니다. 여러 필터를 적용하려면 필터를 선택한 다음 AND 또는 OR 논리 연산자를 선택합니다.

    • 접두사 필터의 경우 접두사를 선택하고 접두사 문자열을 입력합니다. 여러 접두사를 추가하려면 접두사 추가를 선택합니다. 접두사를 제거하려면 제거할 접두사 옆에 있는 제거를 선택합니다.

    • 객체 태그 필터의 경우 객체 태그를 선택하고 객체의 키-값 쌍을 입력합니다. 그런 다음 태그 추가를 선택합니다. 태그를 제거하려면 제거하려는 태그 옆에 있는 제거를 선택합니다.

    • 접미사 필터의 경우 접미사를 선택하고 접미사 문자열을 입력합니다. 접미사를 여러 개 추가하려면 접미사 추가를 선택합니다. 접미사를 제거하려면 제거할 지문 옆에 있는 제거를 선택합니다.

    • 연령 필터의 경우 객체 연령 범위를 일 단위로 지정합니다. 최소 객체 연령 지정을 선택하고 최소 객체 연령을 입력합니다. 그런 다음 최대 객체 연령 지정을 선택하고 최대 객체 수명을 입력합니다.

    • 크기 필터의 경우 객체 크기 범위와 측정 단위를 지정합니다. 최소 객체 크기 지정을 선택하고 최소 객체 크기를 입력합니다. 최대 객체 크기 지정을 선택하고 최대 객체 크기를 입력합니다.

  7. (선택 사항) AWS 리소스 태그의 경우 키-값 쌍을 추가한 다음 태그 추가를 선택합니다.

  8. Storage Lens 그룹 생성을 선택합니다.

다음 예시 AWS CLI 명령은 스토리지 렌즈 그룹을 생성합니다. 이 예 명령을 사용하려면 user input placeholders를 실제 정보로 대체하세요.

aws s3control create-storage-lens-group --account-id 111122223333 \ --region us-east-1 --storage-lens-group=file://./marketing-department.json

다음 예시 AWS CLI 명령은 두 개의 AWS 리소스 태그가 있는 Storage Lens 그룹을 만듭니다. 이 예 명령을 사용하려면 user input placeholders를 실제 정보로 대체하세요.

aws s3control create-storage-lens-group --account-id 111122223333 \ --region us-east-1 --storage-lens-group=file://./marketing-department.json \ --tags Key=k1,Value=v1 Key=k2,Value=v2

JSON 구성에 대한 예제는 Storage Lens 그룹 구성 섹션을 참조하십시오.

다음 AWS SDK for Java 예제에서는 Storage Lens 그룹을 생성합니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

예 - 단일 필터를 사용하여 Storage Lens 그룹 만들기

다음 예제에서는 Marketing-Department라는 이름의 스토리지 렌즈 그룹을 만듭니다. 이 그룹에는 연령 범위를 30~90로 지정하는 객체 연령 필터가 있습니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3control.S3ControlClient; import software.amazon.awssdk.services.s3control.model.CreateStorageLensGroupRequest; import software.amazon.awssdk.services.s3control.model.MatchObjectAge; import software.amazon.awssdk.services.s3control.model.StorageLensGroup; import software.amazon.awssdk.services.s3control.model.StorageLensGroupFilter; public class CreateStorageLensGroupWithObjectAge { public static void main(String[] args) { String storageLensGroupName = "Marketing-Department"; String accountId = "111122223333"; try { StorageLensGroupFilter objectAgeFilter = StorageLensGroupFilter.builder() .matchObjectAge(MatchObjectAge.builder() .daysGreaterThan(30) .daysLessThan(90) .build()) .build(); StorageLensGroup storageLensGroup = StorageLensGroup.builder() .name(storageLensGroupName) .filter(objectAgeFilter) .build(); CreateStorageLensGroupRequest createStorageLensGroupRequest = CreateStorageLensGroupRequest.builder() .storageLensGroup(storageLensGroup) .accountId(accountId).build(); S3ControlClient s3ControlClient = S3ControlClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); s3ControlClient.createStorageLensGroup(createStorageLensGroupRequest); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
예 - 여러 필터를 포함하는 AND 연산자를 사용하여 Storage Lens 그룹을 만듭니다.

다음 예제에서는 Marketing-Department라는 이름의 스토리지 렌즈 그룹을 만듭니다. 이 그룹은 AND 연산자를 사용하여 객체가 모든 필터 조건과 일치해야 함을 나타냅니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3control.S3ControlClient; import software.amazon.awssdk.services.s3control.model.CreateStorageLensGroupRequest; import software.amazon.awssdk.services.s3control.model.MatchObjectAge; import software.amazon.awssdk.services.s3control.model.MatchObjectSize; import software.amazon.awssdk.services.s3control.model.S3Tag; import software.amazon.awssdk.services.s3control.model.StorageLensGroup; import software.amazon.awssdk.services.s3control.model.StorageLensGroupAndOperator; import software.amazon.awssdk.services.s3control.model.StorageLensGroupFilter; public class CreateStorageLensGroupWithAndFilter { public static void main(String[] args) { String storageLensGroupName = "Marketing-Department"; String accountId = "111122223333"; try { // Create object tags. S3Tag tag1 = S3Tag.builder() .key("object-tag-key-1") .value("object-tag-value-1") .build(); S3Tag tag2 = S3Tag.builder() .key("object-tag-key-2") .value("object-tag-value-2") .build(); StorageLensGroupAndOperator andOperator = StorageLensGroupAndOperator.builder() .matchAnyPrefix("prefix-1", "prefix-2", "prefix-3/sub-prefix-1") .matchAnySuffix(".png", ".gif", ".jpg") .matchAnyTag(tag1, tag2) .matchObjectAge(MatchObjectAge.builder() .daysGreaterThan(30) .daysLessThan(90).build()) .matchObjectSize(MatchObjectSize.builder() .bytesGreaterThan(1000L) .bytesLessThan(6000L).build()) .build(); StorageLensGroupFilter andFilter = StorageLensGroupFilter.builder() .and(andOperator) .build(); StorageLensGroup storageLensGroup = StorageLensGroup.builder() .name(storageLensGroupName) .filter(andFilter) .build(); CreateStorageLensGroupRequest createStorageLensGroupRequest = CreateStorageLensGroupRequest.builder() .storageLensGroup(storageLensGroup) .accountId(accountId).build(); S3ControlClient s3ControlClient = S3ControlClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); s3ControlClient.createStorageLensGroup(createStorageLensGroupRequest); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
예 - 여러 필터를 포함하는 OR 연산자를 사용하여 Storage Lens 그룹을 만듭니다.

다음 예제에서는 Marketing-Department라는 이름의 스토리지 렌즈 그룹을 만듭니다. 이 그룹은 OR 연산자를 사용하여 접두사 필터(prefix-1,prefix-2,prefix3/sub-prefix-1) 또는 크기 범위가 1000바이트에서 6000바이트 사이인 객체 크기 필터를 적용합니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3control.S3ControlClient; import software.amazon.awssdk.services.s3control.model.CreateStorageLensGroupRequest; import software.amazon.awssdk.services.s3control.model.MatchObjectSize; import software.amazon.awssdk.services.s3control.model.StorageLensGroup; import software.amazon.awssdk.services.s3control.model.StorageLensGroupFilter; import software.amazon.awssdk.services.s3control.model.StorageLensGroupOrOperator; public class CreateStorageLensGroupWithOrFilter { public static void main(String[] args) { String storageLensGroupName = "Marketing-Department"; String accountId = "111122223333"; try { StorageLensGroupOrOperator orOperator = StorageLensGroupOrOperator.builder() .matchAnyPrefix("prefix-1", "prefix-2", "prefix-3/sub-prefix-1") .matchObjectSize(MatchObjectSize.builder() .bytesGreaterThan(1000L) .bytesLessThan(6000L) .build()) .build(); StorageLensGroupFilter orFilter = StorageLensGroupFilter.builder() .or(orOperator) .build(); StorageLensGroup storageLensGroup = StorageLensGroup.builder() .name(storageLensGroupName) .filter(orFilter) .build(); CreateStorageLensGroupRequest createStorageLensGroupRequest = CreateStorageLensGroupRequest.builder() .storageLensGroup(storageLensGroup) .accountId(accountId).build(); S3ControlClient s3ControlClient = S3ControlClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); s3ControlClient.createStorageLensGroup(createStorageLensGroupRequest); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
예 - 단일 필터와 두 개의 AWS 리소스 태그를 사용하여 Storage Lens 그룹을 만듭니다.

다음 예제에서는 접미사 필터가 있는 Marketing-Department라는 이름의 Storage Lens 그룹을 만듭니다. 또한 이 예제는 Storage Lens 그룹에 두 개의 AWS 리소스 태그를 추가합니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3control.S3ControlClient; import software.amazon.awssdk.services.s3control.model.CreateStorageLensGroupRequest; import software.amazon.awssdk.services.s3control.model.StorageLensGroup; import software.amazon.awssdk.services.s3control.model.StorageLensGroupFilter; import software.amazon.awssdk.services.s3control.model.Tag; public class CreateStorageLensGroupWithResourceTags { public static void main(String[] args) { String storageLensGroupName = "Marketing-Department"; String accountId = "111122223333"; try { // Create AWS resource tags. Tag resourceTag1 = Tag.builder() .key("resource-tag-key-1") .value("resource-tag-value-1") .build(); Tag resourceTag2 = Tag.builder() .key("resource-tag-key-2") .value("resource-tag-value-2") .build(); StorageLensGroupFilter suffixFilter = StorageLensGroupFilter.builder() .matchAnySuffix(".png", ".gif", ".jpg") .build(); StorageLensGroup storageLensGroup = StorageLensGroup.builder() .name(storageLensGroupName) .filter(suffixFilter) .build(); CreateStorageLensGroupRequest createStorageLensGroupRequest = CreateStorageLensGroupRequest.builder() .storageLensGroup(storageLensGroup) .tags(resourceTag1, resourceTag2) .accountId(accountId).build(); S3ControlClient s3ControlClient = S3ControlClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); s3ControlClient.createStorageLensGroup(createStorageLensGroupRequest); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }

JSON 구성에 대한 예제는 Storage Lens 그룹 구성 섹션을 참조하십시오.