创建 Storage Lens 组
以下示例演示如何使用 Amazon S3 控制台、Amazon Command Line Interface (Amazon CLI) 和 Amazon SDK for Java 创建 Amazon S3 Storage Lens 存储统计管理工具组。
创建 Storage Lens 组
登录到Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在页面顶部的导航栏中,选择当前所显示 Amazon 区域的名称。接下来,选择要切换到的区域。
-
在左侧导航窗格中,选择 Storage Lens 组。
-
选择创建 Storage Lens 组。
-
在常规下,查看您的主区域,然后输入 Storage Lens 组名称。
-
在范围下,选择要应用于 Storage Lens 组的筛选条件。要应用多个筛选条件,请选择您的筛选条件,然后选择 AND 或 OR 逻辑运算符。
-
对于前缀筛选条件,请选择前缀,然后输入前缀字符串。要添加多个前缀,请选择添加前缀。要移除前缀,请选择要移除的前缀旁的移除。
-
对于对象标签筛选条件,请选择对象标签,然后输入对象的键值对。然后选择添加标签。要移除标签,请选择要移除的标签旁的移除。
-
对于后缀筛选条件,请选择后缀,然后输入后缀字符串。要添加多个后缀,请选择添加后缀。要移除后缀,请选择要移除的后缀旁的移除。
-
对于龄期筛选条件,请以天为单位指定对象的龄期范围。选择指定最小对象龄期,然后输入最小对象龄期。然后,选择指定最大对象龄期并输入最大对象龄期。
-
对于大小筛选条件,请指定对象大小范围和衡量单位。选择指定最小对象大小,然后输入最小对象大小。选择指定最大对象大小,然后输入最大对象大小。
-
-
(可选)对于 Amazon 资源标签,请添加键值对,然后选择添加标签。
-
选择创建 Storage Lens 组。
以下示例 Amazon CLI 命令将创建一个 Storage Lens 组。要使用此示例命令,请将
替换为您自己的信息。user input
placeholders
aws s3control create-storage-lens-group --account-id
111122223333
\ --regionus-east-1
--storage-lens-group=file://./marketing-department
.json
以下示例 Amazon CLI 命令将创建一个具有两个 Amazon 资源标签的 Storage Lens 组。要使用此示例命令,请将
替换为您自己的信息。user input placeholders
aws s3control create-storage-lens-group --account-id
111122223333
\ --regionus-east-1
--storage-lens-group=file://./marketing-department
.json \ --tags Key=k1
,Value=v1
Key=k2
,Value=v2
有关示例 JSON 配置,请参阅 Storage Lens 组配置。
以下 Amazon SDK for Java 示例将创建一个 Storage Lens 组。要使用此示例,请将
替换为您自己的信息。user input placeholders
例 – 创建包含单个筛选条件的 Storage Lens 组
以下示例将创建一个名为
的 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(objectAge
Filter) .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 组
以下示例将创建一个名为
的 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 组
以下示例将创建一个名为
的 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(); } } }
例 – 使用单个筛选条件和两个 Amazon 资源标签创建 Storage Lens 组
以下示例将创建一个名为
的 Storage Lens 组,该组具有后缀筛选条件。此示例还向 Storage Lens 组添加了两个 Amazon 资源标签。要使用此示例,请将 Marketing-Department
替换为您自己的信息。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 Amazon 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 组配置。