

# 使用 Amazon SDK 通过 Amazon S3 进行开发
<a name="sdk-general-information-section"></a>



Amazon 软件开发工具包（SDK）适用于许多常用编程语言。每个软件开发工具包都提供 API、代码示例和文档，使开发人员能够更轻松地以其首选语言构建应用程序。

**注意**  
您可以使用 Amazon Amplify 进行 Web 和移动应用程序的端到端全栈开发。Amplify Storage 将文件存储和管理功能无缝集成到基于 Amazon S3 构建的前端 Web 和移动应用程序中。有关更多信息，请参阅《Amplify 用户指南》中的 [Storage](https://docs.amplify.aws/react/build-a-backend/storage/)。


| SDK 文档 | 
| --- | 
| [Amazon CLI](https://docs.amazonaws.cn/cli) | 
| [Amazon SDK for Java](https://docs.amazonaws.cn/sdk-for-java) | 
| [Amazon SDK for JavaScript](https://docs.amazonaws.cn/sdk-for-javascript) | 
| [Amazon SDK for .NET](https://docs.amazonaws.cn/sdk-for-net) | 
| [适用于 PHP 的 Amazon SDK](https://docs.amazonaws.cn/sdk-for-php) | 
| [Amazon Tools for PowerShell](https://docs.amazonaws.cn/powershell) | 
| [Amazon SDK for Python (Boto3)](https://docs.amazonaws.cn/pythonsdk) | 
| [适用于 Ruby 的 Amazon SDK](https://docs.amazonaws.cn/sdk-for-ruby) | 
| [适用于 SAP ABAP 的 Amazon SDK](https://docs.amazonaws.cn/sdk-for-sapabap) | 

有关特定示例，请参阅[适用于使用 Amazon 软件开发工具包的 Amazon S3 的代码示例](service_code_examples.md)。

## SDK 编程接口
<a name="sdk-programming-interfaces"></a>

每个 Amazon SDK 都提供一个或多个编程接口来与 Amazon S3 结合使用。每个 SDK 都为 Amazon S3 提供一个低级别接口，其方法与 API 操作非常相似。一些 SDK 为 Amazon S3 提供高级别接口，这类抽象旨在简化常见的应用场景。

例如，当您使用低级别 API 操作来执行分段上传时，您使用一个操作来启动上传，使用另一个操作来上传各个分段，然后使用最后一个操作来完成上传。高级别分段上传 API 操作可让您在单个 API 调用中执行上传所需的所有操作。有关示例，请参阅《Amazon S3 用户指南》**中的[使用分段上传操作上传对象](https://docs.amazonaws.cn/AmazonS3/latest/userguide/mpu-upload-object.html)。

低级别 API 操作可以更好地控制上传。如果您需要暂停和恢复上传，在上传期间更改分段的大小，或者在事先不知道数据大小的情况下开始上传，建议您使用低级别 API。