.Net Core API в облачной функции Google

#.net-core #google-cloud-functions #asp.net-core-3.1

#.net-core #google-cloud-функции #asp.net-core-3.1

Вопрос:

Я смотрю на бета-версию запуска .net core api в облачных функциях Google.

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

У меня есть rest api, работающий в AWS lambda, и я планирую перейти на облачные функции Google.

Я хочу понять, можем ли мы запустить полноценный api с несколькими конечными точками, такими как api / method1, api / method2 и т. Д., Например, lambda, Или это невозможно прямо сейчас в облачной функции Google. Примеры, показанные на странице, просто прослушивают один URL-адрес.

Я также попытался добавить

 [FunctionsStartup(typeof(Startup))]
 

И при запуске я добавил контроллеры, как показано ниже, но маршрутизация к контроллеру не происходит

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

Может кто-нибудь уточнить?

Ответ №1:

Платформа функций ожидает, что будет зарегистрирована одна функция. Эта функция сама по себе может выполнять дополнительную маршрутизацию на основе URI, и вполне возможно, что вы могли бы использовать множество встроенных ASP.NET Базовая маршрутизация для этого, но это не тот сценарий, в который мы инвестируем прямо сейчас. Похоже, вам логически нужно несколько функций, поэтому я бы предложил развернуть его как несколько функций. Все эти несколько функций могут по-прежнему присутствовать в одном проекте, если вам это удобно — вы просто укажете разные точки входа при развертывании.

В качестве альтернативы вы можете использовать обычный ASP.NET Базовое приложение и развертывание его в облачном режиме, чтобы сохранить преимущества бессерверной цены и т. Д., Если вам нужно только одно развертывание.

Комментарии:

1. Привет, Джон Скит, спасибо, что уделили время и поделились своими комментариями. да, я ищу облачные функции для размещения API со всеми функциями CRUD. Сейчас я проверю запуск облака.

Ответ №2:

@karthick, может быть, проверьте это

смотрите Эту статью из Google cloud «Разоблачение ASP.NET Веб-API с использованием .NET Core с облачными конечными точками» https://cloud.google.com/community/tutorials/exposing-aspnet-webapi-using-dotnetcore-with-cloud-endpoints

похоже, что все конечные точки api будут автоматически открыты при выполнении этих шагов.

Комментарии:

1. Спасибо @Хаим Клар, я проверю это.