

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 列出 Amazon S3 一般用途儲存貯體
<a name="list-buckets"></a>

若要傳回您所擁有的一般用途儲存貯體清單，您可以使用 [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.htm)。您可以使用 Amazon S3 主控台 AWS Command Line Interface、 或 AWS SDKs。對於使用儲存貯體 (10 AWS CLI，000 個儲存貯體） AWS 帳戶 的預設服務配額的 、 AWS SDKs 和 Amazon S3 REST API `ListBuckets`的請求， 支援分頁和未分頁的請求。無論您帳戶中有多少儲存貯體，您都可以建立介於 1 到 10,000 個儲存貯體之間的頁面大小來列出所有儲存貯體。對於分頁請求，`ListBuckets`請求會傳回儲存貯體名稱和每個儲存貯 AWS 區域 體對應的 。下列 AWS Command Line Interface 和 AWS SDK 範例示範如何在`ListBuckets`請求中使用分頁。請注意，某些 AWS SDK 可協助分頁。

**許可**  
若要列出所有的一般用途儲存貯體，您必須具有 `s3:ListAllMyBuckets` 許可權。如果您遇到 `HTTP Access Denied (403 Forbidden)` 錯誤，請參閱[對 Amazon S3 中的存取遭拒 (403 Forbidden) 錯誤進行故障診斷](troubleshoot-403-errors.md)。

**重要**  
強烈建議您只使用分頁 `ListBuckets` 請求。只有將 AWS 帳戶 設定為預設一般用途儲存貯體配額 10,000 時，才支援未分頁 `ListBuckets` 請求。如果已核准的一般用途儲存貯體配額超過 10,000，則必須傳送分頁 `ListBuckets` 請求以列出帳戶的儲存貯體。的一般 AWS 帳戶 用途儲存貯體配額大於 10，000 的所有未分頁`ListBuckets`請求都會遭到拒絕。

## 使用 S3 主控台
<a name="access-bucket-example-console"></a>

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 在**一般用途儲存貯體**索引標籤上，您可以看到一般用途儲存貯體清單。

1. 若要依名稱尋找儲存貯體，請在**依名稱尋找儲存貯體**欄位中輸入儲存貯體名稱。

## 使用 AWS CLI
<a name="access-bucket-example-cli"></a>

若要使用 AWS CLI 產生一般用途儲存貯體的清單，您可以使用 `ls`或 `list-buckets`命令。下列範例示範如何建立分頁 `list-buckets` 請求和未分頁 `ls` 請求。若要使用這些範例，請取代{{使用者輸入預留位置}}。

**Example – 使用 `ls` 列出您帳戶中的所有儲存貯體 (未分頁)**  
下列範例命令會在單一非分頁呼叫中，列出您帳戶中的所有一般用途儲存貯體。此呼叫會傳回您帳戶中的所有儲存貯體清單 (最多 10,000 個結果)：  

```
$ aws s3 ls
```
如需詳細資訊和範例，請參閱[列出儲存貯體和物件](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-listing-buckets)。  


**Example – 使用 `ls` 列出您帳戶中的所有儲存貯體 (分頁)**  
下列範例命令會進行一或多個分頁呼叫，以列出您帳戶中的所有一般用途儲存貯體，每頁傳回 100 個儲存貯體：  

```
$ aws s3 ls --page-size {{100}}
```
如需詳細資訊和範例，請參閱[列出儲存貯體和物件](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-listing-buckets)。  


**Example – 列出您帳戶中的所有儲存貯體 (分頁)**  
下列範例提供分頁 `list-buckets` 命令，以列出您帳戶中的所有一般用途儲存貯體。`--max-items` 和 `--page-size` 選項會將列出的儲存貯體數目限制為每頁 100 個。  

```
$ aws s3api list-buckets /
    --max-items {{100}} / 
    --page-size {{100}}
```
如果輸出項目數 (`--max-items`) 少於基礎 API 呼叫傳回的項目總數，則輸出會包含一個 `starting-token` 引數指定的接續權杖，可傳遞給後續命令以擷取下一組項目。下列範例示範如何使用上一個範例傳回的 `starting-token` 值。您可以指定 `starting-code` 來擷取下 100 個儲存貯體。  

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


**Example – 列出 AWS 區域 （分頁） 中的所有儲存貯體**  
下列範例命令使用 `--bucket-region` 參數，列出位於 `us-east-2` 區域之帳戶中最多 100 個儲存貯體。不支援對與 `--bucket-region` 參數中指定值不同的地區端點提出請求。例如，若要僅限回應 `us-east-2` 中的儲存貯體，您必須向 `us-east-2` 中的端點提出請求。  

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


**Example – 列出以特定儲存貯體名稱字首開頭的所有儲存貯體 (分頁)**  
下列範例命令列出最多 100 個名稱開頭為 {{amzn-s3-demo-bucket}} 字首的儲存貯體。  

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

## 使用 AWS SDKs
<a name="access-bucket-example-sdk"></a>

下列範例說明如何使用 AWS SDKs 列出一般用途儲存貯體

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

**Example – ListBuckets 請求 (分頁)**  

```
import boto3

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

**Example – ListBuckets 回應 (分頁)**  

```
import boto3

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

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

如需如何使用適用於 Java 的 AWS SDK 列出儲存貯體的範例，請參閱《*Amazon S3 API 參考*》中的[列出儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_ListBuckets_section.html)體。

------
#### [ 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)
}
```

------