Baca dalam bahasa Inggris

Bagikan melalui


Mengonfigurasi lingkungan lokal Anda untuk menyebarkan aplikasi web Python di Azure

Artikel ini memandu Anda menyiapkan lingkungan lokal untuk mengembangkan aplikasi web Python dan menyebarkannya ke Azure. Aplikasi web Anda bisa murni Python atau menggunakan salah satu kerangka kerja web berbasis Python umum seperti Django, Flask, atau FastAPI.

Aplikasi web Python yang dikembangkan secara lokal dapat disebarkan ke layanan seperti Azure App Service, Azure Container Apps, atau Azure Static Web Apps. Ada banyak opsi untuk penyebaran. Misalnya, untuk penyebaran App Service, Anda dapat memilih untuk menyebarkan dari kode, kontainer Docker, atau Static Web App. Jika Anda menyebarkan dari kode, Anda dapat menyebarkan dengan Visual Studio Code, dengan Azure CLI, dari repositori Git lokal, atau dengan tindakan GitHub. Jika Anda menyebarkan dalam Kontainer Docker, Anda dapat melakukannya dari Azure Container Registry, Docker Hub, atau registri privat apa pun.

Sebelum melanjutkan artikel ini, kami sarankan Anda meninjau Menyiapkan lingkungan dev Anda untuk panduan tentang menyiapkan lingkungan dev Anda untuk Python dan Azure. Di bawah ini, kita akan membahas penyiapan dan konfigurasi khusus untuk pengembangan aplikasi web Python.

Setelah Anda mendapatkan penyiapan lingkungan lokal untuk pengembangan aplikasi web Python, Anda akan siap untuk mengatasi artikel ini:

Bekerja dengan Visual Studio Code

Visual Studio Code lingkungan pengembangan terintegrasi (IDE) adalah cara mudah untuk mengembangkan aplikasi web Python dan bekerja dengan sumber daya Azure yang digunakan aplikasi web.

Tip

Pastikan Anda telah menginstal ekstensi Python. Untuk gambaran umum bekerja dengan Python di Visual Studio Code, lihat Memulai Python di VISUAL Code.

Di Visual Studio Code, Anda bekerja dengan sumber daya Azure melalui ekstensi Visual Studio Code. Anda dapat menginstal ekstensi dari Extensions View atau kombinasi tombol Ctrl+Shift+X. Untuk aplikasi web Python, Anda mungkin akan bekerja dengan satu atau beberapa ekstensi berikut:

  • Ekstensi Azure App Service memungkinkan Anda berinteraksi dengan Azure App Service dari dalam Visual Studio Code. App Service menyediakan hosting yang dikelola sepenuhnya untuk aplikasi web termasuk situs web dan API web.

  • Ekstensi Azure Static Web Apps memungkinkan Anda membuat Azure Static Web Apps langsung dari VS Code. Static Web Apps tanpa server dan pilihan yang baik untuk hosting konten statis.

  • Jika Anda berencana bekerja dengan kontainer, instal:

    • Ekstensi Docker untuk membangun dan bekerja dengan kontainer secara lokal. Misalnya, Anda dapat menjalankan aplikasi web Python dalam kontainer di Azure App Service menggunakan Web Apps for Containers.

    • Ekstensi Azure Container Apps untuk membuat dan menyebarkan aplikasi kontainer langsung dari Visual Studio Code.

  • Ada ekstensi lain seperti Azure Storage, Azure Databases, dan ekstensi Azure Resources. Anda selalu dapat menambahkan ekstensi ini dan ekstensi lain sesuai kebutuhan.

Ekstensi di Visual Studio Code dapat diakses seperti yang Anda harapkan di antarmuka IDE yang khas dan dengan dukungan kata kunci yang kaya menggunakan palet perintah VISUAL Code. Untuk mengakses palet perintah, gunakan kombinasi tombol Ctrl+Shift+P. Palet perintah adalah cara yang baik untuk melihat semua kemungkinan tindakan yang dapat Anda lakukan pada sumber daya Azure. Cuplikan layar di bawah ini menunjukkan beberapa tindakan untuk App Service.

Cuplikan layar palet perintah Visual Studio Code untuk App Service.

Bekerja dengan Kontainer Dev di Visual Studio Code

Pengembang Python sering mengandalkan lingkungan virtual untuk membuat lingkungan yang terisolasi dan mandiri untuk proyek tertentu. Lingkungan virtual memungkinkan pengembang mengelola dependensi, paket, dan versi Python secara terpisah untuk setiap proyek, menghindari konflik antara proyek yang berbeda yang mungkin memerlukan versi paket yang berbeda.

Meskipun ada opsi populer yang tersedia di Python untuk mengelola lingkungan seperti virtualenv atau venv, ekstensiKontainer DevVisual Studio Code (berdasarkan spesifikasi terbuka Kontainer Dev ) memungkinkan Anda menggunakan kontainer Docker sebagai lingkungan kontainer yang berfitur lengkap. Ini memungkinkan pengembang untuk menentukan toolchain yang konsisten dan mudah direproduksi dengan semua alat, dependensi, dan ekstensi yang diperlukan yang telah dikonfigurasi sebelumnya. Ini berarti jika Anda memiliki persyaratan sistem, konfigurasi shell, atau menggunakan bahasa lain sepenuhnya, Anda dapat menggunakan Kontainer Dev untuk secara eksplisit mengonfigurasi semua bagian proyek Anda yang mungkin tinggal di luar lingkungan Python dasar.

Misalnya, pengembang dapat mengonfigurasi satu Kontainer Dev untuk menyertakan semua yang diperlukan untuk mengerjakan proyek, termasuk server database PostgreSQL bersama dengan database proyek dan data sampel, server Redis, Nginx, kode front-end, pustaka klien seperti React, dan sebagainya. Selain itu, kontainer akan berisi kode proyek, runtime Python, dan semua dependensi proyek Python dengan versi yang benar. Terakhir, kontainer dapat menentukan ekstensi Visual Studio Code yang akan diinstal sehingga seluruh tim memiliki alat yang sama yang tersedia. Jadi ketika pengembang baru bergabung dengan tim, seluruh lingkungan, termasuk alat, dependensi, dan data, siap untuk dikloning ke komputer lokal mereka, dan mereka dapat mulai bekerja segera.

Lihat Pengembangan di dalamKontainer.

Bekerja dengan Visual Studio 2022

Visual Studio 2022 adalah lingkungan pengembangan terintegrasi berfitur lengkap (IDE) dengan dukungan untuk pengembangan aplikasi Python dan banyak alat dan ekstensi bawaan untuk mengakses dan menyebarkan ke sumber daya Azure. Meskipun sebagian besar dokumentasi untuk membangun aplikasi web Python di Azure berfokus pada penggunaan Visual Studio Code, Visual Studio 2022 adalah opsi yang bagus jika Anda sudah menginstalnya, Anda nyaman menggunakannya, dan menggunakannya untuk proyek .NET atau C++.

  • Secara umum, lihat Visual Studio | Dokumentasi Python untuk semua dokumentasi yang terkait dengan penggunaan Python di Visual Studio 2022.

  • Untuk langkah-langkah penyiapan, lihat Menginstal dukungan Python di Visual Studio yang memandu Anda melalui langkah-langkah menginstal beban kerja Python ke Visual Studio 2022.

  • Untuk alur kerja umum penggunaan Python untuk pengembangan web, lihat mulai cepat : Membuat aplikasi web Python pertama Anda menggunakan Visual Studio. Artikel ini berguna untuk memahami cara membangun aplikasi web Python dari awal (tetapi tidak menyertakan penyebaran ke Azure).

  • Untuk menggunakan Visual Studio 2022 untuk mengelola sumber daya Azure dan menyebarkan ke Azure, lihat Azure Development dengan Visual Studio. Meskipun banyak dokumentasi di sini secara khusus menyebutkan .NET, alat untuk mengelola sumber daya Azure dan menyebarkan ke Azure berfungsi sama terlepas dari bahasa pemrograman.

  • Saat tidak ada alat bawaan yang tersedia di Visual Studio 2022 untuk tugas manajemen atau penyebaran Azure tertentu, Anda selalu dapat menggunakan perintah azure CLI .

Bekerja dengan IDE Lain

Jika Anda bekerja di IDE lain yang tidak memiliki dukungan eksplisit untuk Azure, maka Anda dapat menggunakan Azure CLI untuk mengelola sumber daya Azure. Pada cuplikan layar di bawah ini, aplikasi web Flask sederhana terbuka di PyCharm IDE. Aplikasi web dapat disebarkan ke Azure App Service menggunakan perintah az webapp up. Dalam cuplikan layar, perintah CLI berjalan dalam emulator terminal yang disematkan PyCharm. Jika IDE Anda tidak memiliki emulator yang disematkan, Anda dapat menggunakan terminal apa pun dan perintah yang sama. Azure CLI harus diinstal di komputer Anda dan dapat diakses dalam kedua kasus.

Cuplikan layar IDE PyCharm dengan perintah Azure CLI menyebarkan aplikasi web.

Perintah Azure CLI

Saat bekerja secara lokal dengan aplikasi web menggunakan perintah Azure CLI, Anda biasanya akan bekerja dengan perintah berikut:

Perintah Deskripsi
az webapp Mengelola aplikasi web. Termasuk sub perintah membuat dan mengaktifkan untuk membuat aplikasi web atau untuk membuat dan menerapkan dari ruang kerja lokal, masing-masing.
az aplikasi kontainer Mengelola Azure Container Apps.
az staticwebapp Mengelola Azure Static Web Apps.
grup az Mengelola grup sumber daya dan penyebaran templat. Gunakan sub-perintah membuat untuk membuat grup sumber daya untuk memasukkan sumber daya Azure Anda.
az appservice Mengelola rencana App Service.
az konfigurasi Mengelola konfigurasi Azure CLI. Untuk menyimpan penekanan tombol, Anda dapat menentukan lokasi default atau grup sumber daya yang digunakan perintah lain secara otomatis.

Berikut adalah contoh perintah Azure CLI untuk membuat aplikasi web dan sumber daya terkait, dan menyebarkannya ke Azure dalam satu perintah menggunakan az webapp up. Jalankan perintah di direktori akar aplikasi web Anda.

Azure CLI
az webapp up \
    --runtime PYTHON:3.9 \
    --sku B1 \
    --logs

Untuk informasi selengkapnya tentang contoh ini, lihat mulai cepat : Menyebarkan aplikasi web Python (Django atau Flask) ke Azure App Service.

Perlu diingat bahwa untuk beberapa alur kerja Azure Anda, Anda juga dapat menggunakan Azure CLI dari Azure Cloud Shell. Azure Cloud Shell adalah shell interaktif, diautentikasi, dan dapat diakses browser untuk mengelola sumber daya Azure.

Paket kunci Azure SDK

Di aplikasi web Python, Anda dapat merujuk secara terprogram ke layanan Azure menggunakan Azure SDK for Python. SDK ini dibahas secara ekstensif di bagian Menggunakan pustaka Azure (SDK) untuk Python. Di bagian ini, kami akan secara singkat menyebutkan beberapa paket utama SDK yang akan Anda gunakan dalam pengembangan web. Dan, kami akan menampilkan contoh tentang praktik terbaik untuk mengautentikasi kode Anda dengan sumber daya Azure.

Di bawah ini adalah beberapa paket yang umum digunakan dalam pengembangan aplikasi web. Anda dapat menginstal paket di lingkungan virtual Anda secara langsung dengan pip. Atau masukkan nama indeks paket Python (Pypi) dalam file requirements.txt Anda.

Dokumen SDK Pasang Indeks paket Python
Azure Identity pip install azure-identity azure-identity
Blob Penyimpanan Azure pip install azure-storage-blob azure-storage-blob
Azure Cosmos DB pip install azure-cosmos azure-cosmos
Rahasia Azure Key Vault pip install azure-keyvault-secrets azure-keyvault-secrets

Paket azure-identity memungkinkan aplikasi web Anda melakukan autentikasi dengan Microsoft Entra ID. Untuk autentikasi dalam kode aplikasi web Anda, disarankan agar Anda menggunakan DefaultAzureCredential dalam paket azure-identity. Berikut adalah contoh cara mengakses Azure Storage. Polanya mirip untuk sumber daya Azure lainnya.

Python
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

azure_credential = DefaultAzureCredential()
blob_service_client = BlobServiceClient(
    account_url=account_url,
    credential=azure_credential)

DefaultAzureCredential akan memeriksa lokasi yang telah ditentukan sebelumnya untuk informasi akun, misalnya, dalam variabel lingkungan atau dari proses masuk ke Azure CLI. Untuk informasi mendalam tentang logika DefaultAzureCredential, lihat Mengautentikasi aplikasi Python ke layanan Azure dengan menggunakan Azure SDK for Python.

Kerangka kerja web berbasis Python

Dalam pengembangan aplikasi web Python, Anda sering bekerja dengan kerangka kerja web berbasis Python. Kerangka kerja ini menyediakan fungsionalitas, seperti templat halaman, manajemen sesi, akses database, dan akses mudah ke objek permintaan dan respons HTTP. Kerangka kerja memungkinkan Anda untuk tidak harus membuat ulang sesuatu yang sudah ada untuk fungsionalitas umum.

Tiga kerangka kerja web Python umum adalah Django, Flask, atau FastAPI. Kerangka kerja web ini dan lainnya dapat digunakan dengan Azure.

Di bawah ini adalah contoh bagaimana Anda dapat memulai dengan cepat dengan kerangka kerja ini secara lokal. Dengan menjalankan perintah ini, Anda akan mendapatkan sebuah aplikasi, walaupun aplikasi yang sederhana yang dapat di-deploy ke Azure. Jalankan perintah ini di dalam lingkungan virtual .

Langkah 1: Unduh kerangka kerja dengan pip.

pip install Django

Langkah 2: Buat aplikasi hello world.

Buat proyek sampel menggunakan perintah startproject django-admin. Proyek ini mencakup file manage.py yang merupakan titik masuk untuk menjalankan aplikasi.

django-admin startproject hello_world

Langkah 3: Jalankan kode secara lokal.

Django menggunakan WSGI untuk menjalankan aplikasi.

python hello_world\manage.py runserver

Langkah 4: Telusuri aplikasi hello world.

http://127.0.0.1:8000/

Pada titik ini, tambahkan file requirements.txt lalu Anda dapat menyebarkan aplikasi web ke Azure atau menampungnya dengan Docker lalu menyebarkannya.

Langkah berikutnya