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?

More than 1 year has passed since last update.

RuruCun個人開発Advent Calendar 2023

Day 9

Cloud Functions for Firebaseで毎回使うちょっとした細かいこと

Posted at

背景

Cloud Functionsで細々と開発をしているのですが、秘伝のタレ化してきたので、細かいことをまとめてみます。

index.js以外のファイルで関数を増やしたい場合

複数のAPIを生やしたり、pubsubを走らせたい場合に、index.js以外のファイルで関数を増やしたくなる場合があります。
そのような場合は、下記のようにします。

index.jsで別のファイルをrequireしexportsする形にします。
また、admin.initializeApp()はindex.jsのみに記述します。そうすることで他の関数ファイルでの記述は不要になります。(記述してしまうとエラーになります。)

index.js
import * as admin from "firebase-admin";
const firebase = admin.initializeApp();

const OtherFunc = require("./OtherFunc");
exports.OtherFunc = OtherFunc;
OtherFunc.js
exports.OtherFunc = functions
  .https.onRequest(async (request, response) => {
  console.log('hello')
}

参考

TypeScriptで開発時に、変更をすぐにFunctionsに適応したい。

firebase init時にTypeScript環境を設定して、エミュレーターで開発しだしても、TypeScriptをFunctions用のJSにリアルタイムで変更を適応してくれません。

なので、package.jsonでtscのwatchスクリプトを追加します。

package.json
"scripts": {
  "watch": "tsc --watch"
}

参考

## pubsubで設定した実行頻度をブラウザで変更する

deployを通さずに、pubsubの頻度を上げ下げできると外出中に便利だったことがあったので、メモ。

Google Cloud コンソールからCloudSchedulerへアクセス。
変更したいFunctionにチェックボックスを入れて、上部の編集をクリック。

image.png

下記の画面に移動するので、頻度の部分を変更し、更新します。
image.png

ここで変更した値は、コードをdeployすると上書きされるので注意が必要です。

関数のタイムアウト時間をブラウザで変更する

Google Cloud コンソールからCloudFunctionsへアクセス。

変更したい関数を選択し、関数の管理画面にアクセスします。
上の方に編集があるので、編集をクリック。
image.png

ランタイム、ビルド、接続、セキュリティの設定をクリックすると、下記のようなメモリやタイムアウトを編集できる画面が出てくるので、こちらを編集し、更新します。

image.png

参考

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?