小编Bas*_*ein的帖子

如何将 Firestore 模拟器与我的 Firebase 功能测试连接起来?

目前,我们正在在线模式下使用“firebase-functions-test”来测试我们的 firebase 功能(如此处所述 https://firebase.google.com/docs/functions/unit-testing),我们设置如下:

//setupTests.ts
import * as admin from 'firebase-admin';

const serviceAccount = require('./../test-service-account.json');

export const testEnv = require('firebase-functions-test')({
    projectId: 'projectId',
    credential: admin.credential.cert(serviceAccount),
    storageBucket: 'projectId.appspot.com'
});
const testConfig = {
    dropbox: {
        token: 'dropboxToken',
        working_dir: 'someFolder'
    }
};

testEnv.mockConfig(testConfig);

// ensure default firebase app exists:
try {
    admin.initializeApp();
} catch (e) {}
Run Code Online (Sandbox Code Playgroud)

我们希望在我们的测试中不再针对实际的 firestore 实例进行测试,而是使用模拟器。

我在网上找到的文档、问题和示例要么已经过时,要么描述了如何设置模拟器以测试安全规则或 Web 前端。

尝试使用 firebase.initializeAdminApp({ projectId: "my-test-project" });没有成功。

我也试过设置 FIRESTORE_EMULATOR_HOST=[::1]:8080,127.0.0.1:8080

所以问题是:如何在我的测试中初始化 firebaseApp,以便我的功能连接到 firestore 模拟器?

firebase firebase-tools google-cloud-functions google-cloud-firestore

9
推荐指数
1
解决办法
645
查看次数

如何关闭旧 Cloud Run 修订版的 SQL 连接?

语境

我正在 Cloud Run 上运行 SpringBoot 应用程序,该应用程序使用 Hikari 连接池连接到 postgres11 CloudSQL 数据库。我使用的是最小的 PSQL 实例(1vcpu/614mb/25 连接限制)。对于设置,我遵循了以下资源:

从 Cloud Run 连接到 Cloud SQL

管理数据库连接

问题

部署第三个修订版后,出现以下错误:

FATAL: remaining connection slots are reserved for non-replication superuser connections

我发现了什么

  • 默认连接池大小为 10,这就是为什么它在第三次部署时失败 (30 > 25)。

  • 删除旧版本时,Cloud SQL 管理面板中显示的活动连接数会减少 10,并且下一次部署会成功。

问题

看来,旧的 Cloud Run 修订版一直处于“冷”状态,以维护其连接池。有没有办法关闭这些连接而不删除修订?

最佳实践部分,它说:

...我们建议您使用支持连接池的客户端库,该连接池可以自动重新连接断开的客户端连接。”

鉴于旧版本似乎以某种方式设法维护其连接,在 Cloud Run 中管理连接池的推荐方法是什么?

谢谢!

postgresql google-cloud-sql google-cloud-platform hikaricp google-cloud-run

5
推荐指数
1
解决办法
1348
查看次数

云构建在哪个区域执行其构建?

我的组织位于欧盟,因此我们在欧盟区域内创建了所有相关的 gcp 资源。

为了加快构建速度,我们在存储桶中维护了一个依赖缓存 zip,我们在构建开始时读取它,并在构建结束时写入,具体取决于依赖项是否已更改。

现在我想知道我们是否可以期望构建速度更快,如果我们使用位于美国区域内的存储桶,这让我想到了我的问题:

在哪个区域执行云构建构建?

google-cloud-storage google-cloud-platform google-cloud-build

2
推荐指数
1
解决办法
210
查看次数