arrow_back

Cloud Functions: Qwik Start - Komut Satırı

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

Cloud Functions: Qwik Start - Komut Satırı

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

GSP080

Google Cloud Rehbersiz Laboratuvarları

Genel bakış

Cloud Functions işlevleri; HTTP istekleri, mesaj hizmetlerinden gelen mesajlar veya dosya yükleme gibi işlemlere tepki olarak çalışan kodlardır. Bulut etkinlikleri, bulut ortamınızda gerçekleşen olaylardır. Bu etkinlikler arasında veritabanındaki verilerde yapılan değişiklikler, depolama sistemine eklenen dosyalar veya oluşturulan yeni bir sanal makine örneği bulunabilir.

Cloud Functions işlevleri etkinliğe dayalı olduğu için yalnızca işlem yapıldığında çalışır. Bu nedenle hızlıca tamamlanması gereken veya sürekli çalışması gerekmeyen görevler için idealdir.

Örneğin, Cloud Functions işlevleriyle:

  • Cloud Storage'a yüklenecek görüntüler için otomatik olarak küçük resim oluşturabilirsiniz.
  • Cloud Pub/Sub'a gelen yeni mesajlar için kullanıcıların telefonuna bildirim gönderebilirsiniz.
  • Cloud Firestore veri tabanlarındaki verileri işleyip rapor oluşturabilirsiniz.

Kodunuzu Node.js'i destekleyen herhangi bir dilde yazdıktan sonra kolayca buluta dağıtabilirsiniz. Cloud Functions işleviniz dağıtıldığında etkinliklere tepki olarak otomatik çalışır.

Bu uygulamalı laboratuvarda, Google Cloud konsolunu kullanarak Cloud Functions işlevlerini nasıl oluşturacağınız, dağıtacağınız ve test edeceğiniz anlatılmaktadır.

Ayrıca, Google Cloud Shell komut satırını kullanarak bir bulut işlevini nasıl oluşturacağınız, dağıtacağınız ve test edeceğiniz gösterilmektedir.

Yapacaklarınız

  • Basit bir Cloud Functions işlevi oluşturma
  • İşlevi dağıtıp test etme
  • Günlükleri görüntüleme

Kurulum

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

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.

  1. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir Cloud Shell'i etkinleştir simgesi 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:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
gcloud auth list
  1. Yetkilendir'i tıklayın.

  2. Çıkışınız aşağıdaki gibi görünecektir:

Çıkış:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
gcloud config list project

Çıkış:

[core] project = <project_ID>

Örnek çıkış:

[core] project = qwiklabs-gcp-44776a13dea667a6 Not: gcloud ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'ya genel bakış rehberinde bulabilirsiniz.

1. görev: İşlev oluşturma

Öncelikle, helloWorld adında basit bir işlev oluşturacaksınız. Bu işlev, Cloud Functions günlüklerine bir mesaj yazar. Söz konusu işlev, bulut işlevi etkinlikleri tarafından tetiklenir ve işlevin tamamlandığını belirtmek için kullanılan bir geri çağırma işlevini kabul eder.

Bu laboratuvarda Cloud Functions işlevi etkinliği bir Cloud Pub/Sub konusuyla ilgilidir. Pub/Sub, mesaj gönderenlerin mesaj alıcılarından ayrıldığı bir mesaj hizmetidir. Bir mesaj gönderildiğinde veya yayınlandığında alıcının uyarılıp mesajı alması için abonelik gerekir. Pub/Sub'lar hakkında daha fazla bilgi için Cloud Pub/Sub kılavuzlarında Google Cloud Pub/Sub: Google Ölçekli Mesaj Hizmeti başlıklı makaleyi inceleyin.

Etkinlik parametresi ve geri çağırma parametresi hakkında daha fazla bilgi için Cloud Functions belgelerinde Arka Plan İşlevleri başlıklı makaleyi inceleyin.

Bir Cloud Functions işlevi oluşturmak için:

  1. Cloud Shell'de, varsayılan bölgeyi ayarlamak için aşağıdaki komutu çalıştırın:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. İşlev kodu için bir dizin oluşturun:
mkdir gcf_hello_world
  1. gcf_hello_world dizinine geçiş yapın:
cd gcf_hello_world
  1. Düzenlemek için index.js oluşturup açın:
nano index.js
  1. Aşağıdaki kısmı index.js dosyasına kopyalayın:
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data The event payload. * @param {object} context The event metadata. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. nano'dan çıkın (Ctrl+x) ve dosyayı kaydedin (Y).

2. görev: Cloud Storage paketi oluşturma

  • İşleviniz için yeni bir Cloud Storage paketi oluşturmak istiyorsanız şu komutu kullanın:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]
  • PROJECT_ID, bu laboratuvarın sol tarafında bulunan laboratuvar ayrıntıları panelindeki proje kimliğidir:

  • BUCKET_NAME, pakete verdiğiniz addır. Paket adının küresel olarak benzersiz olması için proje kimliğini kullanabilirsiniz:

Paketleri adlandırma hakkında daha fazla bilgi için Cloud Storage belgelerinde paket adlandırma kılavuzlarını inceleyin.

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.

Cloud Storage paketi oluşturun.

3. görev: İşlevinizi dağıtma

Yeni bir işlev dağıtırken --trigger-topic, --trigger-bucket veya --trigger-http değerini belirtmeniz gerekir. Mevcut bir işleve güncelleme dağıtırken işlev, aksi belirtilmedikçe mevcut tetikleyiciyi korur.

Bu laboratuvarda hello_world için --trigger-topic değerini ayarlayacaksınız.

  1. [BUCKET_NAME] yerine paketinizin adını yazarak işlevi hello_world adlı bir Pub/Sub konusuna dağıtın:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Not: OperationError hatasını alırsanız uyarıyı yoksayın ve komutu yeniden çalıştırın.

İstenirse yeni bir işlevin kimliği doğrulanmamış çağrılarına izin vermek için Y yazın.

  1. İşlevin durumunu doğrulayın:
gcloud functions describe helloWorld

ACTIVE durumu, işlevin dağıtıldığını gösterir.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Konuda yayınlanan her mesaj işlevin yürütülmesini tetikler ve mesaj içerikleri giriş verileri olarak iletilir.

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 bir değerlendirme puanı alırsınız.

İşlevi dağıtın.

4. görev: İşlevi test etme

İşlevi dağıtıp etkin olduğunu doğruladıktan sonra, işlevin etkinlik algıladığında bulut günlüğüne mesaj yazıp yazmadığını test edin.

  • İşlev için mesaj testi oluşturmak istiyorsanız aşağıdaki komutu girin:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

Bulut aracı, işlev için yürütme kimliğini döndürür. Bu işlem, günlüğe bir mesaj yazıldığı anlamına gelir.

Örnek çıkış:

executionId: 3zmhpf7l6j5b

Bu yürütme kimliğine sahip günlük mesajları olduğunu doğrulamak için günlükleri görüntüleyin.

5. görev: Günlükleri görüntüleme

  • Günlük geçmişindeki mesajlarınızı görmek için günlükleri kontrol edin:
gcloud functions logs read helloWorld

İşlev başarıyla yürütülürse günlükteki mesajlar şu şekilde görünür:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Not: Günlüklerin görünmesi yaklaşık 10 dakika sürer. Günlükleri görüntülemek için Günlük Kaydı > Günlük Gezgini'ne de gidebilirsiniz.

Uygulamanız dağıtılıp test edilir ve günlükleri görüntüleyebilirsiniz.

6. görev: Öğ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.

Tebrikler!

Görevinizi tamamlama

Bu yönlendirmesiz öğrenim laboratuvarı; Temel: Dağıtma ve Geliştirme, Temel: Altyapı ve Google Cloud Maliyetlerinizi Optimize Etme 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 hale 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 hemen bir tamamlama kredisi kazanın. Tüm mevcut görevleri görmek için Google Cloud Öğrenim Merkezi kataloğuna bakın.

Sonraki laboratuvarınıza katılın

Bu laboratuvar, Qwik Starts laboratuvar serisinin de bir parçasıdır. Bu laboratuvarlar, Google Cloud'daki pek çok özelliği biraz olsun tanıtabilmek için tasarlamış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

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: 10 Ağustos 2023

Laboratuvarın Son Test Edilme Tarihi: 10 Ağustos 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.