arrow_back

Cloud Run İşlevleri: Qwik Start - Komut Satırı

Sign in Join
Get access to 700+ labs and courses

Cloud Run İşlevleri: Qwik Start - Komut Satırı

Lab 30 minutes universal_currency_alt 1 Credit show_chart Introductory
info This lab may incorporate AI tools to support your learning.
Get access to 700+ labs and courses

GSP080

Google Cloud yönlendirmesiz öğrenim laboratuvarı logosu

Genel Bakış

Cloud Run işlevleri; HTTP istekleri, mesaj hizmetlerinden gelen mesajlar veya dosya yükleme gibi işlemlere yanıt verecek şekilde ç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 Run 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 Run işlevleriyle:

  • Cloud Storage'a yüklenecek görüntüler için otomatik olarak küçük resim oluşturabilirsiniz.
  • 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 Run işleviniz dağıtıldığında etkinliklere tepki olarak otomatik çalışır.

Bu uygulamalı laboratuvarda, Google Cloud konsolunu kullanarak Cloud Run 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 Cloud Run işlevlerini nasıl oluşturacağınız, dağıtacağınız ve test edeceğiniz gösterilmektedir.

Yapacaklarınız

  • Cloud Run işlevi oluşturma
  • Cloud Run işlevini dağıtma ve 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. Start Lab'i (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 simülasyon veya demo ortamı yerine gerçek bir bulut ortamında gerçekleştirebilirsiniz. Bunu yapabilmeniz 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 kullanabilirsiniz.

Bu laboratuvarı tamamlamak için gerekenler:

  • 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 modda (önerilen) veya gizli tarama penceresinde 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: Bu laboratuvar için yalnızca öğrenci hesabını kullanın. Farklı bir Google Cloud hesabı kullanırsanız bu hesaptan ödeme 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 iletişim kutusu açılır. Soldaki "Laboratuvar ayrıntıları" panelinde şunlar yer alır:

    • "Google Cloud konsolunu 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 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ç" 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 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.

  4. İleri'yi tıklayın.

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

  6. İ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.
  7. Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:

    • Hükümler 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 konsolu bu sekmede açılır.

Not: Google Cloud ürün ve hizmetlerine erişmek için gezinme menüsünü tıklayın veya Arama alanına hizmetin veya ürünün adını yazın. Gezinme menüsü simgesi ve arama alanı

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 konsolunun üst kısmından Activate Cloud Shell (Cloud Shell'i etkinleştir) Cloud Shell'i etkinleştir simgesi simgesini tıklayın.

  2. Aşağıdaki pencereleri tıklayın:

    • Cloud Shell bilgi penceresinde devam edin.
    • Google Cloud API çağrıları yapmak için Cloud Shell'e kimlik bilgilerinizi kullanma yetkisi verin.

Bağlandığınızda kimliğiniz zaten doğrulanmıştır. 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 {{{project_0.project_id | "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. Authorize'ı (Yetkilendir) tıklayın.

Çıkış:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_0.project_id | "PROJECT_ID"}}} Not: gcloud ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'a 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 Run işlevlerinin günlüklerine bir mesaj yazar. Söz konusu işlev, Cloud Run 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 Run işlevi etkinliği bir 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 Pub/Sub kılavuzlarında 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 Run işlevleri belgelerinde Arka Plan İşlevleri başlıklı makaleyi inceleyin.

Cloud Run 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}}}
  2. İşlev kodu için bir dizin oluşturun:

    mkdir gcf_hello_world && cd $_
  3. Düzenlemek için index.js oluşturup açın:

    nano index.js
  4. Aşağıdaki kısmı index.js dosyasına kopyalayın:

    const functions = require('@google-cloud/functions-framework'); // Register a CloudEvent callback with the Functions Framework that will // be executed when the Pub/Sub trigger topic receives a message. functions.cloudEvent('helloPubSub', cloudEvent => { // The Pub/Sub message is passed as the CloudEvent's data payload. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World; console.log(`Hello, ${name}!`); });
  5. nano'dan çıkın (Ctrl+x) ve dosyayı kaydedin (Y).

  6. Düzenlemek için package.json oluşturup açın:

  7. Aşağıdaki kısmı package.json dosyasına kopyalayın:

    { "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
  8. nano'dan çıkın (Ctrl+x) ve dosyayı kaydedin (Y).

  9. Paket bağımlılarını yükleme

    npm install

    Beklenen çıkış:

    added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities

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

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

Not:
Cloud Run işlevleri etkinliğe dayalı olduğu için bir tetikleyici türü belirtilmelidir. Yeni bir işlev dağıtırken "--trigger-topic", "--trigger-bucket" veya "--trigger-http" yaygın tetikleyici etkinlikleridir. Mevcut bir işleve güncelleme dağıtırken işlev, aksi belirtilmedikçe mevcut tetikleyiciyi korur.
  1. nodejs-pubsub-function işlevini cf-demo adlı bir Pub/Sub konusuna dağıtın.

    gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | REGION }}} \ --source=. \ --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Not:
    Bir hizmet hesabı serviceAccountTokenCreator bildirimi alırsanız "n" seçeneğini belirleyin.
  2. İşlevin durumunu doğrulayın:

    gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}}

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

    Beklenen çıkış:

    BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function

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.

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

  1. PubSub'ı bazı verilerle çağırın.

    gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2"

    Örnek çıkış:

    messageIds: - '11927162971409664'

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

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

  1. Günlük geçmişindeki mesajlarınızı görmek için günlükleri kontrol edin:

    gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Not:
    Günlüklerin görünmesi yaklaşık 10 dakika sürer. Günlükleri görüntülemek için Logging > Logs Explorer'a (Günlük Gezgini) da gidebilirsiniz.

    Cloud Run işlevi aşağıdakine benzer bilgilerin çıkışını verir:

    LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!

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

5. Görev: Öğrendiklerinizi test etme

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

Google Cloud konsolunu kullanarak bir Cloud Run işlevi oluşturdunuz ve bu işlevi komut satırıyla dağıtıp test ettiniz.

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

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: 20 Ocak 2025

Laboratuvarın Son Test Edilme Tarihi: 20 Ocak 2025

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.