

# 列出分段上传
<a name="list-mpu"></a>

可以使用 Amazon CLI、REST API 或 Amazon SDK 检索 Amazon S3 中正在进行的分段上传的列表。您可以使用分段上传以编程方式将单个对象上传到 Amazon S3。分段上传通过一次移动对象数据的一部分，将对象移动到 Amazon S3 中。有关分段上传的更多一般信息，请参阅[在 Amazon S3 中使用分段上传来上传和复制对象](mpuoverview.md)。

有关使用分段上传以及额外的校验和来上传对象的端到端过程，请参阅[教程：通过分段上传来上传对象并验证其数据完整性](tutorial-s3-mpu-additional-checksums.md)。

下一节介绍如何使用 Amazon Command Line Interface、Amazon S3 REST API 和 Amazon SDK 列出正在进行的分段上传。

## 使用 Amazon CLI 列出分段上传
<a name="list-mpu-cli"></a>

Amazon Command Line Interface 中的以下各部分介绍了适用于列出分段上传的操作。
+ [list-parts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-parts.html)‐ 列出特定分段上传的已上传部分。
+ [list-multipart-uploads](https://docs.amazonaws.cn/cli/latest/reference/s3api/list-multipart-uploads.html)‐ 列出正在进行的分段上传。

## 使用 Amazon SDK（低级别 API）列出分段上传
<a name="list-aws-sdk"></a>

------
#### [ Java ]

要使用适用于 Java 的 Amazon SDK 列出存储桶上所有正在进行的分段上传，可以使用低级别 API 类来执行以下操作：


**低级别 API 分段上传列表过程**  

|  |  | 
| --- |--- |
| 1 | 创建 `ListMultipartUploadsRequest` 类的实例并提供存储桶名称。 | 
| 2 | 运行 S3Client `listMultipartUploads` 方法。该方法将返回 `ListMultipartUploadsResponse` 类的实例，以向您提供有关正在进行的分段上传的信息。 | 

有关如何使用适用于 Java 的 Amazon SDK 列出分段上传的示例，请参阅《Amazon S3 API Reference》**中的 [List multipart uploads](https://docs.amazonaws.cn/AmazonS3/latest/API/s3_example_s3_ListMultipartUploads_section.html)。

------
#### [ .NET ]

要列出特定存储桶上所有正在进行的分段上传，请使用 适用于 .NET 的 Amazon SDK 低级别分段上传 API 的 `ListMultipartUploadsRequest` 类。`AmazonS3Client.ListMultipartUploads` 方法将返回 `ListMultipartUploadsResponse` 类（提供有关正在进行的分段上传的信息）的实例。

正在进行的分段上传是使用启动分段上传请求启动但尚未完成或停止的分段上传。有关 Amazon S3 分段上传的更多信息，请参阅 [在 Amazon S3 中使用分段上传来上传和复制对象](mpuoverview.md)。

以下 C\$1 示例演示如何使用 适用于 .NET 的 Amazon SDK 列出存储桶上所有正在进行的分段上传。有关设置和运行代码示例的信息，请参阅《适用于 .NET 的 Amazon SDK 开发人员指南》**中的[适用于 .NET 的 Amazon SDK 入门](https://docs.amazonaws.cn/sdk-for-net/latest/developer-guide/net-dg-setup.html)。

```
ListMultipartUploadsRequest request = new ListMultipartUploadsRequest
{
	 BucketName = bucketName // Bucket receiving the uploads.
};

ListMultipartUploadsResponse response = await AmazonS3Client.ListMultipartUploadsAsync(request);
```

------
#### [ PHP ]

本主题说明如何使用版本 3 的 适用于 PHP 的 Amazon SDK 中的低级别 API 类列出存储桶上所有正在进行的分段上传。有关适用于 Ruby 的 Amazon 开发工具包 API 的更多信息，请转到[适用于 Ruby 的 Amazon 开发工具包 – 版本 2](https://docs.amazonaws.cn/sdkforruby/api/index.html)。

以下 PHP 示例演示如何列出存储桶上所有正在进行的分段上传。

```
 require 'vendor/autoload.php';

use Aws\S3\S3Client;

$bucket = '*** Your Bucket Name ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// Retrieve a list of the current multipart uploads.
$result = $s3->listMultipartUploads([
    'Bucket' => $bucket
]);

// Write the list of uploads to the page.
print_r($result->toArray());
```

------