

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将文件上传到 Lightsail 对象存储桶
<a name="amazon-lightsail-uploading-files-to-a-bucket"></a>

当您将文件上传到 Amazon Lightsail 对象存储服务中的存储桶时，该文件将作为对象存储。对象由文件数据和描述对象的元数据组成。一个存储桶中可以包含任意数量的对象。

您可以将任何类型的文件上传至存储桶，包括映像、备份、数据、电影等。使用 Lightsail 控制台可以上传的最大文件大小为 2 GB。要上传更大的文件，请使用 Lightsail API、 AWS Command Line Interface (AWS CLI) 或。 AWS SDKs

Lightsail 根据您要上传的文件的大小提供以下选项：
+ 使用 **Lightsail 控制台上传大小不超过 2 GB 的对象 — 使用** Lightsail 控制台，你可以上传一个大小不超过 2 GB 的对象。有关更多信息，请参阅本指南后面的[使用 Lightsail 控制台将文件上传到存储桶](#uploading-files-to-a-bucket-lightsail-console)。
+ 使用** AWS SDKs、REST API 通过单个操作上传大小不超过 5 GB 的对象，或者 AWS CLI— 使用**单个 PUT 操作，您可以上传大小不超过 5 GB 的单个对象。有关更多信息，请参阅本指南下文中的[使用 AWS CLI将文件上传到存储桶](#uploading-files-to-a-bucket-aws-cli)。
+ **使用 AWS SDKs、REST API 分段上传对象，或者 AWS CLI** — 使用分段上传 API，您可以上传一个大小为 5 MB 到 50 TB 的大型对象。分段上传 API 旨在改进大型对象的上传体验。您可以分段上传对象。这些对象分段可以按任何顺序并行独立上传。有关更多信息，请参阅[使用分段上传操作将文件上传到存储桶](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)。

有关存储桶的更多信息，请参阅[对象存储](buckets-in-amazon-lightsail.md)。

## 对象键名称和版本控制
<a name="uploading-files-to-a-bucket-object-key-names"></a>

使用 Lightsail 控制台上传文件时，文件名将用作对象密钥名称。对象键（或键名称）唯一标识存储在存储桶中的对象。将文件上传到的文件夹（如果有）将用作键名称前缀。例如，如果您将名为 `sailbot.jpg` 的文件上传到存储桶中名为 `images` 的文件夹，则完整的对象键名称和前缀将是 `images/sailbot.jpg`。但是，对象会像 `sailbot.jpg` 在 `images` 文件夹中一样在控制台中显示。有关对象键名称的更多信息，请参阅[对象存储桶的键名称](understanding-bucket-object-key-names-in-amazon-lightsail.md)。

使用 Lightsail 控制台上传目录时，该目录中的所有文件和子文件夹都将上传到存储桶。然后，Lightsail 会分配一个对象密钥名称，该名称由每个上传的文件名和文件夹名称组合而成。例如，如果您上传一个名为`sample1.jpg`且`images`包含两个文件的文件夹`sample2.jpg`，Lightsail 会上传这些文件，然后分配相应的密钥名称和。`images/sample1.jpg` `images/sample2.jpg`控制台中的对象显示为 `images` 文件夹中的 `sample1.jpg` 和 `sample2.jpg`。

如果您上传的文件包含已存在的键名，并且您的存储桶*没有启用版本控制*，则新上传的对象将替换上一个对象。但是，如果您的存储桶*启用了版本控制*，Lightsail 会创建对象的新版本，而不是替换现有对象。有关更多信息，请参阅[启用和暂停存储桶中的对象版本控制](amazon-lightsail-managing-bucket-object-versioning.md)。

## 使用 Lightsail 控制台将文件上传到存储桶
<a name="uploading-files-to-a-bucket-lightsail-console"></a>

完成以下过程，使用 Lightsail 控制台上传文件和目录。

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**存储**。

1. 选择要将文件夹和文件上传到的存储桶的名称。

1. 在**对象**选项卡中，执行以下操作之一：
   + 将文件和文件夹拖放到**对象**页面。
   + 选择**上传**，然后选择**文件**以上传单个文件，或者选择**目录**以上传文件夹及其所有内容。
**注意**  
您还可以通过选择**创建新文件夹**来创建文件夹。然后，您可以浏览到新文件夹并将文件上传到该文件夹中。

   完成上传后，将显示**上传成功**消息。

## 使用将文件上传到存储桶 AWS CLI
<a name="uploading-files-to-a-bucket-aws-cli"></a>

完成以下过程，以使用 AWS Command Line Interface （AWS CLI）将文件和文件夹上传到存储桶。使用 `put-object` 命令完成此操作。有关更多信息，请参阅《AWS CLI Command Reference》**中的 [PutObject](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)。

**注意**  
在 AWS CLI 继续执行此过程之前，您必须为 Lightsail 和 Amazon S3 安装并对其进行配置。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

1. 打开命令提示符或终端窗口。

1. 输入以下命令以将文件上传到存储桶。

   ```
   aws s3api put-object --bucket BucketName --key ObjectKey --body LocalDirectory --acl bucket-owner-full-control
   ```

   在该命令中，将以下示例文本替换为自己的文本：
   + *BucketName*使用您要将文件上传到的存储桶的名称。
   + *ObjectKey*使用存储桶中对象的完整对象密钥。
   + *LocalDirectory*其中包含要上传的文件的计算机上的本地目录文件夹路径。

   示例：
   + 在 Linux 或 Unix 计算机上：

     ```
     aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body home/user/Pictures/sailbot.jpg --acl bucket-owner-full-control
     ```
   + 在 Windows 计算机上：

     ```
     aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body "C:\Users\user\Pictures\sailbot.jpg" --acl bucket-owner-full-control
     ```

   您会看到类似于以下示例的结果：  
![\[AWS CLI put-object 命令的结果\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-s3api-put-object-result.png)

## 为 IPv6仅限请求配置 AWS CLI
<a name="uploading-files-over-ipv6-only"></a>

Amazon S3 支持通过访问存储桶 IPv6。您可以使用双堆栈终端节点通过 IPv6 Amazon S3 API 调用发出请求。本节提供了如何向双堆栈终端节点发出请求的示例。 IPv6有关更多信息，请参阅 *Amazon S3 用户指南*中的[使用 Amazon S3 双堆栈端点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)。有关设置的说明 AWS CLI，请参阅[配置 AWS Command Line Interface 以与 Amazon Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。

**重要**  
访问存储桶的客户端和网络必须支持使用 IPv6。有关更多信息，请参阅可接通[IPv6性。](amazon-lightsail-ipv6-reachability.md)

有两种方法可以从 IPv6仅限实例发出 S3 请求。您可以将配置为 AWS CLI 将所有 Amazon S3 请求定向到指定的 AWS 区域双堆栈终端节点。或者，如果您只想对指定 AWS CLI 命令（不是所有命令）使用双堆栈终端节点，则可以在每个命令中添加 S3 双堆栈终端节点。

配置 AWS CLI  
`true`在您的 AWS Config 文件中的配置文件中将配置值`use_dualstack_endpoint`设置为，以将亚马逊 S3 和 s3api AWS CLI 命令发出的所有 Amazon S3 请求定向到指定区域的双栈终端节点。您可以在 AWS CLI 配置文件中指定区域，也可以使用--region 选项在命令中指定区域。  
输入以下命令以配置 AWS CLI。  

```
aws configure set default.s3.use_dualstack_endpoint true
```

```
aws configure set default.s3.addressing_style virtual
```

将双堆栈端点添加到特定命令中  
您可以通过将任何 s3 或 s3api 命令的 `--endpoint-url` 参数设置为 `https://s3.dualstack.aws-region.amazonaws.com` 或 `http://s3.dualstack.aws-region.amazonaws.com` 来对每条命令使用双堆栈端点。在以下示例中，将*bucketname*和*aws-region*替换为存储桶的名称和您的 AWS 区域。  

```
aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com
```

## 在 Lightsail 中管理存储桶和对象
<a name="uploading-files-managing-buckets-and-objects"></a>

以下是管理 Lightsail 对象存储桶的一般步骤：

1. 了解 Amazon Lightsail 对象存储服务中的对象和存储桶。有关更多信息，请参阅 [Amazon Lightsail 中的对象存储](buckets-in-amazon-lightsail.md)。

1. 了解您可以在 Amazon Lightsail 中为存储桶命名的名称。有关更多信息，请参阅 [Amazon Lightsail 中的存储桶命名规则](bucket-naming-rules-in-amazon-lightsail.md)。

1. 通过创建存储分区开始使用 Lightsail 对象存储服务。有关更多信息，请参阅[在 Amazon Lightsail 中创建存储桶](amazon-lightsail-creating-buckets.md)。

1. 了解存储桶的安全最佳实践以及您可以为存储桶配置的访问权限。您可以将存储桶中的所有对象设为公开或私有，也可以选择将单个对象设为公开。通过创建访问密钥、将实例附加到存储桶，以及向其他亚马逊云科技账户授予访问权限，还可以授予对存储桶的访问权限。有关更多信息，请参阅 Amazon Lights [ail 对象存储的安全最佳实践和了解 Amazon Lights](amazon-lightsail-bucket-security-best-practices.md) [ail 中的存储桶权限](amazon-lightsail-understanding-bucket-permissions.md)。

   了解存储桶访问权限后，请参阅以下指南，授予对存储桶的访问权限：
   + [在 Amazon Lightsail 中封锁存储桶的公开访问权限](amazon-lightsail-block-public-access-for-buckets.md)
   + [在 Amazon Lightsail 中配置存储桶访问权限](amazon-lightsail-configuring-bucket-permissions.md)
   + [在 Amazon Lightsail 中为存储段中的单个对象配置访问权限](amazon-lightsail-configuring-individual-object-access.md)
   + [在 Amazon Lightsail 中为存储桶创建访问密钥](amazon-lightsail-creating-bucket-access-keys.md)
   + [在 Amazon Lightsail 中为存储桶配置资源访问权限](amazon-lightsail-configuring-bucket-resource-access.md)
   + [在 Amazon Lightsail 中为存储桶配置跨账户访问权限](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. 了解如何为存储桶启用访问日志记录，以及如何使用访问日志来审计存储桶的安全性。有关更多信息，请参阅以下指南。
   + [访问 Amazon Lightsail 对象存储服务中存储桶的日志记录](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail 对象存储服务中存储桶的访问日志格式](amazon-lightsail-bucket-access-log-format.md)
   + [在 Amazon Lightsail 对象存储服务中为存储段启用访问日志记录](amazon-lightsail-enabling-bucket-access-logs.md)
   + [使用 Amazon Lightsail 中存储段的访问日志来识别请求](amazon-lightsail-using-bucket-access-logs.md)

1. 创建一个 IAM 策略，让用户能够在 Lightsail 中管理存储桶。有关更多信息，请参阅在 A [mazon Lightsail 中管理存储桶的 IAM 政策](amazon-lightsail-bucket-management-policies.md)。

1. 了解存储桶中对象的标记和识别方式。有关更多信息，请参阅[了解 Amazon Lightsail 中的对象密钥名称](understanding-bucket-object-key-names-in-amazon-lightsail.md)。

1. 了解如何上传文件和管理存储桶中的对象。有关更多信息，请参阅以下指南。
   + [将文件上传到 Amazon Lightsail 中的存储桶](#amazon-lightsail-uploading-files-to-a-bucket)
   + [使用分段上传将文件上传到 Amazon Lightsail 中的存储桶](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [在 Amazon Lightsail 中查看存储桶中的对象](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [在 Amazon Lightsail 中复制或移动存储桶中的对象](amazon-lightsail-copying-moving-bucket-objects.md)
   + [从 Amazon Lightsail 中的存储桶下载对象](amazon-lightsail-downloading-bucket-objects.md)
   + [在 Amazon Lightsail 中筛选存储桶中的对象](amazon-lightsail-filtering-bucket-objects.md)
   + [在 Amazon Lightsail 中标记存储桶中的对象](amazon-lightsail-tagging-bucket-objects.md)
   + [在 Amazon Lightsail 中删除存储桶中的对象](amazon-lightsail-deleting-bucket-objects.md)

1. 启用对象版本控制，可保留、检索和还原存储桶中存储的每个对象的各个版本。有关更多信息，请参阅 Amazon Lightsai [l 中的存储桶中启用和暂停对象版本控制](amazon-lightsail-managing-bucket-object-versioning.md)。

1. 启用对象版本控制后，您可以还原存储桶中对象的先前版本。有关更多信息，请参阅在 [Amazon Lightsail 中恢复存储桶中对象的先前版本](amazon-lightsail-restoring-bucket-object-versions.md)。

1. 监控存储桶的利用率。有关更多信息，请参阅[在 Amazon Lightsail 中查看存储桶的指标](amazon-lightsail-viewing-bucket-metrics.md)。

1. 配置存储桶指标的警报，以便在存储桶的利用率超过阈值时收到通知。有关更多信息，请参阅[在 Amazon Lightsail 中创建存储桶指标警报](amazon-lightsail-adding-bucket-metric-alarms.md)。

1. 如果存储桶的存储和网络传输不足，请更改存储桶的存储套餐。有关更多信息，请参阅[在 Amazon Lightsail 中更改存储桶的计划](amazon-lightsail-changing-bucket-plans.md)。

1. 了解如何将您的存储桶连接到其他资源。有关更多信息，请参阅以下教程。
   + [教程：将 WordPress 实例连接到 Amazon Lightsail 存储桶](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [教程：使用带有 Lightsail 内容分发网络分发的 Amazon Lightsail 存储桶](amazon-lightsail-using-distributions-with-buckets.md)

1. 如果您不再使用存储桶，则将其删除。有关更多信息，请参阅[在 Amazon Lightsail 中删除存储桶](amazon-lightsail-deleting-buckets.md)。