View a markdown version of this page

App Runner 配置文件示例 - AWS App Runner

AWS App Runner 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS App Runner 可用性变更

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

App Runner 配置文件示例

注意

配置文件仅适用于基于源代码的服务。您不能将配置文件用于基于图像的服务

以下示例演示了 AWS App Runner 配置文件。有些是最低限度的,仅包含必需的设置。其他部分已完成,包括所有配置文件部分。有关 App Runner 配置文件的概述,请参阅使用配置文件设置 App Runner 服务选项

配置文件示例

使用最少的配置文件,App Runner 会做出以下假设:

  • 在构建或运行期间不需要自定义环境变量。

  • 使用最新的运行时版本。

  • 使用默认端口号和端口环境变量。

例 apprunner.yaml
version: 1.0 runtime: python3 build: commands: build: - pip install pipenv - pipenv install run: command: python app.py

此示例显示了在托管运行时中使用apprunner.yaml原始格式的所有配置密钥的情况。

例 apprunner.yaml
version: 1.0 runtime: python3 build: commands: pre-build: - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz build: - pip install pipenv - pipenv install post-build: - python manage.py test env: - name: DJANGO_SETTINGS_MODULE value: "django_apprunner.settings" - name: MY_VAR_EXAMPLE value: "example" run: runtime-version: 3.7.7 command: pipenv run gunicorn django_apprunner.wsgi --log-file - network: port: 8000 env: MY_APP_PORT env: - name: MY_VAR_EXAMPLE value: "example" secrets: - name: my-secret value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::" - name: my-parameter value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name" - name: my-parameter-only-name value-from: "parameter-name"

此示例说明如何使用托管运行时中的apprunner.yaml所有配置密钥。

只有修订后的 App Runner 版本支持该pre-run参数。如果您的应用程序使用原始 App Runner 版本支持的运行时版本,请不要在配置文件中插入此参数。有关更多信息,请参阅 托管运行时版本和 App Runner 版本

注意

由于此示例适用于 Python 3.11,因此我们使用pip3python3命令。有关更多信息,请参阅 Python 平台主题特定运行时版本的标注中的。

例 apprunner.yaml
version: 1.0 runtime: python311 build: commands: pre-build: - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz build: - pip3 install pipenv - pipenv install post-build: - python3 manage.py test env: - name: DJANGO_SETTINGS_MODULE value: "django_apprunner.settings" - name: MY_VAR_EXAMPLE value: "example" run: runtime-version: 3.11 pre-run: - pip3 install pipenv - pipenv install - python3 copy-global-files.py command: pipenv run gunicorn django_apprunner.wsgi --log-file - network: port: 8000 env: MY_APP_PORT env: - name: MY_VAR_EXAMPLE value: "example" secrets: - name: my-secret value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::" - name: my-parameter value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name" - name: my-parameter-only-name value-from: "parameter-name"

有关特定托管运行时配置文件的示例,请参阅下基于代码的服务方的特定运行时副主题。