Checkpoints
Deploying the Endpoints configuration
/ 20
Deploying the API backend
/ 20
Sending requests to the API
/ 20
Add a quota to the API
/ 20
Create API key and testing quota limit by sending requests
/ 20
Cloud Endpoints: Qwik Start
GSP164
Genel Bakış
Bu laboratuvarda, App Engine uygulamasında API oluşturmaya yönelik bir araç dizisi olan Google Cloud Endpoints ile örnek bir API dağıtacaksınız. Örnek kod şunları içerecek:
- Üç harften oluşan
IATA
kodundan (örneğin SFO, JFK, AMS) havaalanı adını sorgulayabileceğiniz bir REST API. - API yapılandırmasını Cloud Endpoints'e yükleyen bir komut dosyası.
- Örnek API'yi barındırmak için esnek bir Google App Engine arka ucu dağıtan bir komut dosyası.
Örnek API'ye birkaç istek gönderdikten sonra Cloud Endpoints İşlem Grafikleri ve Günlükleri'ni görüntüleyebilirsiniz. Bunlar, API'lerinizi izlemenize ve kullanımlarına dair bilgi kazanmanıza imkan sağlayan araçlardır.
Kurulum ve şartlar
Laboratuvarı Başlat düğmesini tıklamadan önce
Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Laboratuvarı Başlat'ı tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.
Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini gerçek bir bulut ortamında (Simülasyon veya demo ortamında değil.) gerçekleştirebilirsiniz. Bu olanağın sunulabilmesi için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanırsınız.
Bu laboratuvarı tamamlamak için şunlar gerekir:
- Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir).
- Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma
-
Laboratuvarı Başlat düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir pop-up açılır. Soldaki Laboratuvar Ayrıntıları panelinde şunlar yer alır:
- Google Cloud Console'u aç düğmesi
- Kalan süre
- Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri
- Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler
-
Google Cloud Console'u aç'ı tıklayın (veya Chrome Tarayıcı'yı kullanıyorsanız sağ tıklayıp Bağlantıyı gizli pencerede aç'ı seçin).
Laboratuvar, kaynakları çalıştırır ve sonra Oturum açın sayfasını gösteren başka bir sekme açar.
İpucu: Sekmeleri ayrı pencerelerde, yan yana açın.
Not: Hesap seçin iletişim kutusunu görürseniz Başka bir hesap kullan'ı tıklayın. -
Gerekirse aşağıdaki kullanıcı adını kopyalayıp Oturum açın iletişim kutusuna yapıştırın.
{{{user_0.username | "Username"}}} Kullanıcı adını Laboratuvar ayrıntıları panelinde de bulabilirsiniz.
-
İleri'yi tıklayın.
-
Aşağıdaki şifreyi kopyalayıp Hoş geldiniz iletişim kutusuna yapıştırın.
{{{user_0.password | "Password"}}} Şifreyi Laboratuvar ayrıntıları panelinde de bulabilirsiniz.
-
İleri'yi tıklayın.
Önemli: Laboratuvarın sizinle paylaştığı giriş bilgilerini kullanmanız gerekir. Google Cloud hesabınızın kimlik bilgilerini kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir. -
Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:
- Şartları ve koşulları kabul edin.
- Geçici bir hesap kullandığınızdan kurtarma seçenekleri veya iki faktörlü kimlik doğrulama eklemeyin.
- Ücretsiz denemelere kaydolmayın.
Birkaç saniye sonra Google Cloud Console bu sekmede açılır.
Cloud Shell'i etkinleştirme
Cloud Shell, çok sayıda geliştirme aracı içeren bir sanal makinedir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Cloud Shell, Google Cloud kaynaklarınıza komut satırı erişimi sağlar.
- Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir simgesini tıklayın.
Bağlandığınızda, kimliğiniz doğrulanmış olur. Proje ise PROJECT_ID'nize göre ayarlanmıştır. Çıkış, bu oturum için PROJECT_ID'yi tanımlayan bir satır içerir:
gcloud
, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.
- (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
-
Yetkilendir'i tıklayın.
-
Çıkışınız aşağıdaki gibi görünecektir:
Çıkış:
- (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
Çıkış:
Örnek çıkış:
gcloud
ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'ya genel bakış rehberinde bulabilirsiniz.
1. görev: Örnek kodu alma
- Örnek API'yi ve komut dosyalarını almak için Cloud Shell'de aşağıdaki komutu girin:
- Örnek kodu içeren dizine geçiş yapın:
2. görev: Endpoints yapılandırmasını dağıtma
Endpoints'te REST API yayınlamak için API'yi açıklayan bir OpenAPI yapılandırma dosyası gereklidir. Laboratuvarın örnek API'si, openapi.yaml
adlı önceden yapılandırılmış bir OpenAPI dosyasıyla birlikte gelir.
Endpoints, API'leri ve hizmetleri oluşturmak ve yönetmek için Google Cloud'un altyapı hizmeti olan Google Service Management
'ı kullanır. API'leri Endpoints ile yönetmek için API'nin OpenAPI yapılandırmasını Service Management'a dağıtmanız gerekir.
Endpoints yapılandırmasını dağıtmak için:
-
endpoints-qwikstart
dizininde aşağıdakileri girin:
- Örnekte yer alan aşağıdaki komut dosyasını çalıştırın:
Cloud Endpoints, hizmeti belirlemek için OpenAPI yapılandırma dosyasındaki host
alanını kullanır. deploy_api.sh
komut dosyası, Cloud projenizin kimliğini host
alanında yapılandırılan adın parçası olarak ayarlar. (Kendi hizmetiniz için bir OpenAPI yapılandırma dosyası hazırladığınızda bunu manuel olarak yapmanız gerekir.)
Komut dosyası daha sonra şu komutu kullanarak OpenAPI yapılandırmasını Service Management'a dağıtır: gcloud endpoints services deploy openapi.yaml
Service Management hizmeti oluşturur ve yapılandırırken konsolda bazı bilgilerin çıkışını sağlar. openapi.yaml
yollarının API anahtarı gerektirmediğine ilişkin uyarıları rahatlıkla yoksayabilirsiniz. İşlem tamamlandığında, hizmet yapılandırma kimliğinin ve hizmet adının yer aldığı şöyle bir satır görürsünüz:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
3. görev: API arka ucunu dağıtma
Şu ana kadar OpenAPI yapılandırmasını Service Management'a dağıttınız ancak henüz API arka ucunu sunacak kodu dağıtmadınız. Laboratuvar örneğinde bulunan deploy_app.sh
komut dosyası, API arka ucunu barındırmak için esnek bir App Engine ortamı oluşturur ve daha sonra komut dosyası API'yi App Engine'e dağıtır.
- API arka ucunu dağıtmak için
endpoints-quickstart/scripts
dizininde olduğunuzdan emin olun. Ardından, aşağıdaki komut dosyasını çalıştırın:
Komut dosyası, gcloud app create --region="$REGION"
App Engine esnek arka ucunun oluşturulması birkaç dakika sürer.
ERROR: NOT_FOUND: Unable to retrieve P4SA: from GAIA
mesajını alırsanız deploy_app.sh
komut dosyasını tekrar çalıştırın.
App Engine oluşturulduktan sonra Cloud Shell'de aşağıdakiler gösterilir:
Komut dosyası, örnek API'yi App Engine'e dağıtmak için gcloud app deploy
komutunu çalıştırmak üzere çalışmaya devam eder.
Ardından, Cloud Shell'de aşağıdakine benzer bir satır görürsünüz:
API'nin App Engine'e dağıtılması birkaç dakika sürer. API, App Engine'e dağıtıldıktan sonra aşağıdakine benzer bir satır görürsünüz:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
4. görev: API'ye istek gönderme
- Örnek API'yi dağıttıktan sonra aşağıdaki komut dosyasını çalıştırarak API'ye istek gönderebilirsiniz:
Komut dosyası, API'ye istek göndermek için kullandığı curl
komutunu tekrarlar, ardından sonucu gösterir. Cloud Shell'de aşağıdakine benzer bir sonuç görürsünüz:
API; SEA veya JFK gibi geçerli bir IATA havaalanı koduna ayarlanmış bir sorgu parametresi (iataCode
) bekler.
- Test etmek için Cloud Shell'de şu örneği çalıştırın:
Cloud Endpoints'te API dağıttınız ve bu API'yi test ettiniz.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
5. görev: API etkinliğini izleme
Cloud Endpoints yoluyla dağıtılan API'ler sayesinde, hem kritik işlem metriklerini Cloud Console'da izleyebilir hem de Cloud Logging'den yararlanarak kullanıcılarınız ve kullanım hakkında bilgi edinebilirsiniz.
- Grafikleri ve günlükleri doldurmak için Cloud Shell'de şu trafik oluşturma komut dosyasını çalıştırın.
- Console'da, hizmetinizin işlem grafiklerine bakmak için Gezinme menüsü > Endpoints > Services (Hizmetler)'e gidin ve Airport Codes (Havaalanı Kodları) hizmetini tıklayın. İsteklerin grafiklere yansıtılması birkaç dakika sürebilir Verilerin görüntülenmesini beklerken şunu yapabilirsiniz:
-
İzinler yan paneli açık değilse Show Permissions Panel'i (İzinler Panelini Göster) tıklayın. İzinler paneli, API'nize kimlerin erişebileceğini ve bu kişilerin erişim düzeyini kontrol etmenizi sağlar.
-
Deployment history (Dağıtım geçmişi) sekmesini tıklayın. Bu sekme, dağıtım zamanı ve değişikliğin kim tarafından dağıtıldığı da dahil olmak üzere API dağıtımlarınızın geçmişini görüntüler.
-
Overview (Genel bakış) sekmesini tıklayın. Burada, trafiğin geldiğini göreceksiniz. Trafik oluşturma komut dosyası bir dakika boyunca çalıştıktan sonra, Total latency (Toplam gecikme) grafiğindeki üç satırı (50., 95. ve 99. yüzdelik dilimler) görmek üzere aşağı kaydırın. Bu veriler, yanıt sürelerinin tahmini değerini hızlıca belirler.
-
Endpoints grafiklerinin alt kısmında bulunan Yöntem'in altında GET/airportName için View logs (Günlükleri göster) bağlantısını tıklayın. Logs Viewer (Günlük Görüntüleyici) sayfası, API'nin istek günlüklerini görüntüler.
-
Komut dosyasını durdurmak için Cloud Shell'de Ctrl-C tuşlarına basın.
6. görev: API'ye kota ekleme
Cloud Endpoints, uygulamaların API'nize çağrı yapma hızını kontrol edebilmeniz için kotalar ayarlamanızı sağlar. Kotalar, API'nizi tek bir istemcinin aşırı kullanımından korumak için kullanılabilir.
- Kotası olan bir Endpoints yapılandırması dağıtın:
- Uygulamanızı, yeni Endpoints yapılandırmasını kullanacak şekilde yeniden dağıtın (Bu işlem birkaç dakika sürebilir):
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
- Console'da Gezinme menüsü > APIs & Services (API'ler ve Hizmetler) > Credentials'a (Kimlik bilgileri) gidin.
- Create credentials'ı (Kimlik bilgileri oluştur) tıklayın ve API key'i (API anahtarı) seçin. Ekranda yeni bir API anahtarı görüntülenir.
- Anahtarı panonuza kopyalamak için Copy to clipboard (Panoya kopyala) simgesini tıklayın.
- Cloud Shell'de aşağıdakileri yazın. YOUR-API-KEY kısmını az önce oluşturduğunuz API ile değiştirin:
- Oluşturduğunuz API anahtarı değişkeniyle, API'nize bir istek gönderin:
Konsolda şuna benzer bir çıkış görürsünüz:
- API'nin, saniye başına istek sayısı sınırı 5 olarak ayarlandı. API'ye trafik göndermek ve kota sınırını tetiklemek için aşağıdaki komutu çalıştırın:
-
Komut dosyasını 5-10 saniye boyunca çalıştırdıktan sonra, durdurmak için Cloud Shell'de Ctrl-C tuşlarına basın.
-
API'ye kimliği doğrulanmış başka bir istek gönderin:
Konsolda şuna benzer bir çıkış görürsünüz:
Farklı bir yanıt alırsanız generate_traffic_with_key.sh
komut dosyasını yeniden çalıştırmayı deneyin ve baştan başlayın.
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Tebrikler!
Tebrikler! API'nize başarıyla hız sınırlaması uyguladınız. Ayrıca farklı API yöntemlerinde çeşitli sınırlar ayarlayabilir, birden çok türde kota oluşturabilir ve hangi tüketicilerin hangi API'leri kullandığını takip edebilirsiniz.
Sonraki laboratuvarınıza katılın
Bu laboratuvar, Qwik Starts laboratuvar serisinin bir parçasıdır. Bu laboratuvarlar, Google Cloud'daki pek çok özelliği biraz olsun tanıtabilmek için tasarlamıştır. Katılmak istediğiniz bir sonraki laboratuvarı bulmak için laboratuvar kataloğuna “Qwik Starts” yazın.
Sonraki adımlar/Daha fazla bilgi
Kotalar hakkında daha fazla bilgi için aşağıdakilere bakın:
Google Cloud eğitimi ve sertifikası
...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.
Kılavuzun Son Güncellenme Tarihi: 25 Nisan 2024
Laboratuvarın Son Test Edilme Tarihi: 25 Nisan 2024
Telif Hakkı 2024 Google LLC Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.