本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 .NET 平台
AWS App Runner .NET 平台提供受管理的執行階段。每個執行階段都可以使用以 .NET 版本為基礎的 Web 應用程式輕鬆建置和執行容器。當您使用 .NET 執行階段時,應用程式執行階段會以託管 .NET 執行階段映像開始。此映像檔是以 Amazon Linux Docker 映像檔
當您使用應用程式執行器主控台或 CreateServiceAPI 作業建立服務時,您可以指定應用程式執行器服務的執行階段。您也可以將執行階段指定為原始程式碼的一部分。在您包含在程式碼儲存庫中的 App Runner 設定檔中使用runtime
關鍵字。託管運行時的命名約定是。 <language-name><major-version>
如需有效的 .NET 執行階段名稱和版本,請參閱。 NET執行期版本資訊。
App Runner 會在每次部署或服務更新時,將服務的執行階段更新為最新版本。如果您的應用程式需要特定版本的受管理執行階段,您可以使用 App Runner 設定檔中的runtime-version
關鍵字來指定它。您可以鎖定到任何級別的版本,包括主要或次要版本。應用程序運行器僅對服務的運行時進行較低級別的更新。
.NET 執行階段的版本語法:major
[.minor
[.patch
]]
例如:6.0.9
下列範例會示範版本鎖定:
-
6.0
-鎖定主要和次要版本。應用程序運行器僅更新補丁版本。 -
6.0.9
— 鎖定到特定的修補程式版本。應用程序運行器不會更新您的運行時版本。
.NET 運行時配置
當您選擇受管理的執行階段時,您也必須設定最低限度的建置和執行命令。您可以在創建或更新應用程序運行器服務時進行配置。您可以使用下列其中一種方法來執行此操作:
-
使用 App Runner 主控台 — 在建立程序或設定索引標籤的 [設定組建] 區段中指定命令。
-
使用應用程式執行程式 API — 呼叫CreateService或 UpdateServiceAPI 作業。使用CodeConfigurationValues資料類型的
BuildCommand
和StartCommand
成員指定命令。 -
使用組態檔案 — 在最多三個建置階段中指定一或多個建置命令,以及用來啟動應用程式的單一執行命令。還有其他可選配置設置。
提供組態檔案是選擇性的。當您使用主控台或 API 建立 App Runner 服務時,您可以指定應用程式執行器是在建立時直接取得您的組態設定,還是從組態檔案取得您的組態設定。
.NET 運行時示例
下列範例顯示用於建置和執行 .NET 服務的應用程式執行器組態檔案。最後一個範例是您可以部署至 .NET 執行階段服務的完整 .NET 應用程式的原始程式碼。
注意
這些範例中使用的執行階段版本為 6.0.9
。您可以將其替換為您要使用的版本。如需支援的最新 .NET 執行階段版本,請參閱 。 NET執行期版本資訊
此範例顯示可與 .NET 管理執行階段搭配使用的最小組態檔案。如需 App Runner 使用最小組態檔案所做的假設,請參閱組態檔案範例。
範例 阿普魯人. 羊
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執行期版本資訊
範例 阿普魯人. 羊
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
-
添加
apprunner.yaml
到創建的 .NET 6 網絡應用程序。
範例 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"