

# Criar um painel da Lente de Armazenamento do Amazon S3
<a name="storage_lens_creating_dashboard"></a>

Você pode criar painéis personalizados adicionais da Lente de Armazenamento do S3 que podem ser colocados no escopo de sua organização no AWS Organizations ou em Regiões da AWS específicas ou buckets específicos em uma conta. 

**nota**  
As atualizações na configuração do painel podem levar até 48 horas para serem exibidas ou visualizadas com precisão.

## Usar o console do S3
<a name="storage_lens_console_creating"></a>

Use as etapas a seguir para criar um painel do Amazon S3 Storage Lens no console do Amazon S3.

**Etapa 1: definir configurações gerais**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na barra de navegação na parte superior da página, escolha o nome da Região da AWS exibida no momento. Em seguida, escolha a região para a qual você deseja mudar. 

1. No painel de navegação esquerdo, em **Lente de Armazenamento do S3**, selecione **Painéis**.

1. Escolha **Create dashboard (Criar painel)**.

1. Na página **Dashboard** (Painel), na seção **General** (Geral), faça o seguinte:

   1. Visualize a **Região de origem** para seu painel. A região de origem é a Região da AWS em que a configuração e as métricas referentes a esse painel do Lente de Armazenamento estão armazenadas.

   1. Insira um nome de painel. 

      Os nomes do painel devem ter menos de 65 caracteres e não devem conter caracteres ou espaços especiais. 
**nota**  
Não é possível alterar o nome do painel depois que o painel for criado.

   1. Escolha **Habilitado** para exibir métricas diárias atualizadas em seu painel.

   1. (Opcional) Você pode optar por adicionar **tags** ao seu painel. Você pode usar tags para gerenciar permissões para seu painel e rastrear os custos para o S3 Storage Lens. Para obter mais informações, consulte [Controlar o acesso a recursos da AWS usando tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) no *Guia do usuário do IAM* e [Usar tags geradas pela AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tags.html) no *Guia do usuário do AWS Billing*.
**nota**  
Você pode adicionar até 50 tags à configuração do painel.

1. Escolha **Próximo** para salvar as alterações e prosseguir.

**Etapa 2: Definir o escopo do painel**

1. Na seção **Escopo do painel**, escolha as regiões e os buckets que deseja que a Lente de Armazenamento do S3 inclua ou exclua do painel.

1. Escolha os buckets nas regiões selecionadas que deseja que o S3 Storage Lens inclua ou exclua. Você pode incluir ou excluir buckets, mas não ambos. Essa opção não está disponível quando ao criar painéis em nível de organização.
**nota**  
Você pode incluir ou excluir regiões e buckets. Essa opção é limitada a regiões somente ao criar painéis no nível da organização em contas de membro na sua organização. 
Você pode escolher até cinquenta buckets para incluir ou excluir.

1. Escolha **Próximo** para salvar as alterações e prosseguir.

**Etapa 3: escolher o nível da Lente de Armazenamento**

1. Na seção **Lente de Armazenamento**, escolha o nível de recursos que deseja agregar para esse painel.

   1. Para incluir métricas gratuitas agregadas por bucket e disponíveis para consultas por 14 dias, escolha **Nível gratuito**.

   1. Para habilitar métricas avançadas, escolha **Nível avançado**. Essas opções incluem a agregação de prefixos ou grupos da Lente de Armazenamento, a publicação no Amazon CloudWatch, o relatório de prefixos ampliado e recomendações contextuais. Os dados ficam disponíveis para consultas por 15 meses. As métricas e recomendações avançadas têm um custo adicional. Para obter mais informações, consulte [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/).

      Para obter mais informações sobre métricas avançadas e métricas gratuitas, consulte [Seleção de métricas](storage_lens_basics_metrics_recommendations.md#storage_lens_basics_metrics_selection).

1. Em **Categorias de métricas avançadas**, selecione a categoria de métricas que deseja habilitar:
   + **Métricas de atividade**
   + **Detailed status code metrics (Métricas detalhadas do código de status**
   + **Métricas de otimização de custos**
   + **Métricas de proteção de dados**
   + **Métricas de performance**

   Para visualizar quais métricas estão incluídas em cada categoria, use o botão de seta suspenso abaixo da lista de caixas de seleção da categoria de métricas. Para obter mais informações sobre categorias de métricas, consulte [Categorias de métricas](storage_lens_basics_metrics_recommendations.md#storage_lens_basics_metrics_types). Para obter uma lista completa de métricas, consulte [Glossário de métricas de lente de armazenamento do Amazon S3](storage_lens_metrics_glossary.md).

1. Escolha ou especifique um **delimitador de prefixo** para distinguir os níveis em cada prefixo. Este valor é usado para identificar cada nível de prefixo. O valor padrão no Amazon S3 é o caractere “`/`“, mas sua estrutura de armazenamento pode usar outros caracteres delimitadores.

1. Escolha **Próximo** para salvar as alterações e prosseguir.

**Etapa 4: (opcional) escolher quais métricas agregar**

1. Em **Agregação de métricas adicionais**, escolha quais métricas você deseja agregar:
   + Agregação de prefixo
   + Agregação de grupos da Lente de Armazenamento

1. Se você habilitou a **Agregação de prefixo**, especifique o **limite de prefixo** mínimo para o painel e a **profundidade do prefixo**. Escolha **Próximo** para salvar e prosseguir.
**nota**  
A configuração **Profundidade do prefixo** determina em quantos níveis hierárquicos a Lente de Armazenamento do S3 analisará seus prefixos de objeto, com um limite máximo de dez níveis. O **limite de prefixo** especifica a porcentagem mínima do armazenamento total que um prefixo deve representar para ser incluído nas métricas da Lente de Armazenamento.

1. Se você habilitou a **Agregação de grupos do Storage Lens**, escolha uma das seguintes opções:
   + **Incluir grupos do Storage Lens**
   + **Excluir grupos do Storage Lens**

1. Ao incluir grupos da Lente de Armazenamento em sua agregação, é possível **incluir todos os grupos da Lente de Armazenamento em sua região de origem** ou especificar grupos da Lente de Armazenamento a serem incluídos.

1. Escolha **Próximo** para salvar as alterações e prosseguir.

**Etapa 5: (opcional) escolher suas configurações de exportação e publicação de métricas**

1. Em **Publicação de métricas**, escolha **Publicação do CloudWatch** se quiser acessar as métricas da Lente de Armazenamento no painel do CloudWatch.
**nota**  
As métricas em nível de prefixo não estão disponíveis no CloudWatch.

1. Em **Exportação de métricas**, escolha quais dados do painel da Lente de Armazenamento você deseja exportar diariamente:
   + **Relatório de métricas padrão**
   + **Relatório ampliado de métricas de prefixos**

1. (Opcional) Se você escolheu **Relatório de métricas padrão**, nas configurações de **Relatório de métricas padrão**, escolha o tipo de bucket. É possível exportar o relatório para um bucket de uso geral do S3 ou um bucket de tabela do S3 gerenciado pela AWS. Com base no tipo de bucket selecionado, atualize as **Configurações de destino no bucket de uso geral** ou as opções de **Configurações de destino no bucket de tabelas**.
**nota**  
O **relatório de métricas padrão** inclui apenas prefixos dentro do limite e profundidade definidos nas configurações de agregação de prefixo.  
Se você optou por especificar uma chave de criptografia, deverá escolher uma chave do AWS KMS (SSE-KMS) ou uma chave gerenciada pelo Amazon S3 (SSE-S3). Se sua política de bucket de destino exigir criptografia, será necessário fornecer uma chave de criptografia para a exportação de métricas. Sem a chave de criptografia, a exportação para o S3 apresenta falha. Para obter mais informações, consulte [Usar uma AWS KMS key para criptografar suas exportações de métricas](storage_lens_encrypt_permissions.md).

1. (Opcional) Se você escolheu **Relatório ampliado de métricas de prefixos** nas configurações de **Relatório ampliado de métricas de prefixos**, escolha o tipo de bucket. É possível exportar o relatório para um bucket de uso geral do S3 ou um bucket de tabela somente leitura do S3. Com base no tipo de bucket selecionado, atualize as **Configurações de destino no bucket de uso geral** ou as **Configurações de destino no bucket de tabelas**.
**nota**  
O **relatório ampliado de métricas de prefixos** abrange prefixos de até cinquenta níveis de profundidade em todos os buckets selecionados que são especificados no escopo do painel.  
Se você optou por especificar uma chave de criptografia, deverá escolher uma chave do AWS KMS (SSE-KMS) ou uma chave gerenciada pelo Amazon S3 (SSE-S3). Se sua política de bucket de destino exigir criptografia, será necessário fornecer uma chave de criptografia para a exportação de métricas. Sem a chave de criptografia, a exportação para o S3 apresenta falha. Para obter mais informações, consulte [Usar uma AWS KMS key para criptografar suas exportações de métricas](storage_lens_encrypt_permissions.md).

1. Escolha **Próximo** para salvar as alterações e prosseguir.

1. Analise tudo na página **Analisar e criar**. Se não houver alterações adicionais, escolha **Próximo** para salvar as alterações e criar o painel.

**Etapa 6: analisar a configuração do painel e criá-lo**

1. Na seção **Geral**, analise suas configurações. Escolha **Editar** para fazer quaisquer alterações.

1. Na seção **Escopo do painel**, analise suas configurações. Escolha **Editar** para fazer quaisquer alterações.

1. Na seção **Nível da Lente de Armazenamento**, analise suas configurações. Escolha **Editar** para fazer quaisquer alterações.

1. Na seção **Agregação de métricas**, analise suas configurações. Escolha **Editar** para fazer quaisquer alterações.

1. Na seção **Exportação de métricas**, analise suas configurações. Escolha **Editar** para fazer quaisquer alterações.

1. Depois de analisar e confirmar todas as configurações do painel, escolha **Enviar** para criar o painel.

Depois que o novo painel da Lente de Armazenamento for criado com êxito, será possível visualizá-lo na página **Painel** da Lente de Armazenamento.

## Como usar o AWS CLI
<a name="S3PutStorageLensConfigurationTagsCLI"></a>

**Example**  
O comando de exemplo a seguir cria uma configuração da Lente de Armazenamento do Amazon S3 com tags. Para usar esses exemplos, substitua os `user input placeholders` por suas próprias informações.  

```
aws s3control put-storage-lens-configuration --account-id=111122223333 --config-id=example-dashboard-configuration-id --region=us-east-1 --storage-lens-configuration=file://./config.json --tags=file://./tags.json
```

**Example**  
O comando de exemplo a seguir cria uma configuração da Lente de Armazenamento do Amazon S3 sem tags. Para usar esses exemplos, substitua os `user input placeholders` por suas próprias informações.  

```
aws s3control put-storage-lens-configuration --account-id=222222222222 --config-id=your-configuration-id --region=us-east-1 --storage-lens-configuration=file://./config.json
```

## Usar o AWS SDK para Java
<a name="S3CreateandUpdateStorageLensConfigurationJava"></a>

**Example – Criar e atualizar uma configuração da Lente de Armazenamento do Amazon S3**  
O exemplo a seguir cria e atualiza uma configuração da Lente de Armazenamento do Amazon S3 no SDK para Java:  

```
package aws.example.s3control;

import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.exception.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.AccountLevel;
import software.amazon.awssdk.services.s3control.model.ActivityMetrics;
import software.amazon.awssdk.services.s3control.model.AdvancedCostOptimizationMetrics;
import software.amazon.awssdk.services.s3control.model.AdvancedDataProtectionMetrics;
import software.amazon.awssdk.services.s3control.model.AdvancedPerformanceMetrics;
import software.amazon.awssdk.services.s3control.model.BucketLevel;
import software.amazon.awssdk.services.s3control.model.CloudWatchMetrics;
import software.amazon.awssdk.services.s3control.model.DetailedStatusCodesMetrics;
import software.amazon.awssdk.services.s3control.model.Format;
import software.amazon.awssdk.services.s3control.model.Include;
import software.amazon.awssdk.services.s3control.model.OutputSchemaVersion;
import software.amazon.awssdk.services.s3control.model.PrefixLevel;
import software.amazon.awssdk.services.s3control.model.PrefixLevelStorageMetrics;
import software.amazon.awssdk.services.s3control.model.PutStorageLensConfigurationRequest;
import software.amazon.awssdk.services.s3control.model.S3BucketDestination;
import software.amazon.awssdk.services.s3control.model.SSES3;
import software.amazon.awssdk.services.s3control.model.SelectionCriteria;
import software.amazon.awssdk.services.s3control.model.StorageLensAwsOrg;
import software.amazon.awssdk.services.s3control.model.StorageLensConfiguration;
import software.amazon.awssdk.services.s3control.model.StorageLensDataExport;
import software.amazon.awssdk.services.s3control.model.StorageLensDataExportEncryption;
import software.amazon.awssdk.services.s3control.model.StorageLensExpandedPrefixesDataExport;
import software.amazon.awssdk.services.s3control.model.StorageLensTableDestination;
import software.amazon.awssdk.services.s3control.model.StorageLensTag;

import java.util.Arrays;
import java.util.List;

public class CreateAndUpdateDashboard {

    public static void main(String[] args) {
        String configurationId = "ConfigurationId";
        String sourceAccountId = "111122223333";
        String exportAccountId = "Destination Account ID";
        String exportBucketArn = "arn:aws:s3:::destBucketName"; // The destination bucket for your metrics export must be in the same Region as your S3 Storage Lens configuration.
        String awsOrgARN = "arn:aws:organizations::123456789012:organization/o-abcdefgh";
        Format exportFormat = Format.CSV;

        try {
            SelectionCriteria selectionCriteria = SelectionCriteria.builder()
                    .delimiter("/")
                    .maxDepth(5)
                    .minStorageBytesPercentage(10.0)
                    .build();

            PrefixLevelStorageMetrics prefixStorageMetrics = PrefixLevelStorageMetrics.builder()
                    .isEnabled(true)
                    .selectionCriteria(selectionCriteria)
                    .build();

            BucketLevel bucketLevel = BucketLevel.builder()
                    .activityMetrics(ActivityMetrics.builder().isEnabled(true).build())
                    .advancedCostOptimizationMetrics(AdvancedCostOptimizationMetrics.builder().isEnabled(true).build())
                    .advancedDataProtectionMetrics(AdvancedDataProtectionMetrics.builder().isEnabled(true).build())
                    .advancedPerformanceMetrics(AdvancedPerformanceMetrics.builder().isEnabled(true).build())
                    .detailedStatusCodesMetrics(DetailedStatusCodesMetrics.builder().isEnabled(true).build())
                    .prefixLevel(PrefixLevel.builder().storageMetrics(prefixStorageMetrics).build())
                    .build();

            AccountLevel accountLevel = AccountLevel.builder()
                    .activityMetrics(ActivityMetrics.builder().isEnabled(true).build())
                    .advancedCostOptimizationMetrics(AdvancedCostOptimizationMetrics.builder().isEnabled(true).build())
                    .advancedPerformanceMetrics(AdvancedPerformanceMetrics.builder().isEnabled(true).build())
                    .advancedDataProtectionMetrics(AdvancedDataProtectionMetrics.builder().isEnabled(true).build())
                    .detailedStatusCodesMetrics(DetailedStatusCodesMetrics.builder().isEnabled(true).build())
                    .bucketLevel(bucketLevel)
                    .build();

            Include include = Include.builder()
                    .buckets(Arrays.asList("arn:aws:s3:::bucketName"))
                    .regions(Arrays.asList("us-west-2"))
                    .build();

            StorageLensDataExportEncryption exportEncryption = StorageLensDataExportEncryption.builder()
                    .sses3(SSES3.builder().build())
                    .build();

            S3BucketDestination s3BucketDestination = S3BucketDestination.builder()
                    .accountId(exportAccountId)
                    .arn(exportBucketArn)
                    .encryption(exportEncryption)
                    .format(exportFormat)
                    .outputSchemaVersion(OutputSchemaVersion.V_1)
                    .prefix("Prefix")
                    .build();

            StorageLensTableDestination s3TablesDestination = StorageLensTableDestination.builder()
                    .encryption(exportEncryption)
                    .isEnabled(true)
                    .build();

            CloudWatchMetrics cloudWatchMetrics = CloudWatchMetrics.builder()
                    .isEnabled(true)
                    .build();

            StorageLensDataExport dataExport = StorageLensDataExport.builder()
                    .cloudWatchMetrics(cloudWatchMetrics)
                    .s3BucketDestination(s3BucketDestination)
                    .storageLensTableDestination(s3TablesDestination)
                    .build();

            StorageLensAwsOrg awsOrg = StorageLensAwsOrg.builder()
                    .arn(awsOrgARN)
                    .build();

            StorageLensExpandedPrefixesDataExport expandedPrefixesDataExport = StorageLensExpandedPrefixesDataExport.builder()
                    .s3BucketDestination(s3BucketDestination)
                    .storageLensTableDestination(s3TablesDestination)
                    .build();

            StorageLensConfiguration configuration = StorageLensConfiguration.builder()
                    .id(configurationId)
                    .accountLevel(accountLevel)
                    .include(include)
                    .dataExport(dataExport)
                    .awsOrg(awsOrg)
                    .expandedPrefixesDataExport(expandedPrefixesDataExport)
                    .prefixDelimiter("/")
                    .isEnabled(true)
                    .build();

            List<StorageLensTag> tags = Arrays.asList(
                    StorageLensTag.builder().key("key-1").value("value-1").build(),
                    StorageLensTag.builder().key("key-2").value("value-2").build()
            );

            S3ControlClient s3ControlClient = S3ControlClient.builder()
                    .region(Region.US_WEST_2)
                    .credentialsProvider(ProfileCredentialsProvider.create())
                    .build();

            s3ControlClient.putStorageLensConfiguration(PutStorageLensConfigurationRequest.builder()
                    .accountId(sourceAccountId)
                    .configId(configurationId)
                    .storageLensConfiguration(configuration)
                    .tags(tags)
                    .build()
            );

        } catch (AwsServiceException 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 acessar prefixos expandidos ou grupos da Lente de Armazenamento do S3, é necessário atualizar o painel para usar o nível avançado. Aplicam-se cobranças adicionais. Para ter mais informações sobre métricas do nível gratuito e do avançado, consulte [Seleção de métricas](storage_lens_basics_metrics_recommendations.md#storage_lens_basics_metrics_selection). Para obter mais informações sobre grupos de Lente de Armazenamento do S3, consulte [Trabalhar com grupos da Lente de Armazenamento do S3 para filtrar e agregar métricas](storage-lens-groups-overview.md). 