因此,我正在使用Spotify API进行搜索。在本地,我使用tsc和node测试了我的代码;一切都按预期进行。
但是,当我部署index.ts时,日志表明有些奇怪的行为。
在文件顶部,我有以下内容:
Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle::class => ['all' => true],
问题在于日志表明我的index.js文件中的每个Firebase-Cloud Function运行一次Spotify访问令牌功能。我得到了十几个令牌,每个令牌都显示在日志中,这是从我的firebase-cloud函数之一调用的。
当我上传整个index.ts时,如何告诉Firebase Functions一次运行此代码?当我上传一个函数时不运行它;那也很有用。
谢谢。
答案 0 :(得分:1)
index.js
的顶级代码在Cloud Functions实例化的每个容器中运行,以确保正确初始化容器以运行您的函数。由于Cloud Functions可以实例化多个容器,因此代码可以运行多次。
无法控制Cloud Functions实例化的容器数量。如果您不想让代码在每个容器中运行,请不要在index.js
中将其设为顶级代码。
例如,您可以在调用函数时按需创建Spotify凭据。这样可以确保凭据仅在实际调用了函数的容器上,尽管这确实意味着在容器中对函数的首次调用将需要获取Spotify凭据,因此需要更长的时间才能完成。