1. Başlamadan önce
Bu codelab'de, Google Cloud projesinin nasıl oluşturulacağı ve ardından bu projeden Google Cloud API'lerinin nasıl çağrılacağı gösterilir.
Ön koşullar
- Google Cloud Console'da gezinme yetkisi.
Neler öğreneceksiniz?
- Google Cloud projesi oluşturma
- Faturalandırma hesabı nasıl oluşturulur?
- Cloud Shell'i ayarlama.
- API nasıl etkinleştirilir?
- API anahtarıyla API'leri yetkilendirme.
- Hizmet hesabıyla API'leri yetkilendirme.
Gerekenler
- Gmail hesabı veya Google Workspace hesabı gibi bir Google Hesabı.
- Ücretsiz Deneme programına kaydolmak için kullanılacak bir Cloud Faturalandırma hesabına veya kredi kartına erişim
2. Hazırlanın
Bu bölümde Google Cloud projesi oluşturma, faturalandırma hesabı oluşturma ve Cloud Shell'i ayarlama konuları gösterilmektedir.
Google Cloud projesi ve faturalandırma hesabı oluşturun
- Cloud Console'da oturum açın ve proje seçin veya oluşturun.
Proje adı alanının altında gösterilen proje kimliğini unutmayın. Kimlik, tüm Google Cloud projelerinde kullanılan benzersiz bir addır (yukarıdaki ad zaten alınmıştır) ve bu codelab'in sonraki adımlarında PROJECT_ID
olarak adlandırılacaktır.
- Ardından, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirin.
Bu codelab'in maliyeti yüksek olmasa da, kaynakları kapatıp bu codelab'in ötesinde maliyetlerden kaçınmak için Temizleme bölümündeki talimatları uygulayın. Yeni Google Cloud kullanıcılarının 300 ABD doları değerindeki ücretsiz deneme sürümünden yararlanabileceğini unutmayın.
Cloud Shell'i kurma
Bu codelab'de, Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Cloud Shell, ihtiyacınız olan tüm geliştirme araçlarına sahip olan Debian tabanlı bir sanal makinedir. Ağ performansını ve kimlik doğrulamasını büyük ölçüde geliştiren 5 GB boyutunda kalıcı bir ana dizin sunar. Yani bu codelab için ihtiyacınız olan tek şey bir tarayıcıdır.
Cloud Shell'i Cloud Console'dan etkinleştirmek için:
- Cloud Shell'i etkinleştir'i tıklayın.
Ortamın hazırlanması ve bağlanması birkaç dakika sürebilir.
Cloud Shell'e bağlandıktan sonra kimliğinizin doğrulandığını ve projenin PROJECT_ID
olarak ayarlanmış olduğunu göreceksiniz.
- Kimlik bilgisi içeren hesapların listesini oluştur:
gcloud auth list
Aşağıdaki çıkışı göreceksiniz:
Credentialed accounts:
- <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
- Projelerinizin listesini görmek için bu komutu girin.
gcloud config list project
Aşağıdaki çıkışı göreceksiniz:
[core]
project = <PROJECT_ID>
Herhangi bir nedenle proje ayarlanmamışsa projeyi ayarlamak için bu komutu çalıştırın.
gcloud config set project <PROJECT_ID>
PROJECT_ID
, kurulum adımlarında kullandığınız kimliktir. Kartı Cloud Console kontrol panelinden de arayabilirsiniz:
Cloud Shell bazı ortam değişkenlerini de varsayılan olarak ayarlar. Bu, gelecekte komut çalıştırdığınızda yararlı olabilir.
- Proje kimliğinizi görmek için aşağıdaki komutu girin.
echo $GOOGLE_CLOUD_PROJECT
Aşağıdaki çıkışı göreceksiniz:
<PROJECT_ID>
- Son olarak, varsayılan alt bölgeyi ve proje yapılandırmasını ayarlayın.
gcloud config set compute/zone us-central1-f
Çeşitli farklı alt bölgeler seçebilirsiniz. Daha fazla bilgi için Bölgeler ve alt bölgeler bölümüne bakın.
3. Projeden API çağırma
Bu codelab'de, metindeki varlıkları (kişiler, yerler ve etkinlikler gibi) bulmak için örnek bir API'nin (Natural Language API) nasıl kullanılacağı ve bu metnin yaklaşımını (tercih edilirlik düzeyi) nasıl tahmin edeceğiniz gösterilmektedir. Öğreneceğiniz konular:
- Google Cloud API'lerini etkinleştirin.
- API anahtarları ve hizmet hesapları ile API için yetkilendirme alın.
curl
ve istemci kitaplıklarını kullanarak API'yi çağırın.
Bir API'yi etkinleştirin
- API'ler ve Hizmetler'i seçin.
- Ekranın üst kısmından + API'LERİ VE HİZMETLERİ ETKİNLEŞTİR'i seçin.
- Bu noktada, API'leri filtreleyip göz atabilir veya Arama kutusunu kullanarak doğrudan bir API'ye gidebilirsiniz.
Natural Language
ifadesini arayın ve Cloud Natural Language API'yi seçin.
- BU API'Yİ DENE'yi tıklayın.
BU API'Yİ DENE düğmesi görünmüyorsa listelenen Yöntemlerden birini tıklayarak bu yöntemi deneyebilirsiniz.
API Anahtarı Oluşturma
Natural Language API'ye istek göndermek için curl
kullandığınızdan, istek URL'nizi iletmek için bir API anahtarı oluşturmanız gerekir.
- Cloud Console'da gezinme menüsü > API'ler ve Hizmetler > Credentials (Kimlik Bilgisi).
- KİMLİK BİLGİLERİ OLUŞTUR'u tıklayın ve ardından API anahtarı'nı seçin:
- Oluşturulan API anahtarını kopyalayıp Kapat'ı tıklayın.
API'yi çağırmak için API anahtarını kullanma
- Cloud Shell komut satırında API anahtarınızı dışa aktarın.
export API_KEY=<YOUR_API_KEY>
<YOUR_API_KEY>
değerini, daha önce oluşturduğunuz anahtarla değiştirin.
- Cloud Shell Düzenleyici'de veya Vim ya da Emacs gibi bir Linux düzenleyicide API için istek oluşturun. Parametrelerin ayrıntılarını Method: documents.analyzeEntities bölümünde bulabilirsiniz. Çıkışı
request.json
adlı bir dosyaya kaydedin:
{
"document":{
"type":"PLAIN_TEXT",
"content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
},
"encodingType":"UTF8"
}
- İstek bilgileriyle birlikte API'yi çağırın.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
-s -X POST -H "Content-Type: application/json" --data-binary @request.json
- Komutu yeniden çalıştırıp çıkışı bir dosyaya yönlendirip sonucu inceleyin. JSON dosyası çıkışının ayrıntıları da Method: documents.analyzeEntities içinde.
request.json
dosyasında analiz edilecek metni değiştirmek içincontent
değerini istediğiniz metinle değiştirin.
4. Hizmet hesabıyla yetkilendirme
Hizmet hesapları, hem kimlik doğrulama hem de yetkilendirme sağladığı için genellikle API anahtarlarına tercih edilir. Hizmet hesaplarını, uygulamanız için e-posta adresleri olarak düşünebilirsiniz.
- API'ler ve Hizmetler menüsüne gidin.
- Create Credentials (Kimlik Bilgisi Oluştur) seçeneğini belirleyin ancak bu kez Service Account (Hizmet Hesabı) seçeneğini belirleyin.
- Amacını açıklayan bir Hizmet hesabı adı girin (ör. "
Natural Language Service Account
"). Sistem bir kimlik önerir. Açıklama da ekleyebilirsiniz. Hizmet hesapları hakkında daha fazla bilgi edindikçe hizmet hesabına projeler için erişim izni verir ve kullanıcılara hizmet hesabına erişim izni verirsiniz. Ancak şimdilik hizmet hesabını oluşturmak için Bitti'yi tıklamanız yeterlidir. - Kullanılacak hizmet hesabında bir anahtar çifti oluşturmak için simgesini tıklayarak hizmet hesabını düzenleyin.
Hizmet hesabınızın ayrıntıları gösterilir.
- Hizmet hesabının e-posta adresini kopyalayın ve Cloud Shell'e dönün.
- Cloud Shell'de hizmet hesabınız için bir anahtar çifti oluşturun ve bunu işaret eden bir ortam değişkeni ayarlayın:
gcloud iam service-accounts keys create ~/key.json \
--iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"
Google Cloud, kimlik bilgilerini bulmak için bu ortam değişkenini kullandığından bunların API çağrısına dahil edilmesi gerekmez.
- Artık API'yi şu komutu kullanarak çağırabilirsiniz:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'."
Sonuç öncekiyle aynı olmalıdır.
Birçok API'de bu ayrıntıların ayıklanabileceği kapsamlı istemci kitaplıkları bulunur. İstemci kitaplıkları hakkında daha fazla bilgi edinmek için Cloud İstemci Kitaplıkları'nı inceleyin. Ayrıca, hangi istemci kitaplıklarının kullanılabileceğini öğrenmek için kullandığınız API'lerle ilgili dokümanları da okuyabilirsiniz.
5. Temizleme
Projeler için kısıtlanmamış bir API anahtarının olması kötü bir uygulamadır. Birisi bu dosyaya erişim sağlarsa bu kişi, başka kimlik doğrulama gerekmeksizin cihazı kullanabilir.
Bu API anahtarını silmek için:
- Gezinme menüsü > API'ler ve Hizmetler > Kimlik bilgileri.
- API Keys (API Anahtarları) altında, silinecek anahtarı seçin ve ardından Delete'i (Sil) tıklayın.
- Benzer şekilde, Hizmet Hesabı Özel Anahtarınızın korumasızlığından endişelenmek yerine, Hizmet Hesapları bölümünde silinecek hizmet hesabını seçip Sil'i tıklayın.
6. Tebrikler
Tebrikler! Google Cloud projesi oluşturmayı ve proje içinden API çağırmayı öğrendiniz.