arrow_back

Google'da API'lere Giriş

Join Sign in
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Google'da API'lere Giriş

Lab 30 minutes universal_currency_alt 1 Credit show_chart Introductory
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP294

Google Cloud Rehbersiz Laboratuvarları

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).
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli pencerede açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Not: Kişisel bir Google Cloud hesabınız veya projeniz varsa bu laboratuvarda kullanmayın. Aksi takdirde hesabınızdan ek ücret alınabilir.

Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma

  1. 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 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
  2. Google Console'u Aç'ı tıklayın. Laboratuvar, kaynakları çalıştırır ve sonra Oturum aç 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.
  3. Gerekirse Laboratuvar Ayrıntıları panelinden Kullanıcı adı'nı kopyalayın ve Oturum aç iletişim kutusuna yapıştırın. Sonraki'ni tıklayın.

  4. Laboratuvar Ayrıntıları panelinden Şifre'yi kopyalayın ve Hoş geldiniz iletişim penceresine yapıştırın. Sonraki'ni tıklayın.

    Önemli: Sol paneldeki kimlik bilgilerini kullanmanız gerekir. Google Cloud Öğrenim Merkezi kimlik bilgilerinizi kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir.
  5. 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 Cloud Console bu sekmede açılır.

Not: Soldaki Gezinme menüsü'nü tıklayarak Google Cloud ürün ve hizmetlerinin listelendiği menüyü görüntüleyebilirsiniz. Gezinme menüsü simgesi

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ığı

  1. 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.

  1. "API ve Hizmet Arayın" arama çubuğuna Fitness API yazın ve ENTER tuşuna basın.
  2. 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ığındaki etkinleştirilmiş Fitness API

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.

  1. 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.

  1. API listesinden Fitness API'yi seçin:

API listesi

Not: Fitness API'yi ilk sayfada görmüyorsanız ikinci sayfada aramanız gerekebilir.

Bu sayfada kotaları görüntüleyebilir, kota isteyebilir, kaynak ve verilere erişimi kontrol edebilir, metrikleri görüntüleyebilirsiniz.

  1. Bu özelliklerin işleyiş şeklini görmek için Kotalar sekmesini seçin.

  2. İlgili API'nin günde ve dakikada kaç adet sorguya izin verdiğini burada görebilirsiniz.

kota1

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:

İstemci-sunucu modeli diyagramı

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:

"Key1" : "Value 1"

Aşağıdakiler de başka çift örnekleridir:

"Key2" : 64 "Key3" : True "Key4" : ["bu", "bir", "dizi", "örneği"]

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:

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }

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.

  1. Yeni bir sekmede jsonlint doğrulayıcısını açın.

  2. Şu kod blokunu doğrulayıcıya yapıştırın:

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }
  1. 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.

  2. Şimdi, aşağıdaki kod bloğunu doğrulayıcıya yapıştırın:

{ "Name": "Julie" "Hometown": "Los Angeles, CA", "Age": 28 }
  1. 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:

Bazı sonuçlar: Error: Parse error on line 2:

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:

Sonuçlar: Valid JSON

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.

  1. 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:

Google Cloud Storage JSON API

  1. Ş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 values.json
  1. 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:

{ "name": "<YOUR_BUCKET_NAME>", "location": "us", "storageClass": "multi_regional" }
  1. Bunu tamamladıktan sonra CTRL+XYENTER 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.

  1. OAuth 2.0 playground'u yeni bir sekmede açın. Bu, OAuth jetonlarını kolaylıkla oluşturmanızı sağlayan bir hizmettir.

  2. Aşağı kaydırın ve Cloud Storage API V1'i seçin.

  3. Ardından https://www.googleapis.com/auth/devstorage.full_control kapsamını seçin:

1. Adım: API&#39;ler sayfasını seçin ve yetkilendirin

  1. API'leri Yetkilendir yazan mavi kutuyu tıklayın. Bu işlem bir Google ile Oturum Açma sayfası açar.

  2. 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.

  1. 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:

2. Adım&#39;daki panel; &quot;Yetkilendirme kodu&quot;, &quot;Yenileme jetonu&quot;, &quot;Erişim jetonu&quot; alanlarını içerir

  1. 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

  1. Cloud Shell oturumunuza dönün. CLI isteminde ls yazın ve Enter tuşuna basın. Önceden oluşturduğunuz values.json dosyasını ve bir README-cloudshell.txt dosyasını görürsünüz:

Çıktı:

README-cloudshell.txt values.json
  1. 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:

export OAUTH2_TOKEN=<YOUR_TOKEN>
  1. 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:

export PROJECT_ID=<YOUR_PROJECT_ID>
  1. Şimdi bir Cloud Storage paketi oluşturmak için aşağıdaki komutu çalıştırın:

curl -X POST --data-binary @values.json \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://www.googleapis.com/storage/v1/b?project=$PROJECT_ID"
  1. Şuna benzer bir çıktı alırsınız:
{ "kind": "storage#bucket", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7", "id": "qwiklabs-gcp-02-5d551758b5a7", "name": "qwiklabs-gcp-02-5d551758b5a7", "projectNumber": "670840659006", "metageneration": "1", "location": "US", "storageClass": "MULTI_REGIONAL", "etag": "CAE=", "timeCreated": "2020-11-11T06:41:40.901Z", "updated": "2020-11-11T06:41:40.901Z", "iamConfiguration": { "bucketPolicyOnly": { "enabled": false }, "uniformBucketLevelAccess": { "enabled": false } }, "locationType": "multi-region" } Not: "Bu grup adının kullanımı kısıtlandı" veya "Maalesef bu ad kullanılamıyor" gibi bir hata mesajı aldıysanız evrensel grup adlandırma kuralıyla bir uyuşmazlık durumu vardır. 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.

Cloud Storage JSON/REST API ile paket oluşturma

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.

  1. Aşağıdaki resmi bilgisayarınıza kaydedin ve demo-image.png olarak adlandırın:

Köpek

  1. 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.

  2. Resim dosyasının yolunu almak için aşağıdaki komutu çalıştırın:

realpath demo-image.png

Şuna benzer bir çıktı alırsınız:

/home/gcpstaging25084_student/demo-image.png
  1. 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.

export OBJECT=<DEMO_IMAGE_PATH>
  1. 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.

export BUCKET_NAME=<YOUR_BUCKET>
  1. Şimdi demo resmi Cloud Storage paketinize yüklemek için aşağıdaki komutu çalıştırın:

curl -X POST --data-binary @$OBJECT \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: image/png" \ "https://www.googleapis.com/upload/storage/v1/b/$BUCKET_NAME/o?uploadType=media&name=demo-image"

Şuna benzer bir çıktı alırsınız:

{ "kind": "storage#object", "id": "qwiklabs-gcp-02-5d551758b5a7/demo-image/1605077118178936", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image", "mediaLink": "https://www.googleapis.com/download/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image?generation=1605077118178936&alt=media", "name": "demo-image", "bucket": "qwiklabs-gcp-02-5d551758b5a7", "generation": "1605077118178936", "metageneration": "1", "contentType": "image/png", "storageClass": "MULTI_REGIONAL", "size": "401951", "md5Hash": "LbpHpwhnApQKQx9IEXjTsQ==", "crc32c": "j5oPrg==", "etag": "CPis3Zvy+ewCEAE=", "timeCreated": "2020-11-11T06:45:18.178Z", "updated": "2020-11-11T06:45:18.178Z", "timeStorageClassUpdated": "2020-11-11T06:45:18.178Z" }
  1. Resmin paketinize eklendiğini görmek için gezinme menüsünü açın ve Cloud Storage > Paketler'i seçin.

  2. Daha sonra paketinizin adını tıklayın. demo-image dosyasının eklendiğini görürsünüz:

Vurgulanmış demo-image

  1. 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.

Cloud Storage JSON/REST API kullanarak dosya yükleme

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.