Checkpoints
Create a bucket with the Cloud Storage JSON/REST API
/ 50
Upload a file using the Cloud Storage JSON/REST API
/ 50
Google'da API'lere Giriş
- GSP294
- Genel Bakış
- Ön koşullar
- Kurulum ve şartlar
- 1. Görev: API nedir ve ne için kullanılır?
- 2. Görev: Cloud APIs
- 3. Görev: API kitaplığı
- 4. Görev: API'ler ve Hizmetler
- 5. Görev: API mimarisi
- 6. Görev: HTTP protokolü ve istek yöntemleri
- 7. Görev: Uç noktalar
- 8. Görev: RESTful API'ler
- 9. Görev: API veri biçimleri (JSON)
- 10. Görev: Cloud Console'da JSON dosyası oluşturma
- 11. Görev: Kimlik doğrulama ve yetkilendirme
- 12. Görev: Cloud Storage JSON/REST API kimliğini doğrulama ve yetkilendirme
- 13. Görev: Cloud Storage JSON/REST API ile paket oluşturma
- 14. Görev: Cloud Storage JSON/REST API kullanarak dosya yükleme
- Tebrikler!
GSP294
Genel Bakış
API'ler (Uygulama Programlama Arayüzü), geliştiricilerin bilgi işlem kaynaklarına ve verilere erişmesini sağlayan yazılım programlarıdır. Pek çok farklı sektördeki şirket, geliştiricilerin özel araçları, hizmetleri veya kitaplıkları kendi uygulamaları ve kod tabanıyla entegre edebilmesi için herkese açık API'ler sunar.
Bu laboratuvarda, API'lerin mimarisi ve temel işlevleri hakkında bilgi edineceksiniz. Google Cloud Shell'de Cloud Storage API yöntemleri yapılandırıp çalıştırarak, öğrendiklerinizi uygulamalı olarak pekiştireceksiniz. Bu laboratuvarı tamamladıktan sonra API iletişimi, mimarisi ve kimlik doğrulamasının temel ilkelerini anlamış olacaksınız. Bundan sonraki laboratuvar veya projelerde faydalanabileceğiniz uygulamalı API deneyimi de kazanacaksınız.
Neler öğreneceksiniz?
Bu laboratuvarda şunları öğreneceksiniz:
- Google API'leri
- API mimarisi
- HTTP protokolü ve yöntemleri
- Uç noktalar
- REST (Representational State Transfer - Temsili Durum Aktarımı) ve RESTful API'ler
- JSON (JavaScript Object Notation - JavaScript Nesne Gösterimi)
- API kimlik doğrulama hizmetleri
Ön koşullar
Bu laboratuvar giriş seviyesine uygundur. Yani API bilginizin veya Google API'lerini kullanma deneyiminizin çok az olduğu ya da hiç olmadığı varsayılır. Kabuk ortamlarına ve komut satırı arayüzü araçlarına aşina olmanız önerilir ancak zorunlu değildir. Cloud Console ve Cloud Storage'a aşina olmanız önerilir. Bu nedenle, bu laboratuvara başlamadan önce en azından şu laboratuvarları tamamlayın:
Hazır olduğunuzda aşağı kaydırın ve laboratuvar ortamınızı kurma adımlarını uygulayın.
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.
1. Görev: API nedir ve ne için kullanılır?
Yukarıda açıklandığı gibi, API'ler (Uygulama Programlama Arayüzü) geliştiricilerin bilgi işlem kaynaklarına ve verilere erişmesini sağlayan yazılım programlarıdır. İstekleri ve yanıtları net bir şekilde iletmek için belirli kurallara ve yöntemlere bağlı olarak çalışırlar.
Verilere ve bilgi işlem kaynaklarına erişme olanağı, bir geliştiricinin verimliliğini çok büyük oranda artırır. Her bir programı, yöntemi veya veri kümesini sıfırdan derlemektense API kullanmak çok daha kolaydır. API'ler özetleme ilkesi temelinde derlenir, yani bir API'yi kendi ortamınızda kullanmak için onun iç işleyişini veya tüm karmaşık ayrıntılarını anlamanıza gerek yoktur.
API'ler, geliştirici odaklı olarak tasarlandığından genellikle Grafik Kullanıcı Arayüzleri (GUI) barındırmaz. Ancak bu standardın istisnaları vardır. Google, çeşitli Google API'lerini etkileşimli bir şekilde keşfetmenize olanak tanıyan API Gezgini adlı bir araç sunmuştur. (Daha fazla bilgi edinmek istiyorsanız bu konudan sonra API Gezgini: Qwik Start laboratuvarına göz atabilirsiniz.)
2. Görev: Cloud APIs
Google, pek çok farklı alana ve sektöre uygulanabilecek API'ler sunar. API'ler çoğu zaman web geliştirme, makine öğrenimi, veri bilimi ve sistem yönetimi iş akışlarında kullanılır. Ancak bunlar, API'lerin kullanım alanlarından yalnızca birkaç tanesidir. Örneğin AnyAPI'yi incelerseniz kullanabileceğiniz ne kadar çok API olduğunu görmeye başlarsınız.
Qwiklabs bir laboratuvar örneği için yeni bir Google Cloud Projesi sağladığında, hemen laboratuvarın görevleri üzerinde çalışmaya başlayabilmeniz için projede çoğu API arka planda etkinleştirilir. Qwiklabs dışında kendi projelerinizi oluşturursanız bazı API'leri kendiniz etkinleştirmeniz gerekir.
Google Cloud kullanıcısı olarak yetkinlik kazandıkça iş akışınızda daha çok API kullanmaya başlayacaksınız. Deneyimli kullanıcılar yerel ortamlarında neredeyse her zaman Cloud APIs entegre eder, araçları ve hizmetleri çalıştırmak için nadiren Cloud Console kullanır. Farklı dillerdeki çeşitli Google API'lerini uygulamalı olarak deneyimlemeniz için çok sayıda laboratuvar hazırladık. Bunlardan ikisi:
Şimdi, hangi Google API'lerinin kullanılabileceğini görmek için API kitaplığı'nı inceleyelim.
3. Görev: API kitaplığı
- Gezinme menüsünü açıp API'ler ve Hizmetler > Kitaplık'ı seçin.
API kitaplığı 200'den fazla Google API'si için hızlı erişim, doküman ve yapılandırma seçeneği sunar. Console üzerinde barındırılsa da kitaplığın yalnızca Google Cloud merkezli olanlara değil, tüm Google API'lerine erişim sunduğunu unutmamakta fayda vardır. Bu, önemli bir durumu vurgular: API'ler tüm Google hizmetlerinde esastır ve Cloud APIs altında yer alanların tümü Google Cloud kategorisine girmez.
Şimdi API kitaplığında API etkinleştirmeyi uygulamalı olarak görelim. Bir fitness sitesinin mobil uygulama geliştiricisi olduğunuzu ve uygulamanızı derlemek için Google Fitness API'yi kullanmak istediğinizi düşünün.
- "API ve Hizmet Arayın" arama çubuğuna Fitness API yazın ve ENTER tuşuna basın.
- Sonuç listesinde Fitness API'yi tıklayın. Ardından Etkinleştir'i tıklayın.
API kitaplığındayken tarayıcı pencerenizde geri düğmesini tıklayarak Fitness API'ye dönerseniz API'nin etkinleştirildiğini görürsünüz:
API kitaplığında; eğitici içeriklere ve belgelere yönlendiren bağlantıların yanı sıra hizmet şartları ve API Gezgini'ndeki etkileşimli yöntemler yer alır. Metrik ve kullanım bilgilerini görmek için API'ler ve Hizmetler kontrol panelini kullanabilirsiniz.
4. Görev: API'ler ve Hizmetler
Cloud Console'un API'ler ve Hizmetler bölümünde Fitness API'yi inceleyin.
- Gezinme menüsünü açıp API'ler ve Hizmetler > Etkin API'ler ve Hizmetler'i seçin.
API'ler ve Hizmetler, projenizde belirli API'lerin kullanımıyla ilgili ayrıntıları (trafik seviyeleri, hata oranları, hatta gecikmeler dahil) göstererek Google hizmetlerini kullanan uygulamalardaki sorunları hızla değerlendirmenize yardımcı olur.
- API listesinden Fitness API'yi seçin:
Bu sayfada kotaları görüntüleyebilir, kota isteyebilir, kaynak ve verilere erişimi kontrol edebilir, metrikleri görüntüleyebilirsiniz.
-
Bu özelliklerin işleyiş şeklini görmek için Kotalar sekmesini seçin.
-
İlgili API'nin günde ve dakikada kaç adet sorguya izin verdiğini burada görebilirsiniz.
Cloud API olmayan bir API'nin temel hazırlığını yapma konusunda deneyim kazandığınıza göre, uygulamalı eğitimin devamında Cloud Storage API'yi işleyeceğiz. Şimdi, API'lerin mimarisi ve temel işlevleri hakkında bilgi edineceksiniz.
Öğrendiklerinizi test etme
Şimdiye kadar değinilen kavramları pekiştirmek için aşağıdaki çoktan seçmeli soruları yanıtlayın.
5. Görev: API mimarisi
API'ler, programların birbiriyle iletişim kurmasını sağlayan yöntemlerdir. Etkin bir şekilde iletişim kurmak için programların, veri aktarımını ve yorumlanmasını yöneten net bir protokole bağlı kalması gerekir.
İstemci-sunucu modeli
İnternet, API'lerin programlar arasında istek ve yanıt iletmek için kullandığı standart iletişim kanalıdır. İstemci-sunucu modeli, web tabanlı API'lerin bilgi alışverişi için kullandığı temel mimaridir.
İstemci, bilgi işlem kaynakları veya veriler için istek yapan bir bilgi işlem cihazıdır (akıllı telefon, dizüstü bilgisayar vb. gibi). İstemcinin isteği, üzerinde anlaşılan protokole uygun olarak biçimlendirilmiş olmalıdır.
Sunucu, verilerin ve/veya bilgi işlem kaynaklarının depolandığı yerdir. Sunucunun işi, istemcinin isteğini yorumlamak ve yerine getirmektir.
Aşağıda, istemci-sunucu modelinin görsel temsili verilmiştir:
6. Görev: HTTP protokolü ve istek yöntemleri
İletişim kanalı olarak web'i kullandığından çoğu API, istemciler ve sunucular arasında internet üzerinden yapılan veri alışverişi için kurallar ve yöntemler belirten HTTP protokolüne bağlıdır. HTTP protokolü yalnızca API'ler tarafından kullanılmaz, internet üzerinden veri gönderilen ve alınan web iletişimi standardıdır.
HTTP protokolünden yararlanan API'ler, istemci isteklerini sunuculara iletmek için HTTP istek yöntemlerini ("HTTP fiilleri" olarak da bilinir) kullanır. En yaygın olarak kullanılan HTTP yöntemleri GET, POST, PUT ve DELETE'tir.
- GET istek yöntemi, istemci tarafından sunucudan veri getirmek için kullanılır. İstenen kaynak sunucuda bulunursa istemciye geri gönderilir.
- PUT yöntemi, mevcut verileri değiştirir veya veri yoksa veri oluşturur. PUT yöntemini birden çok kez kullanmak herhangi bir etki göstermez, sunucuda yalnızca bir veri kümesi kopyası olur.
- POST yöntemi en çok yeni kaynak oluşturmak için kullanılır. POST yöntemi birden çok kez kullanıldığında, sunucuda birden fazla yere veri eklenir. Kaynakları güncellemek için PUT, yeni kaynak oluşturmak için POST yönteminin kullanılması önerilir.
- DELETE yöntemi, sunucuda istemci tarafından belirtilen verileri veya kaynakları kaldırır.
Kendi benzersiz amaçları ve uzmanlıkları olan yüzlerce API olsa da aslında hepsinin istemci-sunucu iletişimi için aynı protokolü ve temel yöntemleri kullandığını unutmamak gerekir.
Öğrendiklerinizi test etme
Şimdiye kadar değinilen kavramları pekiştirmek için aşağıdaki çoktan seçmeli soruları yanıtlayın.
7. Görev: Uç noktalar
API'ler sunucuda barındırılan verilerle veya bilgi işlem hizmetleriyle etkileşime geçmek için HTTP yöntemlerini kullanır. Belirli kaynaklara tutarlı olarak erişme yolu yoksa bu yöntemler işe yaramaz. API'ler, istemcilerin kaynaklara karmaşıklık veya düzensizlik olmadan erişebilmesi için uç nokta adı verilen iletişim kanallarını kullanır.
Uç noktalar, sunucularda barındırılan veri veya bilgi işlem kaynağı erişim noktalarıdır ve HTTP URI'si biçimindedirler. Uç noktalar API'lerin temel URL'sine (ör. http://example.com
) eklenerek belirli bir kaynağa veya kaynak kapsayıcısına giden bir yol oluşturur. Bazı uç nokta örnekleri şunlardır:
http://example.com/depokonumlari
http://example.com/hesaplar
http://example.com/calisanlar
Şunlar da geçerli uç noktalardır:
http://example.com/depokonumları/istanbul
http://example.com/depokonumları/ankara
http://example.com/depokonumları/izmir
API'lerin isteklerini tamamlamak için gereken değişkenleri geçirmek amacıyla uç noktalara sorgu dizeleri (ör. http://example.com/ucnokta/?id=1
) ekleyebilirsiniz. Uç noktalar, fiillerin (HTTP yöntemlerinin) davranışını belirleyen "isimler" olarak değerlendirilir ve API'ler istekleri karşılamak için bu çerçeveyi kullanır.
Daha ayrıntılı anlatmak gerekirse istemciler, belirli verileri almak veya sunucuda belirli bir eylemi gerçekleştirmek için bir HTTP yöntemi (fiil) ve uç noktadan (isim) oluşan istekler gönderir. Sunucu, belirtilen yönteme ve uç noktaya göre belirli bir işlemi çevirip uygulayarak istemcinin isteğini karşılayan taraftır. Bu ayrıntıya dikkat etmek gerekir.
Tüm ağır işlerin arka uçta gerçekleştiği düşünülürse, HTTP yöntemlerinden ve uç noktalardan yararlanan bir API'nin sunucuda yaşadığı ve istemci istekleri için uygulayıcı rolünü üstlendiği söylenebilir. Bu model, sonraki bölümde daha ayrıntılı olarak incelenecek RESTful API'leri genel olarak tanımlamaktadır. API'ler için uç nokta derleme uygulaması yapmak istiyorsanız Cloud Endpoints: Qwik Start laboratuvarına katılın.
8. Görev: RESTful API'ler
HTTP protokolünden, istek yöntemlerinden ve uç noktalardan yararlanan API'ler, RESTful API olarak adlandırılır. REST (Representational State Transfer - Temsili Durum Aktarımı) web tabanlı iletişim standartlarını tanımlayan bir mimari stildir. Google'ın RESTful sistem açıklaması şu şekildedir:
...kaynaklar bir veri deposunda saklanır. Bir istemci, sunucunun belirli bir işlemi (ör. kaynak oluşturma, alma, güncelleme veya silme) gerçekleştirmesi için istek gönderir. Sunucu, işlemi gerçekleştirir ve yanıt gönderir. Bu yanıt genelde belirtilen kaynağın bir temsili biçimindedir.
Kaynak odaklı olan bu tasarım, REST'in temel ilkesidir. RESTful API'ler şu şekilde modellenir:
...bağımsız bir şekilde ele alınabilen kaynak koleksiyonları... Kaynaklar ve yöntemler, API isimleri ve fiilleri olarak bilinir. HTTP protokolüyle, kaynak adları doğal olarak URL'lerle eşleşir ve yöntemler doğal olarak HTTP yöntemleriyle eşleşir...
Önceki bölümlerde bu yapı taşlarını incelediğiniz için bu terimler size tanıdık geliyor olmalı. REST, API'ler için en yaygın olarak kullanılan çerçevedir. 2010'da herkese açık ağ API'lerinin yaklaşık %74'ü HTTP REST API'leriydi.
RESTful API'ler isteklerinde sorgu dizeleri dışında şu alanları da kullanabilir:
- Başlık: HTTP isteğinin kendisini ayrıntılandıran parametreler.
- Gövde: İstemcinin sunucuya göndermek istediği veriler.
Gövde, JSON veya XML veri biçimlendirme diliyle yazılır.
9. Görev: API veri biçimleri (JSON)
RESTful API'ler, HTTP istek yönteminin gövdesinde taşınan verilerin dosya biçimi olarak XML veya JSON (JavaScript Object Notation - JavaScript Nesne Gösterimi) kullanır.
JSON, daha hafif olduğu, kolay okunduğu ve hızlı ayrıştırıldığı için RESTful API'lerde XML'den daha çok kullanılmaktadır. Sonraki bölümde, JSON söz diziminin ve yapısının kısa bir tanıtımını göreceksiniz. Daha kapsamlı referans için W3C'nin JSON söz dizimi dokümanlarına mutlaka göz atın.
JSON aşağıdaki veri türlerini destekler:
- Sayılar: Her tür sayı desteklenir, tam sayılar ve kayan nokta değerleri arasında ayrım yoktur.
- Dizeler: Tırnak işareti arasındaki metin.
- Boole Değerleri: Doğru veya Yanlış değerleri.
- Diziler: Benzerliğe göre gruplanan öğeler listesi.
- Null: "Boş" değer.
JSON verileri anahtar/değer çiftlerinden oluşur. Bu çiftler, veri parçalarına (değer) referans veren bir benzersiz tanımlayıcıdan (anahtar) oluşan bağlı veri parçalarıdır. Anahtar dize türünde olmalıdır, değer ise yukarıda listelenen veri türlerinden herhangi biri olabilir.
Aşağıda basit bir JSON anahtar/değer çiftine örnek verilmiştir:
Aşağıdakiler de başka çift örnekleridir:
JSON nesneleri, anahtar/değer çiftleri olarak düzenlenen verileri gruplamak için { } şeklindeki küme ayraçlarını kullanır. Aşağıda, üç adet anahtar/değer çifti barındıran bir nesne örneği verilmiştir:
Bir nesnede depolanan anahtar/değer çiftleri virgülle ayrılır.
JSON doğrulaması
JSON dosyaları, sınırsız sayıda anahtar/değer çifti ve/veya nesne barındırabilir. Profesyonel olarak yapılan geliştirme işlerinde yüzlerce, hatta binlerce satır uzunluğunda dosyalar görmek mümkündür. Geliştirici olarak, biçimlendirmede veya söz diziminde yapılan küçücük bir hatanın bütün kod tabanınızı bozmaya yeteceğini bilirsiniz.
jsonlint veya birincil tarayıcınız olarak Chrome kullanıyorsanız JSONView uzantısı gibi JSON doğrulayıcılar, JSON kodunuzdaki söz dizimi ve biçimlendirme sorunlarını hızla belirleyip çözüm yolları gösterir.
JSON doğrulama konusunda pratik yapın.
-
Yeni bir sekmede jsonlint doğrulayıcısını açın.
-
Şu kod blokunu doğrulayıcıya yapıştırın:
-
Ardından Validate JSON (JSON'ı Doğrula) ifadesini tıklayın. Sonuçlar bölümünde
Valid JSON
(Geçerli JSON) yazan yeşil bir mesaj alırsınız. -
Şimdi, aşağıdaki kod bloğunu doğrulayıcıya yapıştırın:
- Validate JSON (JSON'ı Doğrula) ifadesini tıklayın.
Bir virgülün eksik olduğunu ve girintinin doğru yapılmadığını görürsünüz. Girinti düzeltilir ve doğrulayıcı, hataların nerede olduğunu vurgular:
Doğrulayıcı, beklendiği gibi ikinci satırdan sonra bir tanımlayıcının (virgül) eksik olduğunu belirledi. İkinci satırdan sonra bir virgül ekler ve Validate JSON (JSON'ı Doğrula) ifadesini tıklarsanız şu çıkışı alırsınız:
Laboratuvarlarda API'ler ve JSON kodlarıyla çalışırken bunun gibi bir JSON doğrulayıcıdan yararlanmak, söz dizimi hatalarını ayıklarken size zaman kazandırıp bu sorunları daha kolay çözmenizi sağlayabilir.
Öğrendiklerinizi test etme
Şimdiye kadar değinilen kavramları pekiştirmek için aşağıdaki çoktan seçmeli soruları yanıtlayın.
10. Görev: Cloud Console'da JSON dosyası oluşturma
Paket oluşturmak ve içerik yüklemek için Cloud Shell'de Cloud Storage REST/JSON API çağrıları yaparak öğrendiklerinizi uygulayacaksınız.
- Cloud Storage API'nin etkinleştirildiğinden emin olmak için yeni bir sekmede Google Cloud Storage JSON API'yi açın. Şu ekranı görmeniz gerekir:
-
Şimdi bir Cloud Shell oturumu açın.
values.json
adlı bir dosya oluşturup düzenlemek için şu komutu çalıştırın:
-
nano
metin düzenleyicide,<YOUR_BUCKET_NAME>
kısmını benzersiz bir paket adıyla değiştirerek aşağıdakini kopyalayıp yapıştırın:
- Bunu tamamladıktan sonra CTRL+X → Y → ENTER tuşlarına basarak
nano
metin düzenleyiciden çıkın.
Böylece şu üç anahtar/değer çiftine sahip nesneyi barındıran bir JSON dosyası oluşturdunuz: name
, location
ve storageClass
. Bunlar, gsutil
komut satırı aracıyla veya konsolda paket oluştururken gereken değerlerdir.
Cloud Storage REST/JSON API ile paket oluşturabilmek için öncelikle kimlik doğrulama ve yetkilendirme konusunda doğru politikaları uygulamanız gerekir.
11. Görev: Kimlik doğrulama ve yetkilendirme
İşlenecek son konu, API kimlik doğrulama ve yetkilendirme düzenidir.
- Kimlik doğrulama, istemcinin kimliğini belirleme işlemidir.
- Yetkilendirme, kimliği doğrulanan istemcinin bir kaynak kümesi için hangi izinlere sahip olduğunu belirleme işlemidir.
Kimlik doğrulama kim olduğunuzu, yetkilendirme ise ne yapabileceğinizi belirler.
Google API'lerinin kullandığı üç tür kimlik doğrulama/yetkilendirme hizmeti vardır. Bunlar "API Anahtarları", "Hizmet hesapları" ve "OAuth"tur. API'ler, istenen kaynaklara ve kendilerine nereden çağrı yapıldığına bağlı olarak bu kimlik doğrulama hizmetlerinden birini kullanır.
API anahtarları
API anahtarları, genellikle şifrelenmiş bir dize formunda gelen gizli jetonlardır. API anahtarları hızla oluşturulup kullanılabilir. Herkese açık verileri veya yöntemleri kullanan ve geliştiricilerin hızla çalışmaya başlamasını amaçlayan API'lerde kullanıcıların kimliğini doğrulamak için genellikle API anahtarları kullanılır.
Google Cloud terimleriyle konuşmak gerekirse API anahtarları, API'ye çağrı yapan projeyi belirler. API anahtarları, çağrı yapan projeyi belirleyerek kullanım bilgilerinin projeyle ilişkilendirilmesini sağlar; erişim izni olmayan veya API tarafından etkinleştirilmemiş olan projelerin gönderdiği çağrıları reddedebilir.
OAuth
OAuth jetonları biçim olarak API anahtarlarına benzerdir ancak daha güvenlidirler ve kullanıcı hesaplarına veya kimliklerine bağlanabilirler. Bu jetonlar genellikle API'ler, bir geliştiriciye kullanıcı verilerine erişme olanağı verdiğinde kullanılır.
API anahtarları geliştiricilere bir API'nin tüm işlevleri için erişim verirken OAuth istemci kimlikleri tamamen kapsam temellidir, farklı kimliklere farklı ayrıcalıklar verilir.
Hizmet Hesapları
Hizmet hesabı, tek bir son kullanıcıya değil, uygulamanıza veya bir sanal makineye (VM) ait olan özel bir Google hesabı türüdür. Uygulamanız Google API'lerine çağrı yapmak için hizmet hesabı kimliğini üstlenir; yani kullanıcılar bu işleme doğrudan dahil değildir.
Hizmet hesaplarını kullanmak için hesabın özel anahtarını uygulamanıza sağlayabilir veya uygulamanızı Cloud Functions, Google App Engine, Compute Engine ya da Google Kubernetes Engine üzerinde çalıştırırken yararlanabileceğiniz yerleşik hizmet hesaplarını kullanabilirsiniz.
Özel olarak hizmet hesaplarına ve rollere odaklanılan bir laboratuvar için Hizmet Hesapları ve Roller: Temel Bilgiler'e göz atın.
12. Görev: Cloud Storage JSON/REST API kimliğini doğrulama ve yetkilendirme
Cloud Storage, kullanıcı verilerini barındıran ve bu verilere erişim sağlayan bir platformdur. Bu nedenle, Cloud Storage hizmetlerini kullanmadan önce bir OAuth jetonu oluşturmanız gerekir.
-
OAuth 2.0 playground'u yeni bir sekmede açın. Bu, OAuth jetonlarını kolaylıkla oluşturmanızı sağlayan bir hizmettir.
-
Aşağı kaydırın ve Cloud Storage API V1'i seçin.
-
Ardından https://www.googleapis.com/auth/devstorage.full_control kapsamını seçin:
-
API'leri Yetkilendir yazan mavi kutuyu tıklayın. Bu işlem bir Google ile Oturum Açma sayfası açar.
-
Qwiklabs kullanıcı adınızı seçin ve daha sonra izin istendiğinde Devam'ı tıklayın.
Artık 2. Adım'da bir yetkilendirme kodu oluşturulmuş olur.
- Jetonlar için yetkilendirme kodu değiş tokuşu yap seçeneğini tıklayın 3. Adım'a götürülürseniz 2. Adım panelini tıklayın. Tıkladığınızda şuna benzeyen bir sayfa açılır:
-
Erişim jetonunu kopyalayın. Bu jeton aşağıdaki adımda kullanılacaktır.
13. Görev: Cloud Storage JSON/REST API ile paket oluşturma
- Cloud Shell oturumunuza dönün. CLI isteminde
ls
yazın ve Enter tuşuna basın. Önceden oluşturduğunuzvalues.json
dosyasını ve birREADME-cloudshell.txt
dosyasını görürsünüz:
Çıktı:
-
OAuth2 jetonunuzu ortam değişkeni olarak ayarlamak için
<YOUR_TOKEN>
kısmını oluşturduğunuz erişim jetonuyla değiştirerek aşağıdaki komutu çalıştırın:
-
Proje kimliğinizi ortam değişkeni olarak ayarlamak için
<YOUR_PROJECT_ID>
kısmını Qwiklabs proje kimliğinizle değiştirerek aşağıdaki komutu çalıştırın:
-
Şimdi bir Cloud Storage paketi oluşturmak için aşağıdaki komutu çalıştırın:
- Şuna benzer bir çıktı alırsınız:
values.json
dosyasını düzenleyin ve paket adını değiştirin.
Bu istek, şimdiye kadar öğrendiğiniz her şeyin özetidir. curl CLI aracını kullanarak bir HTTP POST yöntemi isteği yaptınız. values.json
dosyasını istek içeriğine ilettiniz. OAuth jetonunu ve JSON spesifikasyonunu istek başlıkları olarak ilettiniz. Bu istek, Proje Kimliğiniz olarak ayarlı bir sorgu dizesi parametresini barındıran Cloud Storage uç noktasına yönlendirildi.
Yeni oluşturulan Cloud Storage paketinizi görüntüleme
-
Yeni oluşturulan paketinizi görüntülemek için Gezinme menüsünden Cloud Storage > Paketler'i seçin.
Tamamlanan görevi test etme
Tamamladığınız görevi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Cloud Storage JSON/REST API ile başarılı bir şekilde paket oluşturduysanız bir değerlendirme puanı görürsünüz.
14. Görev: Cloud Storage JSON/REST API kullanarak dosya yükleme
Paketlere dosya yüklemek için Cloud Storage JSON/REST API'yi kullanabilirsiniz.
- Aşağıdaki resmi bilgisayarınıza kaydedin ve demo-image.png olarak adlandırın:
-
Cloud Shell oturumunuzda, sağ üst köşedeki üç nokta menü simgesine tıklayın. Yükle > Dosya Seçin'i tıklayın.
demo-image.png
dosyasını seçip yükleyin. Bu işlem, resmi dizininize ekler. -
Resim dosyasının yolunu almak için aşağıdaki komutu çalıştırın:
Şuna benzer bir çıktı alırsınız:
-
Aşağıdaki komutta
<DEMO_IMAGE_PATH>
kısmını önceki komutun çıkışıyla değiştirip bu komutu çalıştırarak dosya yolunu ortam değişkeni olarak ayarlayın.
-
Aşağıdaki komutta
<YOUR_BUCKET>
kısmını paketinizin adıyla değiştirip bu komutu çalıştırarak paket adınızı ortam değişkeni olarak ayarlayın.
-
Şimdi demo resmi Cloud Storage paketinize yüklemek için aşağıdaki komutu çalıştırın:
Şuna benzer bir çıktı alırsınız:
-
Resmin paketinize eklendiğini görmek için gezinme menüsünü açın ve Cloud Storage > Paketler'i seçin.
-
Daha sonra paketinizin adını tıklayın.
demo-image
dosyasının eklendiğini görürsünüz:
-
Resmi tıkladığınızda Nesne ayrıntıları sayfası açılır.
Tamamlanan görevi test etme
Tamamladığınız görevi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Cloud Storage JSON/REST API kullanarak başarılı bir şekilde dosya yüklediyseniz bir değerlendirme puanı görürsünüz.
Tebrikler!
Bu laboratuvarda API'lerle ilgili güçlü bir kavrayış geliştirdiniz ve Cloud Storage JSON/REST API'yi uygulamalı olarak deneyimlediniz. Cloud APIs, API mimarisi, HTTP protokolü ve yöntemleri, uç noktalar, RESTful API'ler, JSON ve API kimlik doğrulama uygulamaları hakkında bilgi edindiniz. Artık Qwiklabs'de daha fazla API laboratuvarına katılmaya hazırsınız.
Görevinizi tamamlama
Bu yönlendirmesiz öğrenim laboratuvarı Ok Google: Google Asistan ile Etkileşimli Uygulamalar Derleme, Makine Öğrenimi API'leri, Workspace Entegrasyonları, C# ile Veri ve Makine Öğrenimi Uygulamaları Geliştirme, API'leri Keşfetme ve Apigee X ile API'leri Geliştirme ve Güvende Tutma görevlerinin bir parçasıdır. Görevler, bir öğrenme rotasını oluşturan birbiriyle bağlantılı laboratuvar dizilerini ifade eder. Bir görevi tamamladığınızda başarınızın ödülü olarak rozet kazanırsınız. Rozetlerinizi herkese açık hâle getirebilir ve rozetin bağlantısını online özgeçmişinizde veya sosyal medya hesabınızda paylaşabilirsiniz. Bu laboratuvarı içeren herhangi bir göreve kaydolun ve tamamlama kredisini anında kazanın. Görevlerin tamamını Google Cloud Öğrenim Merkezi kataloğunda bulabilirsiniz.
Sonraki adımlar / Daha fazla bilgi
Daha fazla API deneyimi edinmek için aşağıdaki laboratuvarlara mutlaka göz atı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: 13 Ocak 2023
Laboratuvarın Son Test Edilme Tarihi: 13 Ocak 2023
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.