arrow_back

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

Sign in Join
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, 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.
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP315

Google Cloud Rehbersiz Laboratuvarları

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

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 bir Cloud Functions işlevi tarafından kullanılacak bir Pub/Sub konusu oluşturma
  • Cloud Functions 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 Functions 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: Küçük resim için Cloud Functions işlevi oluşturma

paketine eklenen bir resimden küçük resim oluşturacak, adında bir Cloud Functions işlevi oluşturun. Cloud Functions işlevinin 2. nesil ortamı kullandığından emin olun. Kaynağın bölgesinde ve alt bölgesinde oluşturulduğundan emin olun.

  1. adında bir Cloud Functions işlevi oluşturun.
Not: 1. görevde oluşturulmuş pakette her nesne oluşturulduğunda Cloud Functions işlevinin yürütülmesi gerekir. İşlem sırasında Cloud Function işlevi, API'leri etkinleştirmek için izin isteyebilir. Lütfen gerekli API'lerin her birini istendiği şekilde etkinleştirin.
  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 crc32 = require("fast-crc32c"); const { Storage } = require('@google-cloud/storage'); const gcs = new Storage(); const { PubSub } = require('@google-cloud/pubsub'); const imagemagick = require("imagemagick-stream"); functions.cloudEvent('{{{ project_0.startup_script.function }}}', cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${event}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64" const bucket = gcs.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 var filename_split = fileName.split('.'); var filename_ext = filename_split[filename_split.length - 1]; var filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length ); if (filename_ext.toLowerCase() == 'png' || filename_ext.toLowerCase() == 'jpg'){ // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); let newFilename = filename_without_ext + size + '_thumbnail.' + filename_ext; let gcsNewObject = bucket.file(newFilename); let srcStream = gcsObject.createReadStream(); let dstStream = gcsNewObject.createWriteStream(); let resize = imagemagick().resize(size).quality(90); srcStream.pipe(resize).pipe(dstStream); return new Promise((resolve, reject) => { dstStream .on("error", (err) => { console.log(`Error: ${err}`); reject(err); }) .on("finish", () => { console.log(`Success: ${fileName} → ${newFilename}`); // set the content-type gcsNewObject.setMetadata( { contentType: 'image/'+ filename_ext.toLowerCase() }, function(err, apiResponse) {}); pubsub .topic(topicName) .publisher() .publish(Buffer.from(newFilename)) .then(messageId => { console.log(`Message ${messageId} published.`); }) .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": "^5.0.0", "fast-crc32c": "1.0.4", "imagemagick-stream": "4.1.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } }

Küçük resmin başarıyla oluşturulduğunu doğrulayın.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Cloud Functions işlevini doğrulama

4. görev: Altyapıyı test etme

Pakete bir JPG veya PNG resmi yüklemelisiniz.

  1. paketine bir PNG ya da 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.
  1. Küçük resim yüklendikten hemen sonra görünecektir (Paket ayrıntılarındaki YENİLE seçeneğini kullanın).

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

Bir sonraki beceri rozetinizi kazanma

Bu yönlendirmesiz öğrenim laboratuvarı, Google Cloud'da Uygulama Geliştirme Ortamı Oluşturma beceri rozetinin bir parçasıdır. Bu beceri rozetini tamamladığınızda başarınızın ödülü olarak yukarıdaki rozeti alırsınız. Rozetinizi özgeçmişinizde ve sosyal platformlarda kullanabilir ve #GoogleCloudBadge etiketini kullanarak başarınızı duyurabilirsiniz.

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: 21 Mart 2024

Laboratuvarın Son Test Edilme Tarihi: 19 Eylül 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.

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