Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 适用于 .NET 的 AWS 开发工具包

适用于 .NET 的 AWS 开发工具包为 Amazon S3 存储桶和对象操作提供 API。对于对象操作,除了提供用于在单个操作中上传对象的 API 外,开发工具包还提供 API 来分段上传大型对象 (参阅 使用分段上传 API 上传对象)。API 允许您选择使用高级别或低级别 API。

低级别 API。

低级别 API 对应于底层 Amazon S3 REST 操作,包括应用于存储桶和对象的创建、更新和删除操作。使用低级别分段上传 API 上传大型对象时 (参阅 使用分段上传 API 上传对象),它可以提供更大的控制,例如允许您暂停和恢复分段上传、在上传期间更改分段的大小,或者在事先不知道数据大小的情况下开始上传。如果您没有这些要求,请使用高级别 API 来上传对象。

高级别 API

对于上传对象,开发工具包通过提供 TransferUtility 类来提供更高级别的抽象。高级别 API 是更简单的 API,只需几行代码,即可将文件和流上传到 Amazon S3。除非您需要控制上传 (如前面的低级别 API 部分所述),否则您应该使用此 API 来上传数据。

对于较小的数据,TransferUtility API 将在单个操作中上传数据。但是,当数据大小达到特定的阈值后,TransferUtility 会转为使用分段上传 API。默认情况下,它使用多个线程并发上传分段。如果分段上传失败,API 最多会重试三次失败的分段上传。但是,这些是可配置选项。

注意

将流用作数据源时,TransferUtility 类不会执行并发上传。

.NET API 组织

使用适用于 .NET 的 AWS 开发工具包写入 Amazon S3 应用程序时,可使用 AWSSDK.dll。此程序集中的以下命名空间提供分段上传 API:

  • Amazon.S3.Transfer – 提供高级别 API 来分段上传您的数据。

    它包括允许您指定用于上传数据的文件、目录或流的 TransferUtility 类。它还包括 TransferUtilityUploadRequestTransferUtilityUploadDirectoryRequest 类来配置高级设置,例如并发线程数量、分段大小、对象元数据、存储类 (STANDARD, REDUCED_REDUNDANCY) 和对象 ACL。

  • Amazon.S3 – 提供适用于低级别 API 的执行。

    它提供对应于 Amazon S3 REST 分段上传 API 的方法 (请参阅使用适用于分段上传的 REST API)。

  • Amazon.S3.Model – 提供低级别 API 来创建请求和处理响应。

    例如,它提供在启动分段上传时使用的 InitiateMultipartUploadRequestInitiateMultipartUploadResponse 类,以及在上传分段时使用的 UploadPartRequestUploadPartResponse 类。

有关适用于 .NET 的 AWS 开发工具包 API 的更多信息,请参阅适用于 .NET 的 AWS 开发工具包参考

运行 Amazon S3 .NET 代码示例

入门 .NET 代码示例的最简单方式是安装 适用于 .NET 的 AWS 开发工具包。有关更多信息,请参阅适用于 .NET 的 AWS 开发工具包

注意

本指南中的示例符合适用于 .NET 的 AWS 开发工具包版本 2.0 标准。

以下任务将引导您创建和测试本节中提供的 C# 代码示例。

创建 .NET 代码示例的常规过程

1

为 AWS 凭证创建凭证配置,如适用于 .NET 的 AWS 开发工具包主题配置 AWS 凭证所述。

2

使用 AWS 空项目 模板创建新的 Visual Studio 项目。

3

将项目文件 Program.cs 中的代码替换为您正在阅读的部分中的代码。

4

运行该代码。验证是否使用 AWS 管理控制台创建了对象。有关 AWS 管理控制台的更多信息,请转到 http://www.amazonaws.cn/console/