Loading...
No results found.

Google Cloud Skills Boost

Apply your skills in Google Cloud console


Get access to 700+ labs and courses

Google Cloud'da Uygulama Geliştirme Ortamı Oluşturma: Yarışma Laboratuvarı

Lab 1 hour 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

GSP315

Google Cloud yönlendirmesiz öğrenim laboratuvarı logosu

Giriş

Yarışma laboratuvarında size bir senaryo ve birtakım görevler verilir. Adım adım talimatları uygulamak yerine, görevleri kendi başınıza nasıl tamamlayacağınızı bulmak için kurstaki laboratuvarlardan öğrendiğiniz becerileri pratiğe dökersiniz. Otomatik bir puan sistemi (Bu sayfada gösterilir), görevlerinizi gerektiği şekilde tamamlayıp tamamlamadığınızla ilgili geri bildirim verir.

Bir yarışma laboratuvarı'na katıldığınızda size yeni Google Cloud kavramları öğretilmez. Varsayılan değerleri değiştirmek ve kendi hatalarınızı düzeltmek için hata mesajlarını okuyup araştırma yapmak gibi öğrendiğiniz becerileri geliştirmeniz beklenir.

%100'e ulaşmak için tüm görevleri verilen süre içinde başarıyla tamamlamanız gerekir.

Bu laboratuvar, Google Cloud'da Uygulama Geliştirme Ortamı Oluşturma beceri rozetine kaydolan öğrenciler için önerilir. Yarışmaya hazır mısınız?

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.

Yarışma senaryosu

Kısa süre önce Jooli Inc. şirketinde kıdemsiz bulut mühendisi olarak işe başladınız. Şu ana kadar ekiplerin Google Cloud kaynaklarını oluşturmasına ve yönetmesine yardım ediyordunuz.

Buradaki görevler için gereken bilgi ve beceriye sahip olmanız beklendiğinden adım adım yönergeler sağlanmayacak.

Yarışma konusu

Kısa süre önce oluşturulan bir geliştirme ekibine, yeni bir projedeki ilk çalışmalarında yardımcı olmanız isteniyor. Ekibin Anılar adlı yeni projesi, fotoğrafların depolanması ve düzenlenmesini ele alıyor. Anılar ekibine, uygulama geliştirme ortamlarının ilk yapılandırmasında yardımcı olmanız isteniyor.

Aşağıdaki görevlerin tamamlanmasına yönelik bir talep alıyorsunuz:

  • Fotoğrafların depolanacağı bir paket oluşturma
  • Oluşturduğunuz Cloud Run işlevi tarafından kullanılacak bir Pub/Sub konusu oluşturma
  • Cloud Run işlevi oluşturma
  • Önceki bulut mühendisinin Anılar projesine erişimini kaldırma

Uymanız gereken bazı Jooli Inc. standartları şunlardır:

  • Aksi yönde bir talimat olmadığı sürece tüm kaynakları bölgesi ve alt bölgesinde oluşturun.
  • Proje VPC'lerini kullanın.
  • Adlandırma ekip-kaynak şeklinde olmalıdır. Yani bir örnek kraken-webserver1 olarak adlandırılabilir.
  • Uygun maliyetli kaynak boyutları ayırın. Projeler izlenmektedir ve aşırı kaynak kullanımı, kaynakların yer aldığı projenin (muhtemelen sizin projenizin de) sonlandırılmasına neden olur. Bu nedenle dikkatli olmanızı öneririz. İzleme ekibinin paylaşmak istediği talimat şu şekilde: Aksi yönde bir talimat olmadığı sürece küçük Linux sanal makineleri için e2-micro, Windows ya da diğer uygulamalar (örneğin, Kubernetes düğümleri) için de e2-medium'u kullanın.

Her görev aşağıda ayrıntılı olarak açıklanmıştır. İyi şanslar!

1. görev: Paket oluşturma

Fotoğrafların depolanması için adında bir paket oluşturmanız gerekir. Kaynağın bölgesinde ve alt bölgesinde oluşturulduğundan emin olun.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. adında bir paket oluşturun

2. görev: Pub/Sub konusu oluşturma

Cloud Run işlevinin mesaj göndermesi için adında bir Pub/Sub konusu oluşturun.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. adında bir Pub/Sub konusu oluşturun

3. görev: Cloud Run işlevi küçük resmini oluşturma

İşlevi oluşturma

paketine eklenen bir resimden küçük resim oluşturacak, adında bir Cloud Run işlevi oluşturun.

Cloud Run işlevinin, Cloud Run işlevi ortamını (ikinci nesil) kullandığından emin olun. Kaynağın bölgesinde ve alt bölgesinde oluşturulduğundan emin olun.

  1. Node.js 22 kullanarak adlı bir Cloud Run işlevi (2. nesil) oluşturun.
Not: 1. görevde oluşturulmuş pakette her nesne oluşturulduğunda Cloud Run işlevinin yürütülmesi gerekir. İşlem sırasında Cloud Run işlevi, API'leri etkinleştirme izni veya hizmet hesaplarına rol atama izni isteyebilir. Lütfen istendiği şekilde gerekli API'lerin her birini etkinleştirin ve rolleri atayın.
  1. Giriş noktası'nı (yürütülecek işlev) , Tetikleyici'yi de Cloud Storage olarak ayarladığınızdan emin olun.

  2. Şu kodu index.js dosyasına ekleyin:

const functions = require('@google-cloud/functions-framework'); const { Storage } = require('@google-cloud/storage'); const { PubSub } = require('@google-cloud/pubsub'); const sharp = require('sharp'); functions.cloudEvent('{{{ project_0.startup_script.function }}}', async cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${JSON.stringify(event)}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64"; const bucket = new Storage().bucket(bucketName); const topicName = "{{{ project_0.startup_script.topic }}}"; const pubsub = new PubSub(); if (fileName.search("64x64_thumbnail") === -1) { // doesn't have a thumbnail, get the filename extension const filename_split = fileName.split('.'); const filename_ext = filename_split[filename_split.length - 1].toLowerCase(); const filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length - 1); // fix sub string to remove the dot if (filename_ext === 'png' || filename_ext === 'jpg' || filename_ext === 'jpeg') { // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); const newFilename = `${filename_without_ext}_64x64_thumbnail.${filename_ext}`; const gcsNewObject = bucket.file(newFilename); try { const [buffer] = await gcsObject.download(); const resizedBuffer = await sharp(buffer) .resize(64, 64, { fit: 'inside', withoutEnlargement: true, }) .toFormat(filename_ext) .toBuffer(); await gcsNewObject.save(resizedBuffer, { metadata: { contentType: `image/${filename_ext}`, }, }); console.log(`Success: ${fileName} → ${newFilename}`); await pubsub .topic(topicName) .publishMessage({ data: Buffer.from(newFilename) }); console.log(`Message published to ${topicName}`); } catch (err) { console.error(`Error: ${err}`); } } else { console.log(`gs://${bucketName}/${fileName} is not an image I can handle`); } } else { console.log(`gs://${bucketName}/${fileName} already has a thumbnail`); } });
  1. Aşağıdaki kodu package.json dosyasına ekleyin:
{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/pubsub": "^2.0.0", "@google-cloud/storage": "^6.11.0", "sharp": "^0.32.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } } Not: Gerekli tüm izinlerin hizmet aracısına iletilmesinin birkaç dakika sürebileceğini belirten bir "İzin reddedildi" hatası alırsanız birkaç dakika bekleyip tekrar deneyin. Uygun hizmet hesaplarına ilgili rollerin (Eventarc Hizmet Aracısı, Eventarc Etkinlik Alıcısı, Hizmet Hesabı Jeton Oluşturucu ve Pub/Sub Yayıncısı) atandığından emin olun.

İşlevi test etme

  • paketine istediğiniz PNG veya JPG resmi yükleyin.
Not: Alternatif olarak, https://storage.googleapis.com/cloud-training/gsp315/map.jpg adresindeki resmi makinenize de indirebilirsiniz. Ardından pakete yükleyebilirsiniz.

Yüklendikten hemen sonra küçük resim görünecektir (Paket ayrıntıları sayfasında YENİLE seçeneğini kullanın).

Resim dosyasını yükledikten sonra aşağıdaki düğmeyi tıklayarak ilerleme durumunuzu kontrol edebilirsiniz. Küçük resmin oluşturulmasını beklemeniz gerekmez.

İsteğe bağlı: İşlev başarıyla dağıtıldıysa ve pakette küçük resmi görmüyorsanız daha önce işlevle ilgili olarak girdiğiniz tetikleyici bilgilerinin Tetikleyiciler sekmesinde gösterilip gösterilmediğini kontrol edebilirsiniz. Daha önce hatalarla karşılaştıysanız bu bilgiler doğru şekilde kaydedilmemiş olabilir. İşlevin Tetikleyiciler sekmesinde Cloud Storage tetikleyicisini görmüyorsanız tetikleyiciyi yeniden oluşturabilirsiniz (Dokümanda Hizmetler için tetikleyici oluşturma başlıklı sayfaya göz atın.). Ardından tekrar test etmek için yeni bir dosya yükleyebilirsiniz (Yeni bir dosya ekledikten sonra sayfayı yenileyin.).

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Cloud Run işlevinin çalışıp çalışmadığını doğrulayın

4. görev: Önceki bulut mühendisini kaldırma

Projede tanımlanmış iki kullanıcı olduğunu göreceksiniz.

  • Bunlardan biri sizin hesabınızdır (Sahip rolüyle ).
  • Diğeri ise önceki bulut mühendisidir (Görüntüleyici rolüyle ).
  1. Projeden önceki bulut mühendisinin erişimini sonlandırın.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Önceki bulut mühendisini kaldırma

Tebrikler!

Google Cloud'da Uygulama Geliştirme Ortamı Oluşturma

Sonraki adımlar / Daha fazla bilgi

Bu beceri rozeti, Google'ın Google Cloud'da Temel Altyapı Görevleri Gerçekleştirme ve Bulut Mimarı öğrenme rotalarının bir parçasıdır. Öğrenme rotanızdaki diğer beceri rozetlerini zaten tamamladıysanız Google Cloud Öğrenim Merkezi kataloğunda, kaydolabileceğiniz diğer beceri rozetlerini bulabilirsiniz.

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: 8 Mart 2025

Laboratuvarın Son Test Edilme Tarihi: 8 Mart 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.