

# 使用 AWS CLI 和适用于 Java 的 SDK 获取 S3 on Outposts 存储桶
<a name="S3OutpostsGetBucket"></a>

通过使用 Amazon S3 on Outposts，您可以在 AWS Outposts 上创建 S3 桶，并在本地为需要本地数据访问、本地数据处理和数据驻留的应用程序轻松存储和检索对象。S3 on Outposts 提供了一个新的存储类 S3 Outposts (`OUTPOSTS`)；该存储类使用 Amazon S3 API，并且用于在 AWS Outposts 上的多个设备和服务器之间持久冗余地存储数据。您通过 Virtual Private Cloud（VPC）使用接入点和端点连接与 Outposts 桶进行通信。您可以像在 Amazon S3 桶中一样在 Outpost 桶上使用相同的 API 和功能，包括访问策略、加密和标记。您可以通过 AWS 管理控制台、AWS Command Line Interface (AWS CLI)、AWS SDK 或 REST API 使用 S3 on Outposts。有关更多信息，请参阅[什么是 Amazon S3 on Outposts？](S3onOutposts.md)

以下示例显示了如何使用 AWS CLI 和 适用于 Java 的 AWS SDK 获取 S3 on Outposts 存储桶。

**注意**  
当您通过 AWS CLI 或 AWS SDK 使用 Amazon S3 on Outposts 时，您可以提供 Outpost 的访问点 ARN 来代替存储桶名称。访问点 ARN 采用以下形式，其中 `region` 是 Outpost 归属的区域的 AWS 区域代码：  
`arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point`   
有关 S3 on Outposts ARN 的更多信息，请参阅[S3 on Outposts 的资源 ARN](S3OutpostsIAM.md#S3OutpostsARN)。

## 使用 AWS CLI
<a name="S3OutpostsGetBucketCLI"></a>

以下 S3 on Outposts 示例使用 AWS CLI 获取存储桶。要使用此命令，请将每个 `user input placeholder` 替换为您自己的信息。有关此命令的更多信息，请参阅《AWS CLI 参考》中的 *get-bucket*。

```
aws s3control get-bucket --account-id 123456789012 --bucket "arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket"
```

## 使用适用于 Java 的 AWS SDK
<a name="S3OutpostsGetBucketJava"></a>

以下 S3 on Outposts 示例使用适用于 Java 的 SDK 获取存储桶。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》中的 [GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html)。

```
import com.amazonaws.services.s3control.model.*;

public void getBucket(String bucketArn) {

    GetBucketRequest reqGetBucket = new GetBucketRequest()
            .withBucket(bucketArn)
            .withAccountId(AccountId);

    GetBucketResult respGetBucket = s3ControlClient.getBucket(reqGetBucket);
    System.out.printf("GetBucket Response: %s%n", respGetBucket.toString());

}
```