

 适用于 .NET 的 Amazon SDK V3 已进入维护模式。

我们建议您迁移到 [适用于 .NET 的 Amazon SDK V4](https://docs.amazonaws.cn/sdk-for-net/v4/developer-guide/welcome.html)。有关如何迁移的更多详细信息和信息，请参阅我们的[维护模式公告](https://www.amazonaws.cn/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)。

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

# 什么是 适用于 .NET 的 Amazon SDK
<a name="welcome"></a>

借助适用于 .NET 的 Amazon SDK，可以更轻松地构建 .NET 应用程序，应用于经济高效、可扩展而且可靠的 Amazon 服务，例如 Amazon Simple Storage Service（Amazon S3）和 Amazon Elastic Compute Cloud（Amazon EC2）。该 SDK 为 .NET 开发人员提供一组一致且熟悉的库，简化 Amazon 服务的使用。

（**好，明白了！**我已经准备好[设置](net-dg-config.md)并[快速浏览了](quick-start.md)。）

## 关于本版本
<a name="about-this-version"></a>

**当前和过去的文档**  
本文档仅适用于 适用于 .NET 的 Amazon SDK 版本 3（V3）。V3 不是 SDK 的最新版本。有关 SDK 的最新版本，请参阅 [适用于 .NET 的 Amazon SDK（V4）开发人员指南](https://docs.amazonaws.cn/sdk-for-net/v4/developer-guide/welcome.html)。  
本文档主要围绕 .NET Core 和 ASP.NET Core，但也包含有关 .NET Framework 和 ASP.NET 4.*x* 的信息。除了 Windows 和 Visual Studio 之外，它还同样考虑跨平台开发。  
有关从早期版本的 SDK 迁移的信息，请参阅[迁移项目](net-dg-migrating.md)。  
要查找早期版本的 SDK 的已弃用内容，请参阅以下内容：  
[适用于 .NET 的 Amazon SDK（版本 2，已弃用）开发人员指南](samples/Amazon-sdk-net-v2-dg__deprecated-content.zip)
[适用于 .NET 的 Amazon SDK 的已弃用 API 参考](sdk-api-ref.md#about-api-versions)

## SDK 主要版本的维护和支持
<a name="sdks-major-versions-maintenance-support"></a>

有关维护和支持 SDK 主要版本及其基础依赖关系的信息，请参阅 [Amazon SDK 和工具参考指南](https://docs.amazonaws.cn/sdkref/latest/guide/overview.html)中的以下内容：
+ [Amazon SDK 和工具维护策略](https://docs.amazonaws.cn/sdkref/latest/guide/maint-policy.html)
+ [Amazon SDK 和工具版本支持矩阵](https://docs.amazonaws.cn/sdkref/latest/guide/version-support-matrix.html)

## 常见使用案例
<a name="common-use-cases"></a>

适用于 .NET 的 Amazon SDK有助于您实现几个引人注目的使用案例，包括以下情况：
+ 使用 [Amazon Identity and Access Management（IAM）](https://docs.amazonaws.cn/IAM/latest/UserGuide/)管理用户和角色。
+ 访问 [Amazon Simple Storage Service（Amazon S3）](https://docs.amazonaws.cn/AmazonS3/latest/userguide/) 来创建桶和存储对象。
+ 管理主题的 [Amazon Simple Notification Service（Amazon SNS）](https://docs.amazonaws.cn/sns/latest/dg/)HTTP 订阅。
+ 使用 [S3 传输实用程序](https://docs.amazonaws.cn/mobile/sdkforxamarin/developerguide/s3-integration-transferutility.html)将文件从 Xamarin 应用程序传输到 Amazon S3。
+ 使用 [Amazon Simple Queue Service（Amazon SQS）](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/) 处理系统中组件之间的消息和工作流。
+ 通过向 [Amazon S3 Select](https://docs.amazonaws.cn/AmazonS3/latest/userguide/selecting-content-from-objects.html) 发送 SQL 语句，执行高效的 Amazon S3 传输。
+ 创建和启动 [Amazon EC2](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/Instances.html) 实例，并配置和请求 Amazon EC2 [竞价型实例](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-spot-instances.html)。

## 此部分中的其他主题
<a name="welcome-additional-topics"></a>
+ [与适用于 .NET 的 Amazon SDK相关的 Amazon 工具](related-tools.md)
+ [适用于 .NET 的 Amazon SDK支持的平台](net-dg-supported-platforms.md)
+ [Amazon 开发工具包和工具参考指南](sdks-and-tools-ref.md)
+ [修订历史记录](revision-history.md)
+ [适用于 .NET 的 Amazon SDK中的新增内容](whats-new.md)
+ [其他资源](net-dg-additional-resources.md)

# 与适用于 .NET 的 Amazon SDK相关的 Amazon 工具
<a name="related-tools"></a>

## 适用于 Windows PowerShell 的工具和适用于 PowerShell Core 的工具
<a name="aws-tools-for-windows-powershell-and-powershell-core"></a>

Amazon Tools for Windows PowerShell 和 Amazon Tools for PowerShell Core 是根据适用于 .NET 的 Amazon SDK公开的功能构建的 PowerShell 模块。借助 Amazon PowerShell 工具，您可以从 PowerShell 提示符处为针对 Amazon 资源的操作编写脚本。虽然 cmdlet 的实现使用了服务客户端和来自开发工具包的方法，cmdlet 提供了惯用的 PowerShell 体验来指定参数和处理结果。

要开始使用，请参阅。[Amazon Tools for Windows PowerShell](https://www.amazonaws.cn/powershell)

## Toolkit for VS Code
<a name="toolkit-vscode"></a>

[Amazon Toolkit for Visual Studio Code](https://docs.amazonaws.cn/toolkit-for-vscode/latest/userguide/)是一个适用于 Visual Studio Code（VS 代码）编辑器的插件。通过该工具包，您可以更轻松地开发、调试和部署使用 Amazon 的应用程序。

使用此工具包，您可以执行以下操作：
+ 创建包含 Amazon Lambda 函数的无服务器应用程序，然后将应用程序部署到 Amazon CloudFormation 堆栈。
+ 使用 Amazon EventBridge 架构。
+ 当处理 Amazon ECS 任务定义文件时使用 IntelliSense。
+ 可视化 Amazon Cloud Development Kit (Amazon CDK) 应用程序。

## Toolkit for Visual Studio
<a name="tvslong"></a>

Amazon Toolkit for Visual Studio 是一个适用于 Visual Studio IDE 的插件，可让您更轻松地开发、调试和部署使用 Amazon Web Services 的 .NET 应用程序。Toolkit for Visual Studio 提供 Visual Studio 模板供 Lambda 等服务和部署向导用于 Web 应用程序和无服务器应用程序。您可以使用 Amazon Explorer 管理 Amazon EC2 实例、使用 Amazon DynamoDB 表、向 Amazon Simple Notification Service（Amazon SNS）队列发布消息等，所有这些都在 Visual Studio 中完成。

要开始使用，请参阅[设置 Amazon Toolkit for Visual Studio](https://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/setup.html)。

## Toolkit for Azure DevOps
<a name="ttslong"></a>

Amazon Toolkit for Microsoft Azure DevOps 添加了任务，可轻松支持在 Azure DevOps 和 Azure DevOps Server 中构建和发布管道以使用 Amazon 服务。您可以使用 Amazon S3、Amazon Elastic Beanstalk、Amazon CodeDeploy、Lambda、Amazon CloudFormation、Amazon Simple Queue Service（Amazon SQS）和 Amazon SNS。您还可以使用 Windows PowerShell 模块和 Amazon Command Line Interface (Amazon CLI) 运行命令。

要开始使用 Amazon Toolkit for Azure DevOps，请参阅 [Amazon Toolkit for Microsoft Azure DevOps 用户指南](https://docs.amazonaws.cn/vsts/latest/userguide/)。

# 适用于 .NET 的 Amazon SDK支持的平台
<a name="net-dg-supported-platforms"></a>

适用于 .NET 的 Amazon SDK面向不同平台为开发人员提供了不同程序集组。但是，并非所有这些平台上的开发工具包功能均相同。本主题介绍了各个平台中的支持差异。

## .NET 内核
<a name="net-core"></a>

适用于 .NET 的 Amazon SDK支持为 .NET Core（.NET Core 3.1、.NET 5、.NET 6 等）编写的应用程序。Amazon 服务客户端仅支持 .NET Core 中的异步调用模式。这还会影响到多种在 Amazon S3 `TransferUtility` 等服务客户端上构建的高级别抽象，这些客户端只支持 .NET Core 环境中的异步调用。

## .NET Standard 2.0
<a name="net-standard-2"></a>

非 Framework 版本的适用于 .NET 的 Amazon SDK符合 [.NET Standard 2.0](https://learn.microsoft.com/en-us/dotnet/standard/net-standard)。适用于 .NET 的 Amazon SDK仅为根据 .NET Standard 编写的应用程序提供异步方法。

## .NET Framework 4.5
<a name="net-dg-platform-diff-netfx45"></a>

**警告**  
自 2024 年 8 月 15 日起，适用于 .NET 的 Amazon SDK 将终止对 .NET Framework 3.5 的支持，并将支持的 .NET Framework 最低版本更改为 4.7.2。有关更多信息，请参阅博客文章 [Important changes coming for .NET Framework 3.5 and 4.5 targets of the 适用于 .NET 的 Amazon SDK](https://www.amazonaws.cn/blogs/developer/important-changes-coming-for-net-framework-3-5-and-4-5-targets-of-the-aws-sdk-for-net/)。

此版本的适用于 .NET 的 Amazon SDK根据 .NET Framework 4.5 进行编译，并在 .NET 4.0 运行时系统中运行。Amazon 服务客户端支持同步和异步调用模式，并使用 [C\$1 5.0](https://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29#Versions) 中引入的 [async 和 await](https://learn.microsoft.com/en-us/previous-versions/hh191443(v=vs.140)) 关键字。

## .NET Framework 3.5
<a name="net-dg-platform-diff-winrt"></a>

**警告**  
自 2024 年 8 月 15 日起，适用于 .NET 的 Amazon SDK 将终止对 .NET Framework 3.5 的支持，并将支持的 .NET Framework 最低版本更改为 4.7.2。有关更多信息，请参阅博客文章 [Important changes coming for .NET Framework 3.5 and 4.5 targets of the 适用于 .NET 的 Amazon SDK](https://www.amazonaws.cn/blogs/developer/important-changes-coming-for-net-framework-3-5-and-4-5-targets-of-the-aws-sdk-for-net/)。

此版本的适用于 .NET 的 Amazon SDK根据 .NET Framework 3.5 进行编译，并在 .NET 2.0 或 .NET 4.0 运行时系统中运行。Amazon 服务客户端支持同步和异步调用模式，并使用旧版的 Begin 和 End 模式。

**注意**  
在由针对版本 2.0 的 CLR 构建的应用程序使用时，适用于 .NET 的 Amazon SDK不符合联邦信息处理标准 (FIPS)。有关如何在该环境中替换符合 FIPS 的实施的详细信息，请参阅 Microsoft 博客上的 [CryptoConfig](https://learn.microsoft.com/en-us/archive/blogs/shawnfa/cryptoconfig) 以及 [CLR Security](https://github.com/MicrosoftArchive/clrsecurity/) 团队 HMACSHA256 类 (HMACSHA256Cng ) 中的 Security.Cryptography.dll。

## 便携式类库和 Xamarin
<a name="portable-class-library"></a>

适用于 .NET 的 Amazon SDK还包含可移植类库实施。便携式类库实施可针对多种平台，包括 Universal Windows Platform（UWP）以及 iOS 和 Android 上的 Xamarin。有关更多详细信息，请参阅[适用于 .NET 的移动开发工具包和 Xamarin](https://docs.amazonaws.cn/mobile/sdkforxamarin/developerguide/Welcome.html)。Amazon 服务客户端仅支持异步调用模式。

## Unity 支持
<a name="unity-support"></a>

有关 Unity 支持的信息，请参阅 [Unity 支持的特殊注意事项](unity-special.md)。

## 更多信息
<a name="more-info"></a>

[迁移到适用于 .NET 的 Amazon SDK 3.5 版](net-dg-v35.md)

# Amazon 开发工具包和工具参考指南
<a name="sdks-and-tools-ref"></a>

[Amazon 开发工具包和工具参考指南](https://docs.amazonaws.cn/sdkref/latest/guide/overview.html)包含与许多 Amazon 开发工具包和工具包以及 Amazon CLI 相关且重要的信息。以下是参考文献中包含的一些信息示例：
+ 有关[共享 Amazon`config` 和 `credentials` 文件](https://docs.amazonaws.cn/sdkref/latest/guide/file-format.html)及其[位置](https://docs.amazonaws.cn/sdkref/latest/guide/file-location.html)的信息。
+ [设置 Amazon 账户、用户和角色](https://docs.amazonaws.cn/sdkref/latest/guide/access-users.html)
+ [配置和身份验证设置参考](https://docs.amazonaws.cn/sdkref/latest/guide/settings-reference.html)
+ [Amazon 通用运行时系统（CRT）库](https://docs.amazonaws.cn/sdkref/latest/guide/common-runtime.html)
+ [Amazon SDK 和工具维护策略](https://docs.amazonaws.cn/sdkref/latest/guide/maint-policy.html)
+ [Amazon SDK 和工具版本支持矩阵](https://docs.amazonaws.cn/sdkref/latest/guide/version-support-matrix.html)

# 修订历史记录
<a name="revision-history"></a>

要了解不同版本中发生了哪些变化，请参阅以下内容：
+ [SDK 变更日志](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/changelogs)
+ [适用于 .NET 的 Amazon SDK中的新增内容](whats-new.md)
+ [文档历史记录](document-history.md)

# 适用于 .NET 的 Amazon SDK中的新增内容
<a name="whats-new"></a>

有关与 适用于 .NET 的 Amazon SDK 相关的新开发的概括性信息，请参阅产品页面（[https://aws.amazon.com/sdk-for-net/](https://www.amazonaws.cn/sdk-for-net/)）和 [SDK 变更日志](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/changelogs)。

以下是适用于 .NET 的 Amazon SDK中的新增内容。

**2025 年 10 月 17 日：Amazon Deploy Tool 版本 2.0**

Amazon Deploy Tool for .NET CLI 版本 2.0 已经发布。有关 Deploy Tool 的信息，请参阅[将应用程序部署到 Amazon](deploying.md)。有关 Deploy Tool 版本 2.0 的信息，请参阅博客文章 [What’s New in the Amazon Deploy Tool for .NET](https://www.amazonaws.cn/blogs/developer/whats-new-in-the-aws-deploy-tool-for-net/)。

**2025 年 8 月 21 日：即将终止对 适用于 .NET 的 Amazon SDK 版本 3 的支持**

已宣布终止对 适用于 .NET 的 Amazon SDK 的此版本（V3）的支持。请参阅 [V4 迁移指南](https://docs.amazonaws.cn/sdk-for-net/v4/developer-guide/net-dg-v4.html)，迁移您的 V3 应用程序并避免中断。有关更多信息，请参阅博客文章 [Announcing the end-of-support for the 适用于 .NET 的 Amazon SDK v3](https://www.amazonaws.cn/blogs/devops/announcing-the-end-of-support-for-the-aws-sdk-for-net-v3/)。

**2025 年 5 月 5 日：Amazon Message Processing Framework for .NET 正式发布**

[Amazon Message Processing Framework for .NET](msg-proc-fw.md) 正式发布！该框架是一个 Amazon 原生框架，它简化了使用 Amazon Simple Queue Service（SQS）、Amazon Simple Notification Service（SNS）和 Amazon EventBridge 等 Amazon 服务的 .NET 消息处理应用程序的开发。

**2025 年 4 月 28 日：适用于 .NET 的 Amazon SDK 版本 4**

适用于 .NET 的 Amazon SDK 的版本 4 已正式发布！有关更多信息，请参阅 [适用于 .NET 的 Amazon SDK（V4）开发人员指南](https://docs.amazonaws.cn/sdk-for-net/v4/developer-guide/welcome.html)，尤其是[迁移到版本 4](https://docs.amazonaws.cn/sdk-for-net/v4/developer-guide/net-dg-v4.html) 主题。

**2025 年 2 月 15 日：与 .NET Aspire 的集成**

发布了与.NET Aspire 的集成，旨在改善内部开发循环。有关信息，请参阅[在 适用于 .NET 的 Amazon SDK 中将 Amazon 与 .NET Aspire 集成](aspire-integrations.md)。

**2025 年 2 月 10 日：可观测性的 GA 版本**

可观测性是指可以根据系统发出的数据推断出其当前状态的程度。为 适用于 .NET 的 Amazon SDK 提供了可观测性，包括遥测提供程序的实现。有关更多信息，请参阅本指南中的[可观测性](observability.md)和博客文章 [Announcing the general availability of Amazon .NET OpenTelemetry libraries](https://www.amazonaws.cn/blogs/dotnet/announcing-the-general-availability-of-aws-net-opentelemetry-libraries/)。

**2025 年 1 月 15 日：完整性保护的新默认行为**

从适用于 .NET 的 Amazon SDK 3.7.412.0 开始，该 SDK 通过自动计算上传文件的 `CRC32` 校验和来提供默认的完整性保护。有关更多信息，请参阅 GitHub 上的公告，网址为 [https://github.com/aws/aws-sdk-net/issues/3610](https://github.com/aws/aws-sdk-net/issues/3610)。该 SDK 还提供了可在外部设置的数据完整性保护全局设置，您可以参阅 [Amazon SDK 和工具参考指南](https://docs.amazonaws.cn/sdkref/latest/guide/)中的[数据完整性保护](https://docs.amazonaws.cn/sdkref/latest/guide/feature-dataintegrity.html)。

**2024 年 11 月 15 日：关于版本 4 第 4 个预览版的博客文章**

适用于 .NET 的 Amazon SDK 版本 4 第 4 个预览版已于 2024 年 11 月 15 日发布。有关此预览版的更多信息，请参阅博客文章 [Preview 4 of 适用于 .NET 的 Amazon SDK V4](https://www.amazonaws.cn/blogs/developer/preview-4-of-aws-sdk-for-net-v4/)。

**2024 年 8 月 16 日：关于版本 4 第 1 个预览版的博客文章**

适用于 .NET 的 Amazon SDK 版本 4 于 2024 年 8 月 16 日作为首个预览版发布。有关此预览版的更多信息，请参阅博客文章 [Preview 1 of 适用于 .NET 的 Amazon SDK V4](https://www.amazonaws.cn/blogs/developer/preview-1-of-aws-sdk-for-net-v4/)。

**2024 年 2 月 23 日：增加了对 .NET 8 的支持**

在 适用于 .NET 的 Amazon SDK 中增加了对 .NET 8 的支持。使用最新的 [NuGet 软件包](https://www.nuget.org/packages?q=awssdk)或[支持.NET 8 及更高版本的程序集](net-dg-obtain-assemblies.md#download-zip-files)。有关此支持的更多信息（包括[对 Lambda 的支持](https://www.amazonaws.cn/blogs/compute/introducing-the-net-8-runtime-for-aws-lambda/)），请参阅博客文章 [.NET 8 Support on Amazon。](https://www.amazonaws.cn/blogs/dotnet/net-8-support-on-aws/)

**2024 年 2 月 18 日：.NET 框架支持即将发生的更改**

自 2024 年 8 月 15 日起，适用于 .NET 的 Amazon SDK 将终止对 .NET Framework 3.5 的支持，并将支持的 .NET Framework 最低版本更改为 4.7.2。有关更多信息，请参阅博客文章 [Important changes coming for .NET Framework 3.5 and 4.5 targets of the 适用于 .NET 的 Amazon SDK](https://www.amazonaws.cn/blogs/developer/important-changes-coming-for-net-framework-3-5-and-4-5-targets-of-the-aws-sdk-for-net/)。

**2023-07-17：Amazon Lambda 注释框架已正式发布**

通过使用 C\$1 源代码生成器技术，[Amazon Lambda 注释框架](aws-lambda-annotations.md)使 .NET 开发人员在使用 C\$1 编写 Lambda 函数的体验变得更加自然。现已正式发布。

**2020-08-24：开发工具包 3.5 版已经发布**
+ 通过将对所有开发工具包的非 Framework 版本的支持转换为 .NET Standard 2.0，进一步标准化了 .NET 体验。请参阅[迁移到 3.5 版](net-dg-v35.md)了解更多信息。
+ 为许多服务客户端添加了分页工具，这会让 API 结果的分页更加方便。有关更多信息，请参阅 [分页器](paginators.md)。

# 其他资源
<a name="net-dg-additional-resources"></a>

 **支持的服务** 

适用于 .NET 的 Amazon SDK支持大多数 Amazon 基础设施产品，并且还经常添加更多服务。有关开发工具包支持的 Amazon 服务的列表，请参阅[开发工具包自述文件](https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/README.md)。

 **主页适用于 .NET 的 Amazon SDK** 

有关适用于 .NET 的 Amazon SDK的更多信息，请转到位于 [http://aws.amazon.com/sdk-for-net/](https://www.amazonaws.cn/sdk-for-net/) 的开发工具包主页。

 **开发工具包参考文档** 

开发工具包参考文档提供了浏览和搜索开发工具包中所含全部代码的功能。它提供了详尽的文档和使用示例。有关更多信息，请参阅 [适用于 .NET 的 Amazon SDK API 参考](https://docs.amazonaws.cn/sdkfornet/v3/apidocs/)。

 **工具包** 
+ Amazon Toolkit for Visual Studio：如果您使用 Microsoft Visual Studio IDE，则应该查看 [Amazon Toolkit for Visual Studio 用户指南](https://docs.amazonaws.cn/AWSToolkitVS/latest/UserGuide/)。
+ Amazon Toolkit for Visual Studio Code：如果您使用 Microsoft Visual Studio IDE，则应该查看 [Amazon Toolkit for Visual Studio Code 用户指南](https://docs.amazonaws.cn/toolkit-for-vscode/latest/userguide/)。

 **有用的库、扩展和工具** 

访问 Github 网站上的 [aws/dotnet](https://github.com/aws/dotnet) 和 [aws/aws-sdk-net](https://github.com/aws/aws-sdk-net) 库，获得有助于在 Amazon 上构建 .NET 应用程序和服务的库、工具和资源的链接。

下面是一些示例：
+  [Amazon适用于 Systems Manager 的 .NET 配置扩展](https://github.com/aws/aws-dotnet-extensions-configuration) 
+  [Amazon 扩展 .NET Core 设置](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup) 
+  [Amazon 日志记录 .NET](https://github.com/aws/aws-logging-dotnet) 
+  [Amazon Cognito 身份验证扩展库](https://github.com/aws/aws-sdk-net-extensions-cognito) 
+  [Amazon X-Ray SDK for .NET](https://github.com/aws/aws-xray-sdk-dotnet) 

**其他资源**：

以下是其它可能有用的资源：
+ [开发人员网](https://www.amazonaws.cn/developer/language/net/)
+ [Amazon Cloud 上的 .NET 开发环境 - 快速入门参考部署](https://aws-quickstart.github.io/quickstart-dotnet-devenvironment-setup/)
+ [Hello, Cloud\$1 博客](https://davidpallmann.hashnode.dev/hello-cloud)
+ Amazon白皮书：[在 Amazon 上开发和部署 .NET 应用程序](https://docs.amazonaws.cn/whitepapers/latest/develop-deploy-dotnet-apps-on-aws/develop-deploy-dotnet-apps-on-aws.html)
+ [Amazon Microservice Extractor for .NET](https://docs.amazonaws.cn/microservice-extractor/latest/userguide)
+ [Porting Assistant for .NET](https://docs.amazonaws.cn/portingassistant/latest/userguide)
+ [Amazon 开发工具包和工具参考指南](https://docs.amazonaws.cn/sdkref/latest/guide/)