繁体   English   中英

您如何命名 firebase 函数以便您可以单独部署它们?

[英]How do you name your firebase functions so you can deploy them individually?

只是想知道如何“命名”您的app.getapp.post函数,以便您可以执行firebase deploy --only functions:function1, functions:function2

const function1 = () = {
  app.post('endpoint', {
    data
  })
}

谢谢

我碰巧拥有允许我同时部署所有功能或其中一些功能的代码。 它扫描我的目录结构以发现文件,并根据结构构建名称。 我的结构最终看起来像:

api
 |->firestore
    |->on-create
       |->stripe-logs
          |->index.js
          ....
    |->on-write
       |->top-group
          |->lower-group
             |->index.js
    ......
 |->https
    |->on-call
       |->admin
          |->test-customer
             |->index.js
       |->cancel
          |->event
             |->index.js
       ....    
    |->on-request
       |->stripe
          |->index.js
    ....
 |->pubsub
    |->on-run
       |->account-cleanup
          |->index.js

这会生成 function 个名称,例如:

firestore-onCreate-stripeLogs
firestore-onWrite-topGroup-lowerGroup
https-onCall-admin-testCustomer
https-onCall-cancel-event
https-onRequest-Stripe
pubsub-onRun-accountCleanup

这些名称清楚地表明 function 是如何运行的,它运行的是什么,以及(至少部分)它打算做什么。

根据我的个人经验,我使用了几个部分(通常在这些部分之间有一个破折号)来组成云函数名称,遵循公司/产品中的一些既定命名约定:

  1. 前缀 - 给定云 function 所属的(功能)组件的名称。 此名称还用作给定(功能)组件使用的所有其他资源的前缀 - 存储桶、服务帐户、pubsub 主题、bigquery 数据集等。 通常该前缀不应超过 10 - 12 个字符,并且预计该名称在公司 scope 的所有功能组件中是“全局”唯一的。
  2. 名称部分 - 反映云 function 的目的/目标/意义 - 与给定功能组件的 scope 中的任何其他云功能不同的东西。 通常该名称也不应超过 10 - 12 个字符。
  3. 后缀 - 一些缩写以反映 (a) 环境(例如: prduat等),以防部署的云 function 在 GCP 项目(和/或环境)的 scope 中是唯一的; 或 (b) 在开发或缺陷修复的情况下 - 特定的 git 分支机构(或票号) - 例如: f-9999h-9999等。 后者提供了将给定云 function(来自不同的 git 分支)的多个“版本”同时部署和使用/测试到共享开发环境(共享 GCP 项目)中的能力。 通常该后缀不应超过 8 个字符。

因此,(视觉上)查看 function 名称 - 应该能够理解它的用途以及它属于哪个环境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM