Buradasın
Amazon Web Services Amplify ve GraphQL API Geliştirme Eğitimi
youtube.com/watch?v=8lrsm7PTj0QYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu eğitim videosunda Hatice Edis, Proteintech şirketinde front-end developer olarak çalışan bir yazılım geliştirici, Amazon Web Services'in Amplify toolunu ve GraphQL API geliştirme sürecini anlatmaktadır.
- Video, Amplify toolunun ne olduğu, nasıl indirileceği ve temel komutlarının (amplify head, configure, console, init, run, push, status, pull, environment, publish, logat, mock, category, update, remove) açıklanmasıyla başlıyor. Ardından GraphQL API oluşturma, authentication ayarları, DynamoDB entegrasyonu ve Epify kullanarak backend servisi oluşturma adımları gösteriliyor. Son bölümde ise oluşturulan API'nin bir todo uygulaması üzerinden nasıl kullanılacağı, hata ayıklama, güncelleme işlemleri ve servisin fiyatlandırması anlatılıyor.
- Eğitim yaklaşık 10 dakika daha devam edecek ve son beş dakikada soru-cevap bölümü olacak şekilde planlanmıştır. Ayrıca, farklı cihazlarda geliştirme ortamlarını nasıl lokalize edebileceğiniz ve servisin diğer AWS servisleriyle nasıl entegre edilebileceği de videoda ele alınan konular arasındadır.
- 00:02Amazon Emplify Tanıtımı
- Hatice Edis, beş senedir yazınla ilgilenen ve şu an Proteintech şirketinde front-end developer olarak görev yapan bir konuşmacıdır.
- Bu videoda Amazon'un Amazon Web Servislerinin Emplify toolundan bahsedilecektir.
- 00:28Emplify'nin Özellikleri ve Kurulumu
- Emplify, Amazon'un kendi içinde bulunan faaliyet ve ses, lond function'ların olduğu bir servis ve CLI'yi olan bir servistir.
- Emplify CLI'yi npm veya yarn aracılığıyla kurabilir veya doğrudan emplify komutuyla kurabilirsiniz.
- 01:20Emplify Komutları
- emplify head komutu, Emplify'ın kendi içinde bulunan komutları ve kategorileri gösterir.
- emplify configure komutu ile Emplify kullanırken ilk olarak bir user oluşturup, bu user'la beraber AWS'de bir user oluşturup API kullanımına izin verilir.
- emplify console komutu, Amazon'un konsolunu web uygulamasını direkt URL olarak açar.
- 02:41Emplify Proje Oluşturma ve Çalıştırma
- emplify init komutu ile yeni bir Emplify projesi oluşturulabilir, projenin içinde oluşturuluyorsa gereklilikler tespit edilir.
- emplify run komutu, geliştirilen uygulamayı hem kendini hem de kıvanç tarafını ayağa kaldıran bir komuttur.
- 03:51Emplify Push ve Status Komutları
- emplify push komutu, Amazon'un kendi içinde uzakta bir repo oluşturur ve bu repoya kodlar, modeller ve lambda functionları gibi değişikliklerin değişimlerini gönderir.
- emplify status komutu, uzaktaki repo ile lokaldeki değişiklikleri karşılaştırıp kategori bazında sonuçları gösterir.
- emplify pull komutu, uzaktaki repodan kendi lokalimize önceki yapılan geliştirmeleri almayı sağlar.
- 04:54Emplify Ortamları ve Yayınlama
- emplify env komutu ile farklı ortamlar (development, test, production) oluşturulabilir.
- emplify publish komutu, Emplify ile geliştirilen uygulamayı hazır bir şekilde sunmayı sağlar.
- emplify logout komutu, kullanılan user'dan ayarları çıkarmayı ve farklı user'la kullanabilmeyi sağlar.
- 06:34Emplify Mock ve Kategori Yönetimi
- emplify mock komutu, geliştirmeleri lokalimizde test etmemizi sağlayan bir komuttur.
- emplify category komutu ile kategoriler eklenebilir, güncellenebilir veya silinebilir.
- emplify push komutu ile tüm değişiklikler uzaktaki repo'ya gönderilebilir, emplify push category komutu ile sadece belirli kategoriler için değişiklikler gönderilebilir.
- 08:04Emplify Kategorileri
- Emplify'ın kendi içinde barındırdığı servisler arasında API (rest veya graphql API oluşturma), Authentication (Amazon'un kendi oluşturduğu authentication'ları ekleme), Storage (Amazon S3 gibi dosyaları barındırma) ve Function (Lambda functionlar) bulunmaktadır.
- Hosting kategorisi, uygulamanın hosting ayarlarını yapmamızı sağlar (domain adresi, SSL ayarları).
- Data Store kategorisi, API'ye göre offline olarak kullanmamız için modeller oluşturur, Analitik kategorisi uygulamanın trafiğini kontrol eder.
- 10:46Emplify Demo
- Emplify kullanmak için öncelikle AWS'de bir user oluşturmak gerekiyor.
- Emplify init komutu ile yeni bir proje oluşturulurken proje ismi, environment, editör, dil ve platform seçimi yapılır.
- Proje oluşturulduktan sonra lokalimize bazı AWS profilleri oluşturulabilir veya access key kullanılabilir.
- 17:20GraphQL API Oluşturma
- GraphQL API oluşturmak için authentication kullanıp kullanmayacağınız sorulur, public API oluşturmak için authentication gerekli değildir.
- Public key oluştururken, bu key'in kaç günde dolacağı belirlenir ve daha sonra yenilenmesi sağlanır.
- Bir uygulamada hem public hem de kullanıcı yetkilendirmesi gerektiren bölümler olabilir, bu durumda iki farklı authentication eklemek gerekir.
- 19:46Şema Oluşturma
- Oluşturulacak şema bağımsız mı yoksa birbirine bağlı mı olacak, örneğin postlar ve kullanıcılar arasında ilişki olabilir.
- Örnek bir şeması oluşturulduktan sonra, bu şema kendi dataya göre düzenlenmelidir.
- Şemada model adları ve özellikleri (type, nullable vb.) düzenlenebilir.
- 22:21Emplify Kurulumu
- Emplify kurulduktan sonra "emplify mock" komutu ile backend ayağa kaldırılır ve "emplify" klasörü oluşur.
- Emplify, DynamoDB gibi bir veritabanı oluşturarak lokalde kullanmak üzere ayarlar.
- Emplify kurulumunda hangi dilde oluşturulacağı, GraphQL queryleri ve mutation'ların oluşturulup oluşturulmayacağı sorulur.
- 24:35Otomatik Oluşturulan Dosyalar
- Emplify, src altında "graphql" adında bir dosya dizini oluşturur ve otomatik olarak query ve mutation dosyalarını jenera eder.
- Şemayı değiştirdiğinizde veya Emplify push yaptığınızda, bu dosyalar tekrar jenera edilir, bu nedenle dosyalarda yapılan değişiklikler kabul olmaz.
- Oluşturulan GraphQL servisi test edilebilir ve yeni veriler eklenebilir.
- 27:58Emplify Kullanımı
- Emplify oluşturulduktan sonra otomatik olarak "aws-export" dosyası oluşturulur ve bu dosya Emplify push veya mock komutlarıyla değişir.
- Uygulamaya Emplify kullanmak için önce "npm install @aws-amplify/package" komutu ile paket eklenmelidir.
- Emplify konfigürasyonu "aws-export" dosyasından alınarak uygulama konfigürasyonuna okunmalıdır.
- 30:42GraphQL ve Mutation Çağrısı
- Emplify API fonksiyonu kullanılarak GraphQL query ve mutation'lar çağrılabilir.
- GraphQL query'leri için "emplify.graphql.query" metodu, mutation'lar için "emplify.graphql.mutation" metodu kullanılır.
- Query ve mutation'lar için gerekli parametreler (variables, input) gönderilerek veriler listelenir, güncellenir veya silinir.
- 37:35API Güncelleme ve Applify Kullanımı
- API'da bir hata oluştu ancak test edildiğinde update işlemi başarıyla gerçekleşti.
- Geliştirmeler tamamlandıktan sonra Applify push komutu ile servis kapatılıp, değişiklikler uzaktaki repoya atılır.
- Applify status komutu ile yapılan değişiklikler görüntülenebilir ve API create edildiği belirtilir.
- 41:28Applify Ayarları ve Kullanımı
- Applify dosyaları kendisi oluşturur, manuel ayar eklemek isteyenler override edebilir veya farklı dosyaları birleştirebilir.
- Kesinlikle AWS export'u kullanılması gerekiyor.
- Applify, birden fazla komponent ve servis içeren karmaşık konseptleri yönetmek için kullanılır.
- 44:25Applify Servisinin Görüntülenmesi
- Applify oluşturulmuş ve servis alınmış, ana sayfadan veya arama yaparak erişilebilir.
- Frontend tarafı repoya bağlanmadığı için görünmezken, backend tarafında kullanılan API servisi kategori eklendi olarak gösterilir.
- Farklı kişiler veya cihazlar için geliştirmeler lokalize edilebilir.
- 45:30Applify Fiyatlandırması
- Applify servisinin fiyatlandırması her derlendiğinde ve her requeste göre belirlenir.
- Belli bir ücretsiz sınır vardır, sonrasında ücret alınır.
- Applify, diğer AWS servislerine ait servisleri ortak kullanımda bir development ortamı sunar ve ücretlendirmesi diğer AWS servislerine göre yansır.