es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puedes tener múltiples puntos finales/funciones desde un único proyecto de .NET Core en Google Cloud Run?

Tengo un único archivo .proj de .NET Core y un único proyecto de Google Cloud. El proyecto de .NET Core es muy simple, con una única clase que implementa IHttpFunction e implementa HandleAsync, que es el punto de entrada. Tengo un desencadenador de compilación en la nube conectado al repositorio de Git de este proyecto que se ejecuta cada vez que se realiza una confirmación en el principal.

Me gustaría tener más funciones y espero no duplicar la funcionalidad común entre ellas, añadiéndolas al mismo proyecto. Sin embargo, cuando tengo varias clases que implementan IHttpFunction, la compilación en la nube falla.

Creo que hay al menos otras 2 formas de hacer esto:
* Implementar manualmente y seleccionar una función, pero ¿puedo hacer esto también con desencadenadores de compilación en la nube?
* Hacer que todas las funciones pasen por un único punto de entrada “dispacher”, lo cual parece desordenado.

¿Cuál es la mejor forma de hacer esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en .net-core y Google Cloud Run/Build, existen varias opciones disponibles para agregar múltiples funciones a un único proyecto .NET Core sin causar fallas en Cloud Build al utilizar desencadenadores de Cloud Build.

    Una opción es utilizar el framework de Funciones de Google Cloud para .NET, que permite la creación de múltiples funciones dentro de un único proyecto .NET Core. Este framework soporta una variedad de tipos de disparador, incluyendo HTTP, Cloud Pub/Sub y Cloud Storage. Al implementar múltiples clases que implementen la interfaz de función correspondiente (como la interfaz IHttpFunction para disparadores HTTP), cada clase puede contener su propia implementación de la lógica de la función sin interferir con las otras clases.

    Otra opción es utilizar la API Gateway de Google Cloud para crear un punto de “dispachador” que reenvía las solicitudes entrantes a la función interna correspondiente dentro del proyecto .NET Core. Este enfoque permite un control más preciso sobre el enrutamiento de solicitudes a funciones específicas y puede reducir la duplicación de código entre funciones. Sin embargo, requiere configuración y preparación adicionales, más allá de lo necesario para el enfoque del Framework de Funciones.

    En última instancia, el mejor enfoque dependerá de los requisitos específicos de su proyecto y de sus preferencias personales como desarrollador. Siempre es una buena idea probar diferentes estrategias y determinar qué funciona mejor para su caso de uso específico.

Comments are closed.