Buluta çık: gcloud SDK + GCP free tier + BigQuery
Going to the cloud
Bu derste neler öğreneceksin
- gcloud SDK kurar
- GCP projesi + service account oluşturur
- BigQuery sandbox ta ilk sorguyu çalıştırır
Buluta Çıkmak: Google Cloud
Ebeveyn notu: Bu derste bir Google (Gmail) hesabı ve kredi kartı olmayan ücretsiz GCP hesabı açılıyor. Çocuğunuz yanınızda olsun. Kredi kartı bilgisi gerekmiyor (BigQuery sandbox yeterli). Eğer 18 yaş altındaysanız, bir aile üyesiyle birlikte açmanız gerekebilir.
Elif’in limonatası artık sadece köyünde değil. Şehirden, hatta başka şehirden sipariş geliyor. Bilgisayarı yetmiyor. “Bir yerlerde sürekli açık bir bilgisayar olsa, ben uyurken de siparişleri alsam?” dedi. İşte o bilgisayarlar bulutta. Dünyanın başka ucunda bir veri merkezinde çalışıyorlar, sen internetten bağlanıyorsun.
Bugün Google’ın bulutuna (GCP) gidiyoruz ve Elif’in verilerini oraya taşıyoruz. Ücretsiz katman kullanacağız, kredi kartı gerekmiyor.
gcloud SDK Kur
Bu, bilgisayarından Google Bulut’a komut yazmanı sağlayan araç. Mac:
brew install --cask google-cloud-sdk
Windows: cloud.google.com/sdk/docs/install adresinden indir ve kur.
Linux:
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
Kontrol: gcloud --version. Google Cloud SDK 400+ görmelisin.
Google Cloud Hesabı Aç
- console.cloud.google.com adresine git.
- Gmail hesabınla giriş yap (ebeveyninle beraber).
- Üst kısımda “Proje seç” dropdown’ına tıkla, “Yeni proje” de.
- Proje adı:
limonata-elif. Oluştur de.
Ücretsiz katman otomatik aktif olur. Kredi kartı istemez (eğer isterse, ebeveyninle konuş; ücretsiz tier limitlerini aşmamak için).
gcloud ile Giriş
Terminalde:
gcloud init
Bir tarayıcı açılır, Google hesabınla giriş yap. Hangi projeyi kullanacağını sorar, limonata-elif seç.
Doğrula:
gcloud config get-value project
Çıktı limonata-elif olmalı.
Servis Hesabı (Service Account)
Bu, senin adına robot bir kullanıcı. Kendi şifresi yok, JSON dosyasıyla giriş yapıyor. Programların (mesela Terraform) bu robot kullanıcı ile buluta bağlanır.
gcloud iam service-accounts create limonata-bot \
--description="Limonata için robot hesap" \
--display-name="Limonata Bot"
Şimdi bir anahtar indir:
gcloud iam service-accounts keys create keyfile.json \
--iam-account=limonata-bot@limonata-elif.iam.gserviceaccount.com
Bu dosyayı kimseyle paylaşma! Şifre gibi. .gitignore’a keyfile.json ekle.
Robot hesabına BigQuery erişim izni ver:
gcloud projects add-iam-policy-binding limonata-elif \
--member="serviceAccount:limonata-bot@limonata-elif.iam.gserviceaccount.com" \
--role="roles/bigquery.user"
BigQuery Sandbox: İlk Sorgu
console.cloud.google.com/bigquery adresine git. Sol panelde limonata-elif projesini seç.
”+” ile yeni sorgu aç. Şunu yaz:
SELECT
'Merhaba bulut' AS mesaj,
CURRENT_TIMESTAMP() AS su_an;
Çalıştır (Run de). Birkaç saniye içinde sonuç gelir. Tebrikler, bulutta ilk SQL sorgunu çalıştırdın!
Ücretsiz sandbox ayda 1 TB sorgu hakkı verir. Limonata için bol bol yeterli.
Verilerini Yükle
İstersen CSV’ni BigQuery’ye yükle. Sol panelde projen adına tıkla, “Create Dataset” de, adı limonata_data olsun. Sonra o datasetin içinde “Create Table” → Upload CSV.
Bir deneme tablosu yap:
CREATE TABLE limonata_data.musteriler (
id INT64,
isim STRING,
icecek STRING,
fiyat NUMERIC
);
INSERT INTO limonata_data.musteriler VALUES
(1, 'Ayşe', 'Limonata', 25.00),
(2, 'Mehmet', 'Nane Limonata', 30.00),
(3, 'Zeynep', 'Çilekli Limonata', 35.00);
Doğrula:
SELECT * FROM limonata_data.musteriler;
Küçük Ödev
gcloud config get-value projectçalıştır. Hangi projedesin?- BigQuery’de yeni bir sorgu yaz:
SELECT icecek, COUNT(*) AS adet FROM limonata_data.musteriler GROUP BY icecek; - Ebeveyninle GCP konsoluna birlikte bak. “IAM & Admin” bölümünde servis hesabını bul. Şifreni göster, neden gizli olduğunu açıkla.