迁移到Amazon SDK for .NET的版本 3 - Amazon SDK for .NET
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

迁移到Amazon SDK for .NET的版本 3

本主题介绍了版本 3 的Amazon SDK for .NET中的更改以及如何将您的代码迁移到此版本的开发工具包。

关于Amazon SDK for .NET版本

Amazon SDK for .NET(最初于 2009 年 11 月发布)专为 .NET Framework 2.0 而设计。自发布以来,.NET 已通过 .NET Framework 4.0 和 .NET Framework 4.5 进行了改进,并且已增加了新的目标 WinRT 和 Windows 手机。

Amazon SDK for .NET版本 2 已更新,可以利用 .NET 平台的新功能并且面向 WinRT 和 Windows Phone。

Amazon SDK for .NET版本 3 已进行更新,使程序集实现模块化。

面向开发工具包的架构重新设计

整个版本 3 的Amazon SDK for .NET已进行重新设计来实现模块化。现在,每项服务均在各自的程序集中而非某个全局程序集中实现。您不再需要将整个Amazon SDK for .NET添加到应用程序。现在,您可以仅为Amazon应用程序使用的服务。

重大更改

以下部分介绍了对版本 3 的Amazon SDK for .NET的更改。

删除了 AWSClientFactory

删除了 Amazon.AWSClientFactory 类。现在,要创建服务客户端,请使用服务客户端的构造函数。例如,要创建 AmazonEC2Client,请使用:

var ec2Client = new Amazon.EC2.AmazonEC2Client();

删除了 Amazon.Runtime.AssumeRoleAWSCredentials

删除了 Amazon.Runtime.AssumeRoleAWSCredentials 类,因为它位于核心命名空间中但依赖于 Amazon Security Token Service,并且开发工具包中已将其弃用一段时间。请改用 Amazon.SecurityToken.AssumeRoleAWSCredentials 类。

从 S3Link 中删除了 SetACL 方法

这些区域有:S3Link类是的一部分Amazon.DynamoDBv2程序包,用于将作为 DynamoDB 项中的参考的对象存储在 Amazon S3 中。虽然这是一项有用功能,但我们不需要为创建编译依赖项Amazon.S3DynamoDB 的程序包。因此,我们从 S3Link 类简化了公开的 Amazon.S3 方法,并将 SetACL 方法替换为 MakeS3ObjectPublic 方法。要更好地控制对象的访问控制列表 (ACL),请直接使用 Amazon.S3 程序包。

删除过时的结果类

对于Amazon SDK for .NET中的大多数服务,操作将返回一个响应对象,该对象包含操作的元数据,例如请求 ID 和结果对象。拥有一个单独的响应和结果类是多余的,并且会让开发人员编写额外的代码。在版本 2 的Amazon SDK for .NET中,我们将结果类中的所有信息放入响应类中。我们还将结果类标记为过时以阻止对结果类的使用。在版本 3 的Amazon SDK for .NET中,我们删除了这些过时的结果类,这样有助于减小开发工具包的大小。

AmazonConfig 部分更改

可以通过 App.configWeb.config 文件执行Amazon SDK for .NET的高级配置。您可以通过与以下内容类似的 <aws> 配置部分 (将引用开发工具包程序集名称) 来执行此操作。

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

在版本 3 的Amazon SDK for .NET中,AWSSDK 程序集不再存在。我们将常见代码放入 AWSSDK.Core 程序集中。因此,您需要将对 App.configWeb.config 文件中的 AWSSDK 程序集的引用更改为对 AWSSDK.Core 程序集的引用,如下所示。

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

您也可以使用 Amazon.AWSConfigs 类操作配置设置。在版本 3 的Amazon SDK for .NET,我们已将 DynamoDB 的配置设置从Amazon.AWSConfigsAmazon.AWSConfigsDynamoDB类。