

AWS App Runner 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS App Runner 可用性变更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# App Runner 配置文件示例
<a name="config-file-examples"></a>

**注意**  
配置文件仅适用于[基于源代码的服务](service-source-code.md)。您不能将配置文件用于[基于图像的服务](service-source-image.md)。

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

## 配置文件示例
<a name="config-file-examples.managed"></a>

### 最小配置文件
<a name="config-file-examples.managed.minimal"></a>

使用最少的配置文件，App Runner 会做出以下假设：
+ 在构建或运行期间不需要自定义环境变量。
+ 使用最新的运行时版本。
+ 使用默认端口号和端口环境变量。

**Example apprunner.yaml**  

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

### 完整的配置文件
<a name="config-file-examples.managed.complete"></a>

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

**Example 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"
```

### 完整的配置文件 —（使用修订后的版本）
<a name="config-file-examples.managed.complete-v2"></a>

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

只有修订后的 App Runner 版本支持该`pre-run`参数。如果您的应用程序使用原始 App Runner 版本支持的运行时版本，请不要在配置文件中插入此参数。有关更多信息，请参阅 [托管运行时版本和 App Runner 版本](service-source-code.md#service-source-code.build-detail)。

**注意**  
由于此示例适用于 Python 3.11，因此我们使用`pip3`和`python3`命令。有关更多信息，请参阅 Python 平台主题[特定运行时版本的标注](service-source-code-python.md#service-source-code-python.callouts)中的。

**Example 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"
```

有关特定托管运行时配置文件的示例，请参阅下[基于代码的服务](service-source-code.md)方的特定运行时副主题。