Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, GitHub Codespaces ortamında FastAPI ve Postgres'i birlikte çalıştırma işlemi gösterilmektedir. Codespaces, yapılandırılabilir ve yinelenebilir geliştirme ortamları oluşturmak için kullanabileceğiniz bulutta barındırılan bir geliştirme ortamıdır.
Örnek depoyu GitHub Codespaces uzantısı ile Visual Studio Code gibi tümleşik bir geliştirme ortamında (IDE) açabilirsiniz.
Alternatif olarak, örnek depoyu yerel olarak kopyalayabilirsiniz. Projeyi Visual Studio Code’da açtığınızda, bunu çalıştırmak için Dev Containers özelliğini kullanabilirsiniz. Geliştirme Kapsayıcıları, Docker Desktop'ın yerel olarak yüklenmesini gerektirir. Docker yüklü değilse, geliştirme ortamı olarak GitHub Codespaces kullanarak projeyi çalıştırabilirsiniz.
GitHub Codespaces kullandığınızda, ayda sabit sayıda çekirdek saatiniz boş olur. Bu öğreticinin tamamlanması için bir çekirdek saatten az süre gerekir. Daha fazla bilgi için bkz. GitHub Codespaces için faturalama hakkında.
Ayrıca bu kurulumu başlangıç noktası olarak kullanabilir ve örneği Django veya Flask gibi diğer Python web çerçevelerini çalıştıracak şekilde değiştirebilirsiniz.
Codespaces'ta geliştirme ortamını başlatma
Bu öğreticide GitHub Codespaces oluşturmanın ve bunlarla çalışmanın birçok olası yolu açıklanır.
Örnek uygulama deposuna https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespacegidin.
Örnek depo, Postgres veritabanı kullanarak FastAPI uygulamasıyla ortam oluşturmak için gereken tüm yapılandırmaya sahiptir. GitHub Codespaces için Python projesi ayarlama bölümünde yer alan adımları izleyerek benzer bir proje oluşturabilirsiniz.
Yeni bir kod alanı oluşturmak için Kod, Kod alanları sekmesi'ni + seçin.
Kapsayıcının oluşturulması tamamlandığında, tarayıcının sol alt köşesinde Codespaces'ı gördüğünüzden emin olun ve örnek depoya bakın.
Codespace anahtar yapılandırma dosyaları devcontainer.json, Dockerfile ve docker-compose.yml. Daha fazla bilgi için bkz. GitHub Codespaces'a genel bakış.
Tavsiye
Codespace'i Visual Studio Code'da da çalıştırabilirsiniz. Tarayıcının veya (
Ctrl+Shift+P/Ctrl+Command+ ) sol alt köşesindekiPöğesini seçin ve "Codespaces" yazın. Ardından VS Code'da Aç'ı seçin. Ayrıca kod uzayını durdurup depoya geri dönüp GitHub Codespaces'ta yeniden açarsanız, bunu VS Code'da veya tarayıcıda açma seçeneğiniz vardır.Note
PostgreSQL başlatılamıyorsa (kapsayıcı kilitlenmeleri), PostgreSQL 18+ ile mevcut veri dizini birimi arasındaki uyumsuzluk olabilir.
.devcontainer/docker-compose.yamlöğesini düzenleyin vepostgres:latestöğesinipostgres:17olarak değiştirin, ardından kapsayıcıyı yeniden oluşturun. PostgreSQL 18, veri dizini yapısını değiştirdi ve bu da/var/lib/postgresql/datakonumundaki birim bağlamasını önceki sürümlerle uyumsuz hale getirdi..env.devcontainer dosyasını seçin ve aynı içerikle .env adlı bir kopya oluşturun.
.env dosyası, kodun veritabanına bağlanmak için kullandığı ortam değişkenlerini içerir.
Bir terminal penceresi henüz açık değilse, Komut Paleti()
Ctrl+Shift+P/Ctrl+Command+Pöğesini açıp "Terminal: Yeni Terminal Oluştur" yazıp yeni bir terminal oluşturmak için bu pencereyi seçerek bir pencere açın.PostgreSQL'in 5432 numaralı bağlantı noktasında çalıştığını onaylamak için terminal penceresindeKI BAĞLANTI NOKTALARi sekmesini seçin.
Terminal penceresinde FastAPI uygulamasını çalıştırın.
uvicorn main:app --reloadTarayıcıda Aç bildirimini seçin.
Bildirimi görmüyor veya atladıysanız , BAĞLANTI NOKTALARI'na gidin ve 8000 numaralı bağlantı noktasının Yerel Adresini bulun. Burada listelenen URL'yi kullanın.
API yöntemlerini test etmek için kullanabileceğiniz Swagger kullanıcı arabirimini görmek için önizleme URL'sinin sonuna /docs ekleyin.
API yöntemleri, FastAPI'nin koddan oluşturduğu OpenAPI arabiriminden oluşturulur.
Swagger sayfasında, bir restoran eklemek için POST yöntemini çalıştırın.
POST yöntemini genişletin.
Deneyinseçin.
Talep gövdesini doldurun.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Değişikliği işlemek için Yürüt'e tıklayın.
Veritabanına bağlanma ve verileri görüntüleme
Proje için GitHub Codespace'a dönün, SQLTools uzantısını seçin ve ardından bağlanmak için Yerel veritabanı'nı seçin.
Kapsayıcı oluşturulduğunda SQLTools uzantısı yüklenir. SQLTools uzantısı Etkinlik Çubuğu'nda görünmüyorsa codespace'i kapatın ve yeniden açın.
Restoranlar tablosunu bulana kadar Yerel veritabanı düğümünü genişletin, sağ tıklayın ve Tablo Kayıtlarını Göster'i seçin.
Eklediğiniz restoranı görürsünüz.
Temizleme
Codespace'i kullanmayı durdurmak için tarayıcıyı kapatın. (Bu şekilde açtıysanız VS Code'ı da kapatabilirsiniz.)
Codespace'i yeniden kullanmayı planlıyorsanız, bunu koruyabilirsiniz. Yalnızca kod alanlarını çalıştırmak CPU ücretlerine neden olur. Durdurulan bir kod alanı yalnızca depolama maliyetlerine neden olur.
Kodsahası'nı kaldırmak istiyorsanız, kodsahası yönetimi için https://github.com/codespaces'e gidin.
Sonraki Adımlar
- Python web uygulaması geliştirme
- Kapsayıcı uygulaması geliştirme
- Python için Azure kitaplıklarını kullanmayı öğrenin