1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gcloudからのcloud functions操作メモ

Last updated at Posted at 2020-01-21

認証

gcloud auth login

プロジェクト作成

gcloud config configurations create <任意の設定名>
gcloud config set project <gcp上のプロジェクト名>
gcloud config set account <gcpのアカウント>

プロジェクトの切り替え

gcloud config configurations list  ##設定名の確認
gcloud config configurations activate <切り替え先の設定名>
##変更後、listで対象の設定のIS_ACTIVEがTrueになっていることを確認

このあたりの参照元:gcloud でプロジェクトの切り替え設定

functionの確認

##対象のプロジェクトに入ってる状態で
gcloud functions list

functionのダウンロード

既に作成されてるfunctionをダウンロードしてくるコマンドはないっぽい。(2019年1月現在)
なのでGUIからZIPをダウンロードしてくる。

functionのデプロイ

初回/ランタイムとトリガーの指定が必須
gcloud functions deploy <function name> --region=<デプロイ先region> \
--runtime <ランタイム> \
[FLAGS...]

例)
gcloud functions deploy test_function_1 --region=asia-northeast1 \
--runtime nodejs8 \
--trigger-http \
--memory=512MB \
--entry-point=exported_function \
--allow-unauthenticated

指定しなかったオプションについてはデフォルト値で作成される。
--entry-pointについてはプロジェクト名と同じFunctionで検索されるので、違う関数名にしてる場合はちゃんと指定してあげないとエラーになる。
外部公開するFunctionの場合は、--allow-unauthenticatedを指定する。
※CloudFunctions起動元にallUsersを追加するオプション。昔はデフォでついてたけど最近デフォでは認証が必要になった。
各オプションのデフォルト値や、記載以外のオプションについては公式参照のこと。

アップロードファイル構成例(nodejsの場合)
.
├ index.js       //コード
├ package.json   //必要なパッケージ
├ .env.yaml      //環境変数を記載
└ .gcloudignore  //uploadしないファイルを指定(yamlファイルとか。自身も無視でOK)

2回め以降のアップデートでは必要なオプションのみ記載すればOK。
ただし、もしデフォルトregion以外で作成してた場合は、--regionオプション必須。
CloudFunctionはFunction名/regionで一意に判別してるっぽい。

2回目以降のアップデート例
gcloud functions deploy <function name> --region=<region> [FLAGS...]

なお、Current Directory以外のファイルをアップしたい場合は--source=PATHで指定必須。

環境変数の指定

1個1個指定もできるが、yamlで書いて--env-vars-file=FILE_PATHでアップするのが良さそう。
既存の環境変数はすべてクリアされるので注意。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?