本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 .NET 平台
AWS App Runner .NET 平台提供托管运行时。每个运行时都可以轻松构建和运行带有基于.NET 版本的 Web 应用程序的容器。当你使用.NET 运行时时,App Runner 从托管的.NET 运行时镜像开始。此镜像基于 Amazon Linux Docker 镜像
在使用 App Runner 控制台或 CreateServiceAPI 操作创建服务时,可以为 App Runner 服务指定运行时。您也可以将运行时指定为源代码的一部分。在包含在代码存储库中的 A pp Runner 配置文件中使用runtime
关键字。托管运行时的命名约定是。 <language-name><major-version>
有关有效的.NET 运行时名称和版本,请参阅。 NET运行时版本信息。
每次部署或服务更新时,App Runner 都会将服务的运行时更新到最新版本。如果您的应用程序需要托管运行时的特定版本,则可以使用 App Runner 配置文件中的runtime-version
关键字进行指定。您可以锁定到任何级别的版本,包括主要版本或次要版本。App Runner 仅对服务的运行时进行较低级别的更新。
.NET 运行时的版本语法:major
[.minor
[.patch
]]
例如:6.0.9
以下示例演示了版本锁定:
-
6.0
— 锁定主要版本和次要版本。App Runner 仅更新补丁版本。 -
6.0.9
— 锁定到特定的补丁版本。App Runner 不会更新你的运行时版本。
.NET 运行时配置
选择托管运行时时,还必须至少配置生成和运行命令。您可以在创建或更新 App Runner 服务时对其进行配置。您可以使用以下方法之一来执行此操作:
-
使用 App Runner 控制台-在创建过程或配置选项卡的 “配置构建” 部分中指定命令。
-
使用 App Runner API — 调用CreateService或 UpdateServiceAPI 操作。使用CodeConfigurationValues数据类型的
BuildCommand
和StartCommand
成员来指定命令。 -
使用配置文件-在最多三个构建阶段中指定一个或多个构建命令,并指定一个用于启动应用程序的运行命令。还有其他可选的配置设置。
提供配置文件是可选的。使用控制台或 API 创建 App Runner 服务时,您可以指定 App Runner 是在创建时直接获取配置设置还是从配置文件中获取配置设置。
NET 运行时示例
以下示例显示了用于构建和运行.NET 服务的 App Runner 配置文件。最后一个示例是完整的.NET 应用程序的源代码,您可以将其部署到.NET 运行时服务。
注意
这些示例中使用的运行时版本为 6.0.9
。您可以将其替换为要使用的版本。有关支持的最新.NET 运行时版本,请参阅。 NET运行时版本信息。
此示例显示了可在.NET 托管运行时中使用的最小配置文件。有关 App Runner 使用最小配置文件做出的假设,请参阅配置文件示例。
例 apprunner.yaml
version: 1.0 runtime: dotnet6 build: commands: build: - dotnet publish -c Release -o out run: command: dotnet out/HelloWorldDotNetApp.dll
此示例显示了在.NET 托管运行时中使用所有配置密钥的情况。
注意
这些示例中使用的运行时版本为 6.0.9
。您可以将其替换为要使用的版本。有关支持的最新.NET 运行时版本,请参阅。 NET运行时版本信息。
例 apprunner.yaml
version: 1.0 runtime: dotnet6 build: commands: pre-build: - scripts/prebuild.sh build: - dotnet publish -c Release -o out post-build: - scripts/postbuild.sh env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version:
6.0.9
command: dotnet out/HelloWorldDotNetApp.dll network: port: 5000 env: APP_PORT env: - name: ASPNETCORE_URLS value: "http://*:5000"
此示例显示了可以部署到.NET 运行时服务的完整.NET 应用程序的源代码。
注意
-
运行以下命令创建一个简单的.NET 6 Web 应用程序:
dotnet new web --name HelloWorldDotNetApp -f net6.0
-
将添加到已创建的.NET 6 Web 应用程序中。
apprunner.yaml
例 HelloWorldDotNetApp
version: 1.0 runtime: dotnet6 build: commands: build: - dotnet publish -c Release -o out run: command: dotnet out/HelloWorldDotNetApp.dll network: port: 5000 env: APP_PORT env: - name: ASPNETCORE_URLS value: "http://*:5000"