arrow_back

Google Cloud Pub/Sub: Qwik Start - Komut Satırı

Join Sign in

Google Cloud Pub/Sub: Qwik Start - Komut Satırı

40 minutes Free

GSP095

Google Cloud Rehbersiz Laboratuvarları

Genel Bakış

Google Cloud Pub/Sub, uygulama ve hizmetler arasında etkinlik verilerinin alışverişi için kullanılan bir mesaj hizmetidir. Göndericiler ile alıcıları ayrıştırarak, birbirinden bağımsız şekilde yazılmış uygulamalar arasında güvenli ve yüksek düzeyde kullanılabilir bağlantı oluşturulmasına olanak tanır. Düşük gecikmeli/dayanıklı mesajlaşma seçeneği sunan Google Cloud Pub/Sub, geliştiriciler tarafından genellikle eşzamansız iş akışlarının uygulanması, etkinlik bildirimlerinin dağıtılması ve çeşitli işlem veya cihazlardan veri akışı için kullanılır.

Neler öğreneceksiniz?

Bu laboratuvarda şunları yapacaksınız:

  • Pub/Sub hakkındaki temel bilgileri edinme

  • Pub/Sub konularını oluşturma, silme ve listeleme

  • Pub/Sub aboneliklerini oluşturma, silme ve listeleme

  • Bir konu için mesaj yayınlama

  • Konu mesajlarının çıkışını ayrı ayrı almak için pull abonesi kullanma

  • Birden fazla mesajın çıkışını almak için işaretli pull abonesi kullanma

Ön koşullar

Bu laboratuvar giriş düzeyine uygundur. Laboratuvar katılımcılarının Pub/Sub konusunda çok az deneyimli veya deneyimsiz olduğu varsayılmıştır. Laboratuvarda bu Google Cloud hizmetinin ayarlanıp kullanılmasıyla ilgili temel bilgiler verilmektedir.

Bu laboratuvara katılmadan önce Pub/Sub için uzmanlık düzeyinizi göz önünde bulundurun. Pub/Sub konusundaki bilgilerinizi farklı bulut hizmetleri ve kullanım alanlarında uygulayabileceğiniz daha zorlayıcı laboratuvarların listesi aşağıda verilmiştir:

Hazır olduğunuzda sayfayı aşağı kaydırın ve laboratuvar ortamınızı ayarlamak için gereken adımları 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ıklattığı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 Qwiklabs uygulamalı laboratuvarı, laboratuvar etkinliklerini gerçek bir bulut ortamında (simülasyon veya demo ortamında değil) kendi kendinize yapmanıza olanak tanır. 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şim için kullanırsınız.

Gerekenler

Bu laboratuvarı tamamlamak için şunlar gerekir:

  • Standart bir internet tarayıcısına erişim (Chrome tarayıcı önerilir).
  • Laboratuvarı tamamlamak için zaman.

Not: Kendi Google Cloud hesabınız veya projeniz zaten varsa bu laboratuvarda hesabınızı ya da projenizi kullanmayın.

Not: Pixelbook kullanıyorsanız bu laboratuvarı çalıştırmak için gizli pencere açın.

Laboratuvarı başlatınca Google Cloud Shell konsoluna giriş yapıp komut satırı aracını çalıştırmanız gerekir.

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

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.

Cloud Console'da, sağ üstteki araç çubuğunda Cloud Shell'i Etkinleştir düğmesini tıklayın.

Cloud Shell simgesi

Devam'ı tıklayın.

cloudshell_continue.png

Birkaç saniye içinde ortam sağlanır ve bağlantı kurulur. Bağlandığınızda kimliğiniz zaten doğrulanmıştır. Proje ise PROJECT_ID'nize göre ayarlanmıştır. Örneğin:

Cloud Shell Terminal

gcloud, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekme ile tamamlamayı destekler.

Etkin hesap adını şu komutla listeleyebilirsiniz:

gcloud auth list

(Çıkış)

Credentialed accounts:
 - <hesabım>@<alanım>.com (active)

(Örnek çıkış)

Credentialed accounts:
 - google1623327_student@qwiklabs.net

Proje kimliğini şu komutla listeleyebilirsiniz:

gcloud config list project

(Çıkış)

[core]
project = <project_ID>

(Örnek çıkış)

[core]
project = qwiklabs-gcp-44776a13dea667a6

Pub/Sub ile ilgili temel bilgiler

Daha önce belirtildiği üzere Google Cloud Pub/Sub, eşzamansız olarak çalışan bir global mesaj hizmetidir. Pub/Sub'da şu üç terim sıklıkla kullanılır: konular, yayınlama ve abonelik.

  • Konu, ortak kullanılan bir ileti dizisi aracılığıyla uygulamaların birbirine bağlanmasını sağlayan paylaşımlı dizedir.

  • Yayıncılar, mesajları Cloud Pub/Sub konularına aktarır (veya bu konularda yayınlar).

  • Aboneler, bir konuya "abone" olarak abonelikten mesajları alabilir veya push abonelikleri için webhook'ları yapılandırabilir. Her abone, yapılandırılabilir bir zaman aralığında tüm mesajları onaylamak zorundadır.

Özetle; üreticiler konu için mesajlar yayınlar, tüketiciler ise konudan mesaj almak için ilgili konuya abone olur.

1. Görev: Pub/Sub konuları

Pub/Sub, Google Cloud Shell'de önceden yüklü olarak sunulur. Dolayısıyla bu hizmeti kullanmaya başlayabilmek için herhangi bir yükleme veya yapılandırma gerekmez.

  1. myTopic adlı bir konu oluşturmak için şu komutu çalıştırın:

gcloud pubsub topics create myTopic

Tamamlanan görevi test etme

Tamamladığınız görevi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Görevi başarıyla tamamladıysanız size bir değerlendirme puanı verilir.

Pub/Sub konusu oluşturun.
  1. İşlemi garantiye almak için birine Test1, diğerine Test2 adını vererek iki konu daha oluşturun:

gcloud pubsub topics create Test1 gcloud pubsub topics create Test2
  1. Oluşturduğunuz üç konuyu görmek için şu komutu çalıştırın:

gcloud pubsub topics list

Çıkış şöyle görünmelidir:

name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test2 --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test1
  1. Şimdi de temizleme işlemini gerçekleştirin. Aşağıdaki komutları çalıştırarak Test1 ve Test2'yi silin:

gcloud pubsub topics delete Test1 gcloud pubsub topics delete Test2
  1. Konuların silindiğini doğrulamak için gcloud pubsub topics list komutunu tekrar çalıştırın:

gcloud pubsub topics list

Çıkış şöyle olmalıdır:

--- name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic

2. Görev: Pub/Sub abonelikleri

Konu oluşturma, görüntüleme ve silmeyi öğrendiniz. Sıradaki görevinizde aboneliklerle ilgili pratik yapacaksınız.

  1. Şu komutu çalıştırarak myTopic konusu için mySubscription adında bir abonelik oluşturun:

gcloud pubsub subscriptions create --topic myTopic mySubscription

Tamamlanan görevi test etme

Tamamladığınız görevi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Görevi başarıyla tamamladıysanız size bir değerlendirme puanı verilir.

Pub/Sub Aboneliği oluşturma
  1. myTopic konusuna iki abonelik daha ekleyin. Test1 ve Test2 aboneliklerini oluşturmak için şu komutları çalıştırın:

gcloud pubsub subscriptions create --topic myTopic Test1 gcloud pubsub subscriptions create --topic myTopic Test2
  1. myTopic konusuna ait abonelikleri listelemek için şu komutu çalıştırın:

gcloud pubsub topics list-subscriptions myTopic

Çıkış şöyle görünmelidir:

--- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test2 --- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test1 --- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription

Öğrendiklerinizi test etme

Aşağıda, bu laboratuvarda ele alınan kavramlarla ilgili bilginizi pekiştirmeye yönelik çoktan seçmeli sorular verilmiştir. Bu soruları elinizden geldiğince yanıtlamaya çalışın.

  1. Şimdi Test1 ve Test2 aboneliklerini silin. Aşağıdaki komutları çalıştırın:

gcloud pubsub subscriptions delete Test1 gcloud pubsub subscriptions delete Test2
  1. Test1 ve Test2 aboneliklerinin silinip silinmediğini kontrol edin. list-subscriptions komutunu tekrar çalıştırın:

gcloud pubsub topics list-subscriptions myTopic

Çıkış şöyle olmalıdır:

--- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription

3. Görev: Pub/Sub'da tek bir mesaj yayınlama ve alma

Şimdi, bir Pub/Sub konusu için mesaj yayınlamayı öğreneceksiniz.

  1. Şu komutu çalıştırarak, daha önce oluşturduğunuz konu (myTopic) için "merhaba" mesajını yayınlayın:

gcloud pubsub topics publish myTopic --message "Merhaba"
  1. myTopic konusu için birkaç mesaj daha yayınlayın. Şu komutları çalıştırın (<ADINIZ> kısmına adınızı, <YİYECEK> kısmına ise sevdiğiniz bir yiyeceği yazın):

gcloud pubsub topics publish myTopic --message "Yayıncının adı: <ADINIZ>" gcloud pubsub topics publish myTopic --message "Yayıncı <YİYECEK> yemeyi seviyor" gcloud pubsub topics publish myTopic --message "Yayıncı Pub/Sub'ın muhteşem olduğunu düşünüyor"

Ardından, konunuzdan mesajları almak için pull komutunu kullanın. Pull komutu, aboneliğe dayalıdır. myTopic konusu için mySubscription aboneliğini daha önce ayarlamış olduğunuzdan, komut çalışacaktır.

  1. Yeni yayınladığınız mesajları Pub/Sub konusundan almak için şu komutu kullanın:

gcloud pubsub subscriptions pull mySubscription --auto-ack

Çıkış şöyle görünmelidir:

Şu başlıkların bulunduğu üç sütunlu tablo: Data, Message_ID, Attributes. Data sütununda şu veri yer alıyor: Yayıncı <YİYECEK> yemeyi seviyor.

Neden böyle oldu? Konunuz için 4 mesaj yayınladınız ancak yalnızca bir tanesinin çıkışı oldu.

Şimdi, pull komutunun geliştiricileri sık sık yanıltan bazı özelliklerine değinmenin tam zamanı.

  • Pull komutunun hiçbir işaret olmadan kullanılması yalnızca bir mesaj çıkışıyla sonuçlanır. İçinde daha fazla mesajın yer aldığı bir konuya abone olsanız da bu durum değişmez.

  • Aboneliğe dayalı olan belirli bir pull komutundan tek bir mesaj çıkışı olduktan sonra pull komutuyla bu mesaja tekrar erişilemez.

  1. Son komutu üç kez daha çalıştırarak ikinci maddede verilen bilgiyi anlayabilirsiniz. Bu işlem, daha önce yayınladığınız başka mesajların çıkışının alınmasıyla sonuçlanır.

  2. Şimdi komutu 4. kez çalıştırın. Şu çıkışı görürsünüz (döndürülecek başka çıkış kalmadığı için):

gcpstaging20394_student@cloudshell:~ (qwiklabs-gcp-3450558d2b043890)$ gcloud pubsub subscriptions pull mySubscription --auto-ack Listed 0 items.

Son bölümde, flag kullanarak birden fazla mesajı tek konudan almayı öğreneceksiniz.

4. Görev: Pub/Sub ile aboneliklerden tüm mesajları alma

Son örnekte konunuzdaki tüm mesajları aldığınıza göre myTopic konusu için birkaç mesaj daha oluşturabilirsiniz.

  1. Aşağıdaki komutları çalıştırın:

gcloud pubsub topics publish myTopic --message "Yayıncı Pub/Sub'ın işleyiş şeklini anlamaya başlıyor" gcloud pubsub topics publish myTopic --message "Yayıncı tüm mesajların alınıp alınmayacağını öğrenmek istiyor" gcloud pubsub topics publish myTopic --message "Yayıncının bunu öğrenmek için test uygulaması gerekiyor"
  1. Üç mesajın çıkışını tek bir istekle alabilmek için komutunuza bir flag (işaret) ekleyin.

Farkına varmamış olabilirsiniz ancak laboratuvarın başından bu yana bir işaret kullanıyorsunuz. Aldığınız mesajları düzgün kutucuklar içinde gösterecek şekilde biçimlendiren kısım, pull komutundaki --auto-ack işaretidir.

Alınabilecek mesaj sayısının üst sınırını belirleyen limit de bir diğer işarettir.

  1. Konuların oluşturulması için biraz bekleyin. Pull kodunu limit işaretiyle çalıştırın:

gcloud pubsub subscriptions pull mySubscription --auto-ack --limit=3

Çıkış tam olarak şöyle görünecektir:

Şu başlıkların bulunduğu üç sütunlu tablo: Data, Message_ID Attributes. Data sütununda üç satırlık veri bulunuyor.

Daha büyük bir mesaj grubunun çıkışını almak için Pub/Sub komutuna işaret eklemeyi öğrendiniz. Pub/Sub'da uzmanlaşma yolunda emin adımlarla ilerliyorsunuz.

Tebrikler!

Bu laboratuvarda; Pub/Sub konuları, abonelikler, pull komutu ve işaretler hakkında temel bilgileri edindiniz.

Görevinizi tamamlayın

Bu yönlendirmesiz öğrenim laboratuvarı, Temel: Altyapı görevinin 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, dilerseniz rozetin bağlantısını online özgeçmişinizde veya sosyal medya hesabınızda paylaşabilirsiniz. Bu göreve kaydolun ve tamamlama kredisini anında kazanın. Görevlerin tamamını Google Cloud Öğrenim Merkezi kataloğunda bulabilirsiniz.

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 kısaca tanıtmak için tasarlanmıştır. Katılabileceğiniz bir sonraki laboratuvarı bulmak için laboratuvar kataloğunda "Qwik Starts" araması yapın.

Sonraki adımlar/Daha fazla bilgi

Mobil Uygulamalar İçin Google Haritalar Web Hizmetleri Proxy'si ile bambaşka alanları keşfedebilirsiniz.

Google Cloud Eğitimi ve Sertifikasyon

...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: 8 Ağustos 2022

Laboratuvarın Son Test Edilme Tarihi: 9 Eylül 2019

Telif Hakkı 2020 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.