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

是否要将 .NET 应用程序部署到Amazon通过几个简单点击即可? 尝试我们的新.NET CLI 工具为了简化部署体验!阅读我们的博客帖子然后提交反馈GitHub

有关更多信息,请参阅部署工具

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

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

Amazon SDK for .NET的版本 3.5 通过将对所有开发工具包的非 Framework 变体的支持转换为 .NET Standard 2.0,进一步标准化了 .NET 体验。根据您的环境和代码库,要利用 3.5 版功能,您可能需要执行某些迁移工作。

本主题介绍版本 3.5 中的更改以及从版本 3 迁移环境或代码可能需要执行的工作。

对版本 3.5 发生了什么变化

以下内容介绍Amazon SDK for .NET版本 3.5 中已更改或尚未更改的内容。

.NET Framework 和 .NET Core

对 .NET Framework 和 .NET Core 的支持没有更改。

Xamarin

(新的和现有的)Xamarin 项目必须指向 .NET Standard 2.0。请参阅 Xamarin.Forms 中的 .NET Standard 2.0 支持.NET 实现支持

Unity

Unity 应用程序必须使用 Unity 2018.1 或更高版本指向 .NET Standard 2.0 或 .NET 4.x 配置文件。有关更多信息,请参阅 .NET 配置文件支持。此外,如果您使用的是一次性生活生成,您必须通过添加link.xml文件,如中所述引用Amazon SDK for .NET标准 2.0 来自统一、沙马林或 UWP. 将代码移植到推荐的代码库之一后,Unity 应用程序可以访问开发工具包提供的所有服务。

由于 Unity 支持 .NET Standard 2.0,因此开发工具包版本 3.5 的 AWSSDk.core 程序包不再具有 Unity 特定的代码,包括一些更高级别的功能。为了提供更好的过渡,legacyUnity 代码可供参考aws/aws-sdk 单位网GitHub 存储库。如果您发现缺少影响将您的使用的功能Amazon与 Unity 结合使用,您可以通过https://github.com/aws/dotnet/issues.

另请参阅Unity 支持的特殊注意事项

通用 Windows 平台 (UWP)

将您的 UWP 应用程序指向版本 16299 或更高版本(秋季创建者更新,版本 1709,2017 年 10 月发布)。

Windows Phone 和 Silverlight

Amazon SDK for .NET的版本 3.5 不支持这些平台,因为 Microsoft 不再积极开发它们。有关更多信息,请参阅下列内容:

传统的可移植类库(基于配置文件的 PCL)

考虑将您的库重定向到 .NET 标准。有关更多信息,请参阅 Microsoft 提供的可移植类库的比较

Amazon Cognito 同步管理器和 Amazon Mobile Analytics 管理器

从的版本 3.5 中删除了易于使用 Amazon Cognito Sync 和 Amazon Mobile Analytics 的高级抽象。Amazon SDK for .NET.Amazon AppSync是 Amazon Cognito Sync 的首选替代品。Amazon Pinpoint 是 Amazon Mobile Analytics 的首选替代品。

如果您的代码受到缺乏Amazon AppSync和 Amazon Pinpoint,您可以记录您对以下 GitHub 问题之一或这两个问题的兴趣:https://github.com/aws/dotnet/issues/20https://github.com/aws/dotnet/issues/19. 您还可以从以下 GitHub 存储库中获取 Amazon Cognito 同步管理器和 Amazon Mobile Analytics 管理器的库:aw/ 亚马逊认知同步管理器网aws/Amazon-移动分析-管理员-网.

迁移同步代码

Amazon SDK for .NET的版本3.5 仅支持对 Amazon 服务的异步调用。您必须使用版本 3.5 更改想要运行的同步代码,以使它异步运行。

以下代码段展示如何将同步代码更改为异步代码。这些代码段中的代码用于显示 Amazon S3 存储桶的数量。

原始代码调用 ListBuckets

private static ListBucketsResponse MyListBuckets() { var s3Client = new AmazonS3Client(); var response = s3Client.ListBuckets(); return response; } // From the calling function ListBucketsResponse response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}");

要使用此开发工具包的 3.5 版本,请改为调用 ListBucketsAsync

private static async Task<ListBucketsResponse> MyListBuckets() { var s3Client = new AmazonS3Client(); var response = await s3Client.ListBucketsAsync(); return response; } // From an **asynchronous** calling function ListBucketsResponse response = await MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); // OR From a **synchronous** calling function Task<ListBucketsResponse> response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}");