我想使用以下语法创建一些调度的云函数,以在函数的源代码中定义调度:
exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
console.log('This will be run every 5 minutes!');
return null;
});
我知道,根据文档,这个云函数会自动创建一个pub/sub主题,以根据定义的时间表触发该函数。文档警告不要在GCP控制台中手动编辑发布/子主题,因为这可能会破坏日程安排。
他们没有提到的是如何删除您想要删除或更新的函数的pub/sub主题。
我是否需要完全删除该功能,并使用更新的时间表详细信息重新部署它?这会自动删除相关的发布/子主题吗?如果我只是用不同的时间表细节重新部署相同的功能,该怎么办?
如果我只是用不同的计划细节重新部署同一个函数呢?
时间表也将在Pub/Sub中更新。
删除函数会自动删除相关的发布/子主题吗?
是,当使用带有firebase functions:delete functionName
命令的CLI或Firebase控制台删除函数时,主题将被删除。
当你从GCP部署Pub/Sub触发的函数时,你会被要求选择/创建一个主题,同样,你也必须自己删除它。GCP不会删除主题,如果你在其他地方使用相同的触发器,它可能会更好。