

文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。

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

# `GetBucketLocation` 搭配 AWS SDK 或 CLI 使用
<a name="s3_example_s3_GetBucketLocation_section"></a>

下列程式碼範例示範如何使用 `GetBucketLocation`。

------
#### [ CLI ]

**AWS CLI**  
如果存在限制，以下命令會擷取名為 `amzn-s3-demo-bucket` 之儲存貯體的位置限制條件：  

```
aws s3api get-bucket-location --bucket amzn-s3-demo-bucket
```
輸出：  

```
{
    "LocationConstraint": "us-west-2"
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetBucketLocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-location.html)。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**範例 1：如果存在限制，此命令會傳回儲存貯體 'amzn-s3-demo-bucket' 的位置限制。**  

```
Get-S3BucketLocation -BucketName 'amzn-s3-demo-bucket'
```
**輸出：**  

```
Value
-----
ap-south-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V4)》**中的 [GetBucketLocation](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for PowerShell V5**  
**範例 1：如果存在限制，此命令會傳回儲存貯體 'amzn-s3-demo-bucket' 的位置限制。**  

```
Get-S3BucketLocation -BucketName 'amzn-s3-demo-bucket'
```
**輸出：**  

```
Value
-----
ap-south-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [GetBucketLocation](https://docs.aws.amazon.com/powershell/v5/reference)。

------
#### [ Rust ]

**適用於 Rust 的 SDK**  
 GitHub 上提供更多範例。尋找完整範例，並了解如何在 [AWS 程式碼範例儲存庫](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/s3#code-examples)中設定和執行。

```
async fn show_buckets(
    strict: bool,
    client: &Client,
    region: BucketLocationConstraint,
) -> Result<(), S3ExampleError> {
    let mut buckets = client.list_buckets().into_paginator().send();

    let mut num_buckets = 0;
    let mut in_region = 0;

    while let Some(Ok(output)) = buckets.next().await {
        for bucket in output.buckets() {
            num_buckets += 1;
            if strict {
                let r = client
                    .get_bucket_location()
                    .bucket(bucket.name().unwrap_or_default())
                    .send()
                    .await?;

                if r.location_constraint() == Some(&region) {
                    println!("{}", bucket.name().unwrap_or_default());
                    in_region += 1;
                }
            } else {
                println!("{}", bucket.name().unwrap_or_default());
            }
        }
    }

    println!();
    if strict {
        println!(
            "Found {} buckets in the {} region out of a total of {} buckets.",
            in_region, region, num_buckets
        );
    } else {
        println!("Found {} buckets in all regions.", num_buckets);
    }

    Ok(())
}
```
+  如需 API 詳細資訊，請參閱*《適用於 Rust 的AWS SDK API 參考》*中的 [GetBucketLocation](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/client/struct.Client.html#method.get_bucket_location)。

------