Skip to content

Cloud Functions for Firebase デプロイ時の HTTP Error 400, Change of function trigger type or event provider is not allowed

Posted on:2019年6月7日 at 00:00

HTTPSリクエストトリガーとして定義していた関数を、PubSubスケジュールトリガーとしてデプロイしようとした際に発生しました。

// before
export const helloWorld = functions
  .https
  .onRequest((request, response) => {
    response.send("Hello from Firebase!");
  });
// after
export const helloWorld = functions
  .pubsub
  .schedule('every day 03:00')
  .timezone('Asia/Tokyo')
  .onCall((context) => {
    console.log("Hello from Firebase!");
  });
$ firebase deploy --only functions
...
HTTP Error: 400, Change of function trigger type or event provider is not allowed
...

解決方法

対象の関数を削除し、再度デプロイすると、問題なくデプロイできます。

# 関数の削除 ( HTTPSリクエストトリガー )
$ firebase functions:delete helloWorld
# 関数のデプロイ ( PubSubスケジュールトリガー )
$ firebase deploy --only functions:helloWorld