本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移到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.S3
DynamoDB 的程序包。因此,我们从 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.config
或 Web.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.config
或 Web.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.AWSConfigs
类Amazon.AWSConfigsDynamoDB
类。