【Cloud Functions】Functions Framework for Rubyを試す(ローカルからデプロイ編)
2021/09/16
前回書いた「【Cloud Functions】Functions Framework for Rubyを試す(ローカル編)」の続きで、今回はCloud Functionsにデプロイしてみる
手順
Cloud Functions APIとCloud Build APIを有効化
$ gcloud services enable cloudfunctions.googleapis.com
$ gcloud services enable cloudbuild.googleapis.com
デプロイ
gcloud functions deploy [関数の登録名] --entry-point [ソースコード内の関数またはクラスの名前] --runtime [使用するランタイムの名前] [関数のトリガーの種類]
$ gcloud functions deploy hello_function --entry-point hello --runtime ruby27 --trigger-http
Ruby 2.7
のランタイムに HTTP
リクエストをトリガーする hello
関数を hello_function
という登録名でデプロイする
新しい関数を登録する場合は確認がある
Allow unauthenticated invocations of new function [hello_function]?
(y/N)?
動作確認
$ curl https://us-central1-hogehoge-123456.cloudfunctions.net/hello_function
Hello, world!
再デプロイ
コードを修正して再デプロイする場合、--runtime
と--trigger-http
は変更が無ければ省略できる
$ gcloud functions deploy hello_function --entry-point hello
$ curl https://us-central1-hogehoge-123456.cloudfunctions.net/hello_function
Hello, world! (Take 2)
補足
—entry-pointは省略できる
ソースコードの関数名と登録名を同じにする場合は省略できる
むしろ、—entry-pointは異なる時に使用する為のフラグかも
例) ソースコードの関数名が hello
でそのまま関数の登録名にする
$ gcloud functions deploy hello --runtime ruby27 --trigger-http
これだと再デプロイはシンプルになる
$ gcloud functions deploy hello