【问题标题】:.Net Core API in Google Cloud Function谷歌云函数中的 .Net Core API
【发布时间】:2021-01-17 04:58:18
【问题描述】:

我正在查看在 Google Cloud Functions 中运行 .net core api 的测试版。

https://cloud.google.com/functions/docs/quickstart-dotnet

我有一个在 AWS lambda 中运行的 rest api,我计划迁移到 Google Cloud Functions。

我想了解我们是否可以运行具有多个端点(如 api/method1、api/method2 等)(如 lambda)的完整 api,或者现在在谷歌云功能中是否不可能。页面中显示的示例仅侦听单个 url。

我也尝试添加

[FunctionsStartup(typeof(Startup))]

在启动时,我添加了如下所示的控制器,但没有发生到控制器的路由

public override void ConfigureServices(WebHostBuilderContext context, IServiceCollection services)
    {
        services.AddControllers();
    

有人可以澄清一下吗?

【问题讨论】:

    标签: .net-core google-cloud-functions asp.net-core-3.1


    【解决方案1】:

    函数框架需要注册一个函数。该函数本身可以执行基于 URI 的附加路由,并且您可以使用大量内置的 ASP.NET Core 路由来执行此操作,但这不是我们目前正在投资的场景。听起来您在逻辑上想要多个功能 - 所以我建议将它部署为 as 多个功能。如果您方便的话,这些多个功能仍然可以全部存在于同一个项目中 - 您只需在部署时指定不同的入口点。

    或者,如果您只需要单个部署,您可以使用常规 ASP.NET Core 应用和deploy that to Cloud Run 来保留无服务器定价等优势。

    【讨论】:

    • 嗨@Jon Skeet,感谢您花时间分享您的cmets。是的,我正在寻找云功能来托管具有所有 CRUD 功能的 API。我现在将检查 Cloud Run。
    【解决方案2】:

    @karthick,也许看看这个

    请参阅谷歌云中的这篇文章“使用带有云端点的 .NET Core 公开 ASP.NET Web API”https://cloud.google.com/community/tutorials/exposing-aspnet-webapi-using-dotnetcore-with-cloud-endpoints

    在执行这些步骤时,似乎所有 api 端点都会自动公开。

    【讨论】:

    • 谢谢@Chaim Klar,我会检查的。
    猜你喜欢
    • 2020-06-24
    • 2020-08-11
    • 1970-01-01
    • 2019-02-15
    • 2018-12-07
    • 2018-10-02
    • 2021-01-22
    • 2021-05-09
    • 2020-04-23
    相关资源
    最近更新 更多