如何为angularfire 7.3.0设置功能区域
How to set function region for angularfire 7.3.0
我在使用 angularfire 7.3.0 设置功能区域时遇到问题。
我正在使用 v7 modular 导入模块,但我似乎找不到关于如何在使用此方法时更改功能区域的好说明。
我尝试过的:
使用compat
:
import { AngularFireFunctionsModule, REGION } from '@angular/fire/functions';
...
providers: [
...
{ provide: REGION, useValue: 'europe-west1' }
]
使用getFunctions
:
provideFunctions(() => getFunctions(getApp(), 'europe-west1'));
两者似乎都无法设置区域,尽管最后一种方法被描述为正确的方法。
检查 FunctionsInstances 时,我得到以下信息:
FunctionsInstances
这似乎表明区域设置正确,但在调用函数时出现错误,指出 https://us-central1-APPNAME.cloudfunctions.net/FUNCTIONNAME
不可用,因为它显然试图从 us-central1
调用函数.
有没有人处理过这个问题,fix/workaround 或对为什么会发生这种情况有一些了解?
好的,看来您必须手动在 FunctionsInstance 中提供实例。
定义函数时,按如下操作:
import { Functions, httpsCallable, FunctionsInstances } from '@angular/fire/functions'
...
// Inject Functions, FunctionsInstances
...
const functionsInstance = this.functionsInstances[0];
someFunction = httpsCallable(functionsInstance, 'someFunction');
通过使用 FunctionsInstance
中的 function-instance 而不是 getFunctions()
,将使用正确的 function-instance 进行调用,因此使用正确的区域。
我在使用 angularfire 7.3.0 设置功能区域时遇到问题。
我正在使用 v7 modular 导入模块,但我似乎找不到关于如何在使用此方法时更改功能区域的好说明。
我尝试过的:
使用compat
:
import { AngularFireFunctionsModule, REGION } from '@angular/fire/functions';
...
providers: [
...
{ provide: REGION, useValue: 'europe-west1' }
]
使用getFunctions
:
provideFunctions(() => getFunctions(getApp(), 'europe-west1'));
两者似乎都无法设置区域,尽管最后一种方法被描述为正确的方法。
检查 FunctionsInstances 时,我得到以下信息: FunctionsInstances
这似乎表明区域设置正确,但在调用函数时出现错误,指出 https://us-central1-APPNAME.cloudfunctions.net/FUNCTIONNAME
不可用,因为它显然试图从 us-central1
调用函数.
有没有人处理过这个问题,fix/workaround 或对为什么会发生这种情况有一些了解?
好的,看来您必须手动在 FunctionsInstance 中提供实例。
定义函数时,按如下操作:
import { Functions, httpsCallable, FunctionsInstances } from '@angular/fire/functions'
...
// Inject Functions, FunctionsInstances
...
const functionsInstance = this.functionsInstances[0];
someFunction = httpsCallable(functionsInstance, 'someFunction');
通过使用 FunctionsInstance
中的 function-instance 而不是 getFunctions()
,将使用正确的 function-instance 进行调用,因此使用正确的区域。