

# Listar buckets de uso geral do Amazon S3
<a name="list-buckets"></a>

Para retornar uma lista de buckets de uso geral que você possui, é possível usar [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.htm). Você pode listar buckets usando o console do Amazon S3, a AWS Command Line Interface ou os AWS SDKs. Para solicitações `ListBuckets` que usam a AWS CLI, os AWS SDKs e a API REST do Amazon S3, as Contas da AWS que usam a cota de serviço padrão para buckets (dez mil buckets) permitem solicitações paginadas e não paginadas. Independentemente de quantos buckets existam na conta, você pode criar tamanhos de página entre um e dez mil buckets para listar todos os seus buckets. Para solicitações paginadas, as solicitações `ListBuckets` retornam os nomes dos buckets e as Regiões da AWS correspondentes de cada bucket. Os exemplos da AWS Command Line Interface e do AWS SDK a seguir mostram como usar a paginação em sua solicitação `ListBuckets`. Observe que alguns AWS SDKs ajudam na paginação. 

**Permissões**  
Para listar todos os buckets de uso geral, você precisa ter a permissão `s3:ListAllMyBuckets`. Caso encontre um erro `HTTP Access Denied (403 Forbidden)`, consulte [Solucionar erros de acesso negado (403 Forbidden) no Amazon S3](troubleshoot-403-errors.md).

**Importante**  
É altamente recomendável usar somente de solicitações `ListBuckets` paginadas. Solicitações `ListBuckets` não paginadas só são aceitas para Contas da AWS definidas com a cota de bucket de uso geral padrão de dez mil. Se você tiver uma cota de bucket de uso geral aprovada acima de dez mil, deverá enviar solicitações `ListBuckets` paginadas para listar os buckets da conta. Todas as solicitações `ListBuckets` não paginadas serão rejeitadas para Contas da AWS com uma cota de bucket de uso geral maior que dez mil. 

## Usar o console do S3
<a name="access-bucket-example-console"></a>

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. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Na guia **Buckets de uso geral**, você pode ver uma lista dos buckets de uso geral.

1. Para encontrar buckets por nome, insira um nome de bucket no campo **Localizar buckets por nome**.

## Como usar o AWS CLI
<a name="access-bucket-example-cli"></a>

Para usar a AWS CLI a fim de gerar uma lista de buckets de uso geral, você pode usar os comandos `ls` ou `list-buckets`. Os exemplos a seguir mostram como criar uma solicitação `list-buckets` paginada e uma solicitação `ls` não paginada. Para usar esses exemplos, substitua os *espaços reservados de entrada do usuário*.

**Example – Listar todos os buckets em sua conta usando `ls` (não paginado)**  
O comando de exemplo a seguir mostra todos os buckets de uso geral em sua conta em uma única chamada não paginada. Essa chamada retorna uma lista de todos os buckets em sua conta (até dez mil resultados):  

```
$ aws s3 ls
```
Para obter mais informações e exemplos, consulte [Listar buckets e objetos](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-listing-buckets).  


**Example – Listar todos os buckets em sua conta usando `ls` (paginado)**  
O comando de exemplo a seguir faz uma ou mais chamadas paginadas para listar todos os buckets de uso geral em sua conta, retornando cem buckets por página:  

```
$ aws s3 ls --page-size 100
```
Para obter mais informações e exemplos, consulte [Listar buckets e objetos](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-listing-buckets).  


**Example – Listar todos os buckets em sua conta (paginado)**  
O exemplo a seguir fornece um comando `list-buckets` paginado para listar todos os buckets de uso geral em sua conta. As opções `--max-items` e `--page-size` limitam o número de buckets listados a cem por página.   

```
$ aws s3api list-buckets /
    --max-items 100 / 
    --page-size 100
```
Se o número de saída de itens (`--max-items`) for menor do que o número total de itens retornados pelas chamadas de API subjacentes, a saída incluirá um token de continuação, especificado pelo argumento `starting-token` que pode ser passado para um comando subsequente a fim de recuperar o próximo conjunto de itens. O exemplo a seguir mostra como usar o valor `starting-token` retornado pelo exemplo anterior. Você pode especificar o `starting-code` para recuperar os próximos cem buckets.   

```
$ aws s3api list-buckets / 
    --max-items 100 / 
    --page-size 100 /
    --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==
```


**Example – Listar todos os buckets em uma Região da AWS (paginado)**  
O exemplo de comando a seguir usa o parâmetro `--bucket-region` para listar até cem buckets em uma conta que está na região `us-east-2`. Solicitações feitas para um endpoint regional diferente do valor especificado no parâmetro `--bucket-region` não são permitidas. Por exemplo, se quiser limitar a resposta aos buckets em `us-east-2`, você deverá fazer a solicitação a um endpoint em `us-east-2`.  

```
$ aws s3api list-buckets /
    --region us-east-2 /
    --max-items 100 / 
    --page-size 100 /
    --bucket-region us-east-2
```


**Example – Listar todos os buckets que começam com um prefixo de nome de bucket específico (paginado)**  
O exemplo de comando a seguir lista até cem buckets que têm um nome que começa com o prefixo *amzn-s3-demo-bucket*.   

```
$ aws s3api list-buckets /
    --max-items 100 /
    --page-size 100 /
    --prefix amzn-s3-demo-bucket
```

## Usar SDKs da AWS
<a name="access-bucket-example-sdk"></a>

Os exemplos a seguir mostram como listar buckets de uso geral usando os AWS SDKs

------
#### [ SDK for Python ]

**Example – Solicitação ListBuckets (paginado)**  

```
import boto3

s3 = boto3.client('s3')
response = s3.list_buckets(MaxBuckets=100)
```

**Example – Resposta a ListBuckets (paginado)**  

```
import boto3

s3 = boto3.client('s3')
response = s3.list_buckets(MaxBuckets=1,ContinuationToken="eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==EXAMPLE--")
```

------
#### [ SDK for Java ]

Para ver exemplos de como listar buckets com o AWS SDK para Java, consulte [List buckets](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_ListBuckets_section.html) na *Referência de API do Amazon S3*.

------
#### [ SDK for Go ]

```
package main
import (
 "context"
 "fmt"
 "log"
 "github.com/aws/aws-sdk-go-v2/aws"
 "github.com/aws/aws-sdk-go-v2/config"
 "github.com/aws/aws-sdk-go-v2/service/s3"
)
func main() {
 cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-2"))
 if err != nil {
  log.Fatal(err)
 }
 client := s3.NewFromConfig(cfg)
 maxBuckets := 1000
 resp, err := client.ListBuckets(context.TODO(), management portals3.ListBucketsInput{MaxBuckets: aws.Int32(int32(maxBuckets))})
 if err != nil {
  log.Fatal(err)
 }
 fmt.Println("S3 Buckets:")
 for _, bucket := range resp.Buckets {
     fmt.Println("- Name:", *bucket.Name)
     fmt.Println("-BucketRegion", *bucket.BucketRegion)
 }
 fmt.Println(resp.ContinuationToken == nil)
 fmt.Println(resp.Prefix == nil)
}
```

------