0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Functions

Posted at

Cloud Functions

Google Cloud Functions(GCF)は、Google Cloud が提供するサーバーレスなイベント駆動型関数実行サービスです。インフラ管理不要で、コードを書いてイベントトリガーを設定するだけでデプロイできます。

特徴

  • 完全マネージド:サーバーのプロビジョニング・スケーリング不要

  • イベント駆動:Cloud Storage、Pub/Sub、HTTPなど様々なトリガーで動作

  • スケーラブル:アクセスに応じて自動スケーリング

  • 課金体系:実行時間とリソース使用量に基づく従量課金(リクエスト数にも依存)

主なユースケース

  • Cloud Storage にファイルがアップロードされたらサムネイルを自動生成

  • Pub/Sub 経由でキュー処理・バッチ処理を非同期で実行

  • HTTP API を簡易的に作る(Webhookなど)

  • Firestore にデータが書き込まれた際の通知処理

サポートされているトリガー

トリガーの種類 主な用途
HTTP トリガー REST API や Webhook
Cloud Pub/Sub 非同期メッセージ処理
Cloud Storage ファイルアップロード検知
Firestore / Firebase DB変更イベントの検知
Cloud Tasks(v2) スケジュール処理や遅延実行

開発とデプロイの流れ

# 1. プロジェクト設定
gcloud config set project [PROJECT_ID]

# 2. 関数ファイルの作成 (例: index.js / main.py)

# 3. デプロイ(例: HTTPトリガー)
gcloud functions deploy helloWorld \
  --runtime python311 \
  --trigger-http \
  --allow-unauthenticated

# 4. 確認
gcloud functions describe helloWorld

ランタイム一覧(2025年現在)

  • Node.js(18, 20)

  • Python(3.10, 3.11)

  • Go(1.20, 1.21)

  • Java(11, 17)

  • .NET(6)

  • Ruby(3.0)

  • PHP(8.1)

Cloud Run や Cloud Functions for Firebase との違い

項目 Cloud Functions Cloud Run Firebase Functions
実行モデル 関数単位 コンテナ単位 Firebase向け関数
起動時間 やや短い 長め Firebase統合
柔軟性 ◎(任意のコンテナ) △(Firebase連携に特化)

よくある落とし穴

  • Cold Start が発生する場合あり(特にリージョン初回呼び出し時)

  • ランタイムによっては 最大実行時間 や メモリ制限 に注意

  • 長時間処理やバッチには不向き → Cloud Run や Workflows の検討を

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?