Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan platform Python
Platform AWS App Runner Python menyediakan runtime terkelola. Setiap runtime memudahkan untuk membangun dan menjalankan container dengan aplikasi web berdasarkan versi Python. Saat Anda menggunakan runtime Python, App Runner dimulai dengan image runtime Python yang dikelola. Gambar ini didasarkan pada image Amazon Linux Docker
Anda menentukan runtime untuk layanan App Runner saat membuat layanan menggunakan konsol App Runner atau operasi. CreateServiceAPI Anda juga dapat menentukan runtime sebagai bagian dari kode sumber Anda. Gunakan runtime
kata kunci dalam file konfigurasi App Runner yang Anda sertakan dalam repositori kode Anda. Konvensi penamaan dari runtime terkelola adalah <language-name><major-version>
.
Untuk nama dan versi runtime Python yang valid, lihat. Informasi rilis runtime Python
App Runner memperbarui runtime untuk layanan Anda ke versi terbaru pada setiap penerapan atau pembaruan layanan. Jika aplikasi Anda memerlukan versi tertentu dari runtime terkelola, Anda dapat menentukannya menggunakan runtime-version
kata kunci dalam file konfigurasi App Runner. Anda dapat mengunci ke tingkat versi apa pun, termasuk versi mayor atau minor. App Runner hanya membuat pembaruan tingkat rendah untuk runtime layanan Anda.
Sintaks versi untuk runtime Python: major
[.minor
[.patch
]]
Misalnya: 3.8.5
Contoh berikut menunjukkan penguncian versi:
-
3.8
— Kunci versi mayor dan minor. App Runner hanya memperbarui versi tambalan. -
3.8.5
— Kunci ke versi patch tertentu. App Runner tidak memperbarui versi runtime Anda.
Topik
Konfigurasi runtime Python
Saat memilih runtime terkelola, Anda juga harus mengonfigurasi, seminimal mungkin, membangun dan menjalankan perintah. Anda mengonfigurasinya saat membuat atau memperbarui layanan App Runner. Anda dapat melakukan ini menggunakan salah satu metode berikut:
-
Menggunakan konsol App Runner — Tentukan perintah di bagian Configure build pada tab proses pembuatan atau konfigurasi.
-
Menggunakan App Runner API — Panggil CreateServiceatau UpdateServiceAPIoperasi. Tentukan perintah menggunakan
BuildCommand
danStartCommand
anggota tipe CodeConfigurationValuesdata. -
Menggunakan file konfigurasi — Tentukan satu atau beberapa perintah build hingga tiga fase build, dan satu perintah run yang berfungsi untuk memulai aplikasi Anda. Ada pengaturan konfigurasi opsional tambahan.
Menyediakan file konfigurasi adalah opsional. Saat membuat layanan App Runner menggunakan konsol atau layananAPI, Anda menentukan apakah App Runner mendapatkan setelan konfigurasi secara langsung saat dibuat atau dari file konfigurasi.
Callout untuk versi runtime tertentu
catatan
App Runner sekarang menjalankan proses build yang diperbarui untuk aplikasi berdasarkan versi runtime berikut: Python 3.11 dan Node.js 18. Jika aplikasi Anda berjalan pada salah satu versi runtime ini, lihat Versi runtime terkelola dan build App Runner untuk informasi selengkapnya tentang proses build yang direvisi. Aplikasi yang menggunakan semua versi runtime lainnya tidak terpengaruh, dan mereka terus menggunakan proses build asli.
Python 3.11 (build App Runner yang direvisi)
Gunakan pengaturan berikut di apprunner.yaml untuk runtime Python 3.11 yang dikelola.
-
Atur
runtime
kunci di bagian Atas kepython311
contoh
runtime: python311
-
Gunakan
pip3
alih-alihpip
untuk menginstal dependensi. -
Gunakan
python3
interpreter sebagai gantinya.python
-
Jalankan
pip3
installer sebagaipre-run
perintah. Python menginstal dependensi di luar direktori./app
Karena App Runner menjalankan build App Runner yang direvisi untuk Python 3.11, apa pun yang diinstal di luar/app
direktori melalui perintah di bagian Build file akan hilang.apprunner.yaml
Untuk informasi selengkapnya, lihat Versi App Runner yang direvisi.contoh
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 -
Untuk informasi selengkapnya, lihat juga contoh file konfigurasi yang diperluas untuk Python 3.11 nanti dalam topik ini.
Contoh runtime Python
Contoh berikut menunjukkan file konfigurasi App Runner untuk membangun dan menjalankan layanan Python. Contoh terakhir adalah kode sumber untuk aplikasi Python lengkap yang dapat Anda gunakan ke layanan runtime Python.
catatan
Versi runtime yang digunakan dalam contoh ini adalah 3.7.7
and 3.11
. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Python terbaru yang didukung, lihat. Informasi rilis runtime Python
Contoh ini menunjukkan file konfigurasi minimal yang dapat Anda gunakan dengan runtime terkelola Python. Untuk asumsi yang dibuat oleh App Runner dengan file konfigurasi minimal, lihat. Contoh file konfigurasi
Python 3.11 menggunakan perintah danpip3
. python3
Untuk informasi selengkapnya, lihat contoh file konfigurasi yang diperluas untuk Python 3.11 nanti dalam topik ini.
contoh apprunner.yaml
version: 1.0
runtime: python3
build:
commands:
build:
- pip install pipenv
- pipenv install
run:
command: python app.py
Contoh ini menunjukkan penggunaan semua kunci konfigurasi dengan runtime terkelola Python.
catatan
Versi runtime yang digunakan dalam contoh ini adalah 3.7.7
. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Python terbaru yang didukung, lihat. Informasi rilis runtime Python
Python 3.11 menggunakan perintah danpip3
. python3
Untuk informasi selengkapnya, lihat contoh file konfigurasi yang diperluas untuk Python 3.11 nanti dalam topik ini.
contoh 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"
Contoh ini menunjukkan penggunaan semua kunci konfigurasi dengan runtime terkelola Python 3.11 di. apprunner.yaml
Contoh ini menyertakan pre-run
bagian, karena versi Python ini menggunakan build App Runner yang direvisi.
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.
catatan
Versi runtime yang digunakan dalam contoh ini adalah 3.11
. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Python terbaru yang didukung, lihat. Informasi rilis runtime Python
contoh 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"
Contoh ini menunjukkan kode sumber untuk aplikasi Python lengkap yang dapat Anda gunakan ke layanan runtime Python.
contoh requirements.txt
pyramid==2.0
contoh server.py
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os
def hello_world(request):
name = os.environ.get('NAME')
if name == None or len(name) == 0:
name = "world"
message = "Hello, " + name + "!\n"
return Response(message)
if __name__ == '__main__':
port = int(os.environ.get("PORT"))
with Configurator() as config:
config.add_route('hello', '/')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', port, app)
server.serve_forever()
contoh apprunner.yaml
version: 1.0
runtime: python3
build:
commands:
build:
- pip install -r requirements.txt
run:
command: python server.py