Angularfire 6为所有函数设置默认云函数区域(位置)

Lak*_*ker 2 angularfire google-cloud-functions

如何通过 Angular Fire全局设置 Firebase 云函数的默认区域,以便将它们部署到指定区域?或者它不必是有角度的火。我只是不想.region('')在每个函数声明中调用方法。

我在文档中找不到有关如何执行此操作的任何内容。但我听说这应该是可能的。以前版本的 Angular Fire 应该支持它。

Lak*_*ker 8

我当时是瞎子。它在 Angular Fire 文档中的相应章节名称Functions Region下提到

在app.module.ts

import { AngularFireFunctionsModule, REGION } from '@angular/fire/functions';
...
...
    providers: [
      { provide: REGION, useValue: 'asia-northeast1' }
    ]
Run Code Online (Sandbox Code Playgroud)

但这不是正确的答案。我需要将它们部署到正确的区域,但我没有想到角火不能做到这一点。

因此,如果您不想在每个函数定义处设置区域,则必须使用全局实用程序为定义添加前缀(?),这样您只需在一处执行此操作。

函数-utils.ts中

import { region } from 'firebase-functions';

export class FunctionsUtils {

  public static get builder() {
    return region('desired-region-from-possible-options');
  }

}
Run Code Online (Sandbox Code Playgroud)

然后在函数声明中使用它:在index.ts或其他地方

import { FunctionsUtils } from './functions-utils';

export const yourFunction = FunctionsUtils.builder.https.onCall(...
Run Code Online (Sandbox Code Playgroud)

可用区域列表