

# Creación de un grupo de Lente de almacenamiento
<a name="storage-lens-groups-create"></a>

En los siguientes ejemplos se muestra cómo crear un grupo de Lente de almacenamiento de Amazon S3 mediante la consola de Amazon S3, AWS Command Line Interface (AWS CLI) yAWS SDK para Java.

## Uso de la consola de S3
<a name="create-storage-lens-group-console"></a>

**Para crear un grupo de Lente de almacenamiento**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En la barra de navegación de la parte superior de la página, elija el nombre de la región de AWS que aparece. A continuación, elija la región a la que desea cambiar. 

1. En el panel de navegación izquierdo, elija **Grupos de Storage Lens**.

1. Elija **Crear grupo de Lente de almacenamiento**.

1. En **General**, vea la **Región de origen** e introduzca el nombre de su **grupo de lentes de almacenamiento**.

1. En **Ámbito**, elija el filtro que desea aplicar a su grupo de Lente de almacenamiento. Para aplicar varios filtros, elíjalos y, a continuación, elija el operador lógico **AND** u **OR**.
   + Para el filtro **Prefijos**, elija **Prefijos** e introduzca una cadena de prefijos. Para añadir varios prefijos, elija **Agregar prefijo**. Para eliminar un prefijo, elija **Eliminar** que está ubicado junto al prefijo que desea eliminar.
   + Para el filtro **Etiquetas de objetos**, elija **Etiquetas de objeto** e introduzca el par clave-valor del objeto. A continuación, elija **Agregar etiqueta**. Para eliminar una etiqueta, elija **Eliminar** junto a la etiqueta que desee eliminar.
   + Para el filtro **Sufijos**, elija **Sufijos** e introduzca una cadena de sufijos. Para añadir varios sufijos, elija **Agregar sufijo.** Para eliminar un sufijo, elija **Eliminar** que está ubicado junto al sufijo que desea eliminar.
   + Para el filtro **Antigüedad**, especifique el rango de antigüedad de objeto en días. Elija **Especificar la edad mínima del objeto** e introduzca la edad mínima del objeto. A continuación, elija **Especificar la edad máxima del objeto** e introduzca la edad máxima del objeto.
   + Para el filtro **Tamaño**, especifique el rango de tamaño de objeto y la unidad de medida. Elija **Especificar el tamaño mínimo del objeto** e introduzca el tamaño mínimo del objeto. Elija **Especificar el tamaño máximo del objeto** e introduzca el tamaño máximo del objeto.

1. (Opcional) Para las etiquetas de recursos de AWS, añada el par clave-valor y, a continuación, seleccione **Agregar etiqueta**.

1. Seleccione **Crear grupo de Lente de almacenamiento**.

## Uso de AWS CLI
<a name="create-storage-lens-group-cli"></a>

El siguiente comando de AWS CLI de ejemplo crea un grupo de Storage Lens. Para utilizar este comando de ejemplo, sustituya `{{user input placeholders}}` por su propia información.

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

El siguiente comando de ejemplo de AWS CLI crea un grupo de Lente de almacenamiento con dos etiquetas de recursos de AWS. Para utilizar este comando de ejemplo, sustituya `{{user input placeholders}}` por su propia información.

```
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}}
```

Para ver configuraciones de JSON de ejemplo, consulte [Configuración de grupos de Lente de almacenamiento](storage-lens-groups.md#storage-lens-groups-configuration).

## Uso de AWS SDK para Java
<a name="create-storage-lens-group-sdk-java"></a>

El siguiente ejemplo de AWS SDK para Java crea un grupo de Lente de almacenamiento. Para utilizar este ejemplo, sustituya `{{user input placeholders}}` por su propia información.

**Example — Crear un grupo de Lente de almacenamiento con un solo filtro**  
El ejemplo siguiente crea un grupo de Storage Lens denominado `{{Marketing-Department}}`: Este grupo tiene un filtro de antigüedad de objetos que especifica el rango de antigüedad como de `{{90}}` a `{{30}}` días. Para utilizar este ejemplo, sustituya `{{user input placeholders}}` por su propia información.  

```
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();
        }
    }
}
```

**Example — Crear un grupo de Lente de almacenamiento con un operador `AND` que incluya varios filtros**  
El ejemplo siguiente crea un grupo de Storage Lens denominado `{{Marketing-Department}}`: Este grupo usa el operador `AND` para indicar que los objetos deben coincidir con **todas** las condiciones de filtro. Para utilizar este ejemplo, sustituya `{{user input placeholders}}` por su propia información.   

```
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();
        }
    }
}
```

**Example — Crear un grupo de Lente de almacenamiento con un operador `OR` que incluya varios filtros**  
El ejemplo siguiente crea un grupo de Storage Lens denominado `{{Marketing-Department}}` Este grupo usa un operador `OR` para aplicar un filtro de prefijo (`{{prefix-1}}`, `{{prefix-2}}`, `{{prefix3/sub-prefix-1}}`) o un filtro de tamaño de objeto con un rango de tamaño entre `{{1000}}` bytes y `{{6000}}` bytes. Para utilizar este ejemplo, sustituya `{{user input placeholders}}` por su propia información.  

```
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();
        }
    }
}
```

**Example — Crear un grupo de Lente de almacenamiento con un solo filtro y dos etiquetas de recursos de AWS**  
En el siguiente ejemplo, se crea un grupo de Lente de almacenamiento denominado `{{Marketing-Department}}` que tiene un filtro de sufijo. En este ejemplo también se agregan dos etiquetas de recursos AWS al grupo de Lente de almacenamiento. Para utilizar este ejemplo, sustituya `{{user input placeholders}}` por su propia información.  

```
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();
        }
    }
}
```

Para ver configuraciones de JSON de ejemplo, consulte [Configuración de grupos de Lente de almacenamiento](storage-lens-groups.md#storage-lens-groups-configuration).