

AWS App Runner tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS App Runner ketersediaan](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Referensi file konfigurasi App Runner
<a name="config-file-ref"></a>

**catatan**  
File konfigurasi hanya berlaku untuk [layanan yang didasarkan pada kode sumber](service-source-code.md). Anda tidak dapat menggunakan file konfigurasi dengan layanan [berbasis gambar](service-source-image.md).

Topik ini adalah panduan referensi komprehensif untuk sintaks dan semantik file konfigurasi. AWS App Runner Untuk ikhtisar file konfigurasi App Runner, lihat[Menyetel opsi layanan App Runner menggunakan file konfigurasi](config-file.md).

File konfigurasi App Runner adalah file YAMM. Beri nama`apprunner.yaml`, dan letakkan di [direktori sumber](service-source-code.md#service-source-code.source-directory) repositori aplikasi Anda.

## Ikhtisar struktur
<a name="config-file-ref.overview"></a>

File konfigurasi App Runner adalah file YAMM. Beri nama`apprunner.yaml`, dan letakkan di [direktori sumber](service-source-code.md#service-source-code.source-directory) repositori aplikasi Anda.

File konfigurasi App Runner berisi bagian-bagian utama ini:
+ *Bagian atas* - Berisi tombol tingkat atas
+ *Bagian Build* - Mengonfigurasi tahap build
+ *Jalankan bagian* - Mengonfigurasi tahap runtime

## Bagian atas
<a name="config-file-ref.top"></a>

Kunci di bagian atas file memberikan informasi umum tentang file dan runtime layanan Anda. Kunci-kunci berikut tersedia:
+ `version`— *Diperlukan.* Versi file konfigurasi App Runner. Idealnya, gunakan versi terbaru.

  **Sintaksis**

  ```
  version: {{version}}
  ```  
**Example**  

  ```
  version: 1.0
  ```
+ `runtime`— *Diperlukan.* Nama runtime yang digunakan aplikasi Anda. Untuk mempelajari tentang runtime yang tersedia untuk berbagai platform pemrograman yang ditawarkan App Runner, lihat. [Layanan App Runner berdasarkan kode sumber](service-source-code.md)
**catatan**  
 Konvensi penamaan dari runtime terkelola adalah{{<language-name><major-version>}}. 

  **Sintaksis**

  ```
  runtime: {{runtime-name}}
  ```  
**Example**  

  ```
  runtime: python3
  ```

## Membangun bagian
<a name="config-file-ref.build"></a>

Bagian build mengonfigurasi tahap pembuatan penerapan layanan App Runner. Anda dapat menentukan perintah build dan variabel lingkungan. Perintah build diperlukan.

Bagian dimulai dengan `build:` kunci, dan memiliki subkunci berikut:
+ `commands`— *Diperlukan.* Menentukan perintah yang dijalankan App Runner selama berbagai fase build. Termasuk subkunci berikut:
  + `pre-build`— *Opsional.* Perintah yang dijalankan App Runner sebelum build. Misalnya, instal **npm** dependensi atau pustaka uji.
  + `build`— *Diperlukan.* Perintah yang dijalankan App Runner untuk membangun aplikasi Anda. Misalnya, gunakan**pipenv**.
  + `post-build`— *Opsional.* Perintah yang dijalankan App Runner setelah build. Misalnya, gunakan Maven untuk mengemas artefak build ke dalam file JAR atau WAR, atau jalankan pengujian.

  **Sintaksis**

  ```
  build:
    commands:
      pre-build:
        - {{command}}
        - {{…}}
      build:
        - {{command}}
        - {{…}}
      post-build:
        - {{command}}
        - {{…}}
  ```  
**Example**  

  ```
  build:
    commands:
      pre-build:
        - yum install openssl
      build:
        - pip install -r requirements.txt
      post-build:
        - python manage.py test
  ```
+ `env`— *Opsional.* Menentukan variabel lingkungan kustom untuk tahap build. Didefinisikan sebagai pemetaan skalar nama-nilai. Anda dapat merujuk ke variabel-variabel ini berdasarkan nama dalam perintah build Anda.
**catatan**  
Ada dua `env` entri berbeda di dua lokasi berbeda dalam file konfigurasi ini. Satu set ada di bagian **Build** dan yang lainnya di bagian **Run**.   
`env`Set di bagian Build dapat direferensikan oleh `pre-run` perintah `pre-build``build`,`post-build`,, dan selama *proses build*.  
***Penting*** - Perhatikan bahwa `pre-run` perintah terletak di bagian Jalankan file ini, meskipun mereka hanya dapat mengakses variabel lingkungan yang didefinisikan di bagian Build. 
`env`Set di bagian Run dapat direferensikan oleh `run` perintah di lingkungan runtime.

  **Sintaksis**

  ```
  build:
    env:
      - name: {{name1}}
        value: {{value1}}
      - name: {{name2}}
        value: {{value2}}
      - {{…}}
  ```  
**Example**  

  ```
  build:
    env:
      - name: DJANGO_SETTINGS_MODULE
        value: "django_apprunner.settings"
      - name: MY_VAR_EXAMPLE
        value: "example"
  ```

## Jalankan bagian
<a name="config-file-ref.run"></a>

Bagian run mengonfigurasi tahap proses container dari penerapan aplikasi App Runner. Anda dapat menentukan versi runtime, perintah pra-jalankan (hanya format yang direvisi), perintah mulai, port jaringan, dan variabel lingkungan.

Bagian dimulai dengan `run:` kunci, dan memiliki subkunci berikut:
+ `runtime-version`— *Opsional.* Menentukan versi runtime yang ingin dikunci untuk layanan App Runner.

  Secara default, hanya versi utama yang terkunci. App Runner menggunakan versi minor dan patch terbaru yang tersedia untuk runtime pada setiap penerapan atau pembaruan layanan. Jika Anda menentukan versi mayor dan minor, keduanya menjadi terkunci, dan App Runner hanya memperbarui versi tambalan. Jika Anda menentukan versi mayor, minor, dan patch, layanan Anda dikunci pada versi runtime tertentu dan App Runner tidak pernah memperbaruinya.

  **Sintaksis**

  ```
  run:
    runtime-version: {{major[.minor[.patch]]}}
  ```
**catatan**  
Runtime dari beberapa platform memiliki komponen versi yang berbeda. Lihat topik platform tertentu untuk detailnya.  
**Example**  

  ```
  runtime: python3
  run:
    runtime-version: 3.7
  ```
+ `pre-run`— *Opsional.* *** Hanya penggunaan [build yang direvisi](service-source-code.md#service-source-code.build-detail)***. Menentukan perintah yang dijalankan App Runner setelah menyalin aplikasi Anda dari image build ke image run. Anda dapat memasukkan perintah di sini untuk memodifikasi gambar run di luar `/app` direktori. Misalnya, jika Anda perlu menginstal dependensi global tambahan yang berada di luar `/app` direktori, masukkan perintah yang diperlukan di sub-bagian ini untuk melakukannya. Untuk informasi selengkapnya tentang proses pembuatan App Runner, lihat[Versi runtime terkelola dan build App Runner](service-source-code.md#service-source-code.build-detail).
**catatan**  
***Penting*** — Meskipun `pre-run` perintah tercantum di bagian Run, mereka hanya dapat mereferensikan variabel lingkungan yang ditentukan di bagian Build dari file konfigurasi ini. Mereka tidak dapat mereferensikan variabel lingkungan yang ditentukan dalam bagian Jalankan ini.
`pre-run`Parameter ini hanya didukung oleh build App Runner yang direvisi. Jangan masukkan parameter ini dalam file konfigurasi jika aplikasi Anda menggunakan versi runtime yang didukung oleh build App Runner asli. Untuk informasi selengkapnya, lihat [Versi runtime terkelola dan build App Runner](service-source-code.md#service-source-code.build-detail).

  **Sintaksis**

  ```
  run:
    pre-run:
        - {{command}}
        - {{…}}
  ```
+ `command`— *Diperlukan.* Perintah yang digunakan App Runner untuk menjalankan aplikasi Anda setelah menyelesaikan pembuatan aplikasi.

  **Sintaksis**

  ```
  run:
    command: {{command}}
  ```
+ `network`— *Opsional.* Menentukan port yang didengarkan aplikasi Anda. Ini termasuk yang berikut:
  + `port`— *Opsional.* Jika ditentukan, ini adalah nomor port yang didengarkan aplikasi Anda. Nilai default-nya `8080`.
  + `env`— *Opsional.* Jika ditentukan, App Runner meneruskan nomor port ke container dalam variabel lingkungan ini, selain (bukan sebagai ganti) meneruskan nomor port yang sama dalam variabel lingkungan default,`PORT`. Dengan kata lain, jika Anda menentukan`env`, App Runner meneruskan nomor port dalam dua variabel lingkungan.

  **Sintaksis**

  ```
  run:
    network:
      port: {{port-number}}
      env: {{env-variable-name}}
  ```  
**Example**  

  ```
  run:
    network:
      port: 8000
      env: MY_APP_PORT
  ```
+ `env`— *Opsional.* Definisi variabel lingkungan kustom untuk tahap run. Didefinisikan sebagai pemetaan skalar nama-nilai. Anda dapat merujuk ke variabel-variabel ini dengan nama di lingkungan runtime Anda.
**catatan**  
Ada dua `env` entri berbeda di dua lokasi berbeda dalam file konfigurasi ini. Satu set ada di bagian **Build** dan yang lainnya di bagian **Run**.   
`env`Set di bagian Build dapat direferensikan oleh `pre-run` perintah `pre-build``build`,`post-build`,, dan selama *proses build*.  
***Penting*** - Perhatikan bahwa `pre-run` perintah terletak di bagian Jalankan file ini, meskipun mereka hanya dapat mengakses variabel lingkungan yang didefinisikan di bagian Build. 
`env`Set di bagian Run dapat direferensikan oleh `run` perintah di lingkungan runtime.

  **Sintaksis**

  ```
  run:
    env:
      - name: {{name1}}
        value: {{value1}}
      - name: {{name2}}
        value: {{value2}}   
    secrets:
      - name: {{name1}}
        value-from: {{arn:aws:secretsmanager:region:aws_account_id:secret:secret-id}}
      - name: {{name2}}
        value-from: {{arn:aws:ssm:region:aws_account_id:parameter/parameter-name}}
      - {{…}}
  ```  
**Example**  

  ```
  run:
    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"
  ```