从 Firebase 托管网站调用 Cloud 运行 的最佳方式
Best way to invoke Cloud Run from Firebase hosted website
我在 Firebase 托管服务上托管我的网站,有一种情况是用户可以提交在后端(云 运行)处理的负载,它 returns结果。为云 运行 启用 CORS 并且只是 post 从前端直接到云 运行 端点的 https 请求是一个好习惯吗?还是创建一个代理云函数,使用前端的firebase-functionapi来调用比较好?代理功能是否会使过程明显变慢?还是让它更安全?
这取决于您喜欢或想要做的方式。根据官方文档 Serve dynamic content and host microservices with Cloud Run 它表示:
Using Cloud Run, you can deploy an application packaged in a container image. Then, using Firebase Hosting, you can direct HTTPS requests to trigger your containerized app.
因此,使用 HTTPS 前端请求会像您提到的那样工作。通常,用户更多地使用启用CORS并使用HTTPS请求。
但是,根据这篇文章 - Cloud Run and Cloud Function: What do I use? And Why? - 使用容器和 Cloud Functions 似乎是最佳选择,因为它具有可移植性和可测试性。我建议你看看这篇文章,然后自己决定,你认为什么更适合你的需求和你未来的发展。
关于性能和安全性,它应该不会显着影响函数调用的性能,因为这些调用不是很重 运行。但是,它应该会提高安全性,因为它将在您的应用程序和数据库之间增加一层。
如果这些信息对您有帮助,请告诉我!
我在 Firebase 托管服务上托管我的网站,有一种情况是用户可以提交在后端(云 运行)处理的负载,它 returns结果。为云 运行 启用 CORS 并且只是 post 从前端直接到云 运行 端点的 https 请求是一个好习惯吗?还是创建一个代理云函数,使用前端的firebase-functionapi来调用比较好?代理功能是否会使过程明显变慢?还是让它更安全?
这取决于您喜欢或想要做的方式。根据官方文档 Serve dynamic content and host microservices with Cloud Run 它表示:
Using Cloud Run, you can deploy an application packaged in a container image. Then, using Firebase Hosting, you can direct HTTPS requests to trigger your containerized app.
因此,使用 HTTPS 前端请求会像您提到的那样工作。通常,用户更多地使用启用CORS并使用HTTPS请求。
但是,根据这篇文章 - Cloud Run and Cloud Function: What do I use? And Why? - 使用容器和 Cloud Functions 似乎是最佳选择,因为它具有可移植性和可测试性。我建议你看看这篇文章,然后自己决定,你认为什么更适合你的需求和你未来的发展。
关于性能和安全性,它应该不会显着影响函数调用的性能,因为这些调用不是很重 运行。但是,它应该会提高安全性,因为它将在您的应用程序和数据库之间增加一层。
如果这些信息对您有帮助,请告诉我!