

# 通过 AWS CLI 和适用于 Java 的 SDK 开始使用
<a name="S3OutpostsGSCLIJava"></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)

要开始使用 S3 on Outposts，您必须创建存储桶、访问点和端点。然后，您可以将对象上传到存储桶。以下示例显示如何通过 AWS CLI 和适用于 Java 的 SDK 开始使用 S3 on Outposts。要通过控制台开始使用，请参阅[通过 AWS 管理控制台开始使用](S3OutpostsGSConsole.md)。

**Topics**
+ [步骤 1：创建存储桶](#S3OutpostsGSCreateBucket)
+ [步骤 2：创建访问点](#S3OutpostsGSCreateAccessPoint)
+ [步骤 3：创建端点](#S3OutpostsGSCreateEndpoint)
+ [步骤 4：将对象上传到 S3 on Outposts 存储桶](#S3OutpostsGSUploadObject)

## 步骤 1：创建存储桶
<a name="S3OutpostsGSCreateBucket"></a>

以下 AWS CLI 和适用于 Java 的 SDK 示例显示如何创建 S3 on Outposts 存储桶。

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

**Example**  
以下示例使用 AWS CLI 创建 S3 on Outposts 存储桶 (`s3-outposts:CreateBucket`)。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。  

```
aws s3control create-bucket --bucket {{example-outposts-bucket}} --outpost-id {{op-01ac5d28a6a232904}}
```

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

**Example**  
有关如何使用适用于 Java 的 AWS SDK 创建 S3 Outposts 存储桶的示例，请参阅《AWS SDK for Java 2.x Code Examples》**中的 [CreateOutpostsBucket.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsBucket.java)。

------

## 步骤 2：创建访问点
<a name="S3OutpostsGSCreateAccessPoint"></a>

要访问 Amazon S3 on Outposts 存储桶，您必须创建和配置访问点。这些示例显示如何使用 AWS CLI 和适用于 Java 的 SDK 创建访问点。

访问点可简化对 Amazon S3 中的共享数据集的大规模数据访问管理。访问点是附加到存储桶的命名网络端点，您可以使用这些存储桶执行 Amazon S3 对象操作（如 `GetObject` 和 `PutObject`）。对于 S3 on Outposts，您必须使用访问点访问 Outposts 存储桶中的任何对象。访问点仅支持虚拟主机式寻址。

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

**Example**  
以下 AWS CLI 示例为 Outposts 存储桶创建访问点。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。  

```
aws s3control create-access-point --account-id {{123456789012}} --name {{example-outposts-access-point}} --bucket "arn:aws:s3-outposts:{{{{region}}}}:{{123456789012}}:outpost/{{op-01ac5d28a6a232904}}/bucket/{{example-outposts-bucket}}" --vpc-configuration VpcId={{example-vpc-12345}}
```

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

**Example**  
有关如何使用适用于 Java 的 AWS SDK 为 S3 Outposts 存储桶创建接入点的示例，请参阅《AWS SDK for Java 2.x Code Examples》**中的 [CreateOutpostsAccessPoint.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsAccessPoint.java)。

------

## 步骤 3：创建端点
<a name="S3OutpostsGSCreateEndpoint"></a>

要将请求路由到 Amazon S3 on Outposts 访问点，您必须创建 S3 on Outposts 端点并进行配置。为了创建端点，您需要使用服务链接建立到 Outposts 主区域的活跃连接。Outposts 上的每个 Virtual Private Cloud (VPC) 都可以有一个关联的端点。有关端点配额的更多信息，请参阅[S3 on Outposts 网络要求](S3OnOutpostsRestrictionsLimitations.md#S3OnOutpostsConnectivityRestrictions)。您必须创建一个端点，才能访问 Outposts 桶并执行对象操作。有关更多信息，请参阅 [端点](S3OutpostsWorkingBuckets.md#S3OutpostsEP)。

这些示例显示如何使用 AWS CLI 和适用于 Java 的 SDK 创建端点。有关创建和管理端点所需的权限的更多信息，请参阅 [S3 on Outposts 端点的权限](S3OutpostsIAM.md#S3OutpostsEndpointPermissions)。

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

**Example**  
以下 AWS CLI 示例使用 VPC 资源访问类型，为 Outpost 创建端点。VPC 派生自子网。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。  

```
aws s3outposts create-endpoint --outpost-id {{op-01ac5d28a6a232904}} --subnet-id subnet-{{8c7a57c5}} --security-group-id {{sg-ab19e0d1}}
```
以下 AWS CLI 示例使用客户拥有的 IP 地址池（CoIP 池）访问类型为 Outpost 创建端点。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。  

```
aws s3outposts create-endpoint --outpost-id {{op-01ac5d28a6a232904}} --subnet-id subnet-{{8c7a57c5}} --security-group-id {{sg-ab19e0d1}} --access-type CustomerOwnedIp --customer-owned-ipv4-pool {{ipv4pool-coip-12345678901234567}}
```

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

**Example**  
有关如何使用适用于 Java 的 AWS SDK 为 S3 Outpost 创建端点的示例，请参阅《AWS SDK for Java 2.x Code Examples》**中的 [CreateOutpostsEndPoint.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsEndPoint.java)。

------

## 步骤 4：将对象上传到 S3 on Outposts 存储桶
<a name="S3OutpostsGSUploadObject"></a>

要上传对象，请参阅[将对象上传到 S3 on Outposts 存储桶](S3OutpostsUploadObjects.md)。