Entorno de ejecución de .NET

Tu función de Cloud Run se ejecuta en un entorno que consta de una versión del sistema operativo con paquetes complementarios, compatibilidad con idiomas y la biblioteca .NET Functions Framework, que admite e invoca tu función. Este entorno se identifica por la versión del idioma y se conoce como ID de tiempo de ejecución.

Preparación de la función

Puedes preparar una función directamente desde la Google Cloud consola o escribirla en tu máquina local y subirla. Para preparar tu máquina local para el desarrollo de .NET, consulta el artículo Configurar un entorno de desarrollo de .NET.

Entornos de ejecución y imágenes base de .NET compatibles

Tiempo de ejecución ID de entorno de ejecución Pilas Imagen base de tiempo de ejecución
.NET 8 dotnet8
  • google-22 (predeterminado)
  • google-22-full
  • google-22/dotnet8
  • google-22-full/dotnet8
  • .NET 6 dotnet6
  • google-22 (predeterminado)
  • google-22-full
  • google-22/dotnet6
  • google-22-full/dotnet6
  • .NET Core 3 dotnet3 google-18-full google-18-full/dotnet3

    Paquete de plantilla

    El paquete de plantillas te ayuda a crear funciones nuevas. Para utilizarlo:

    1. Instala el SDK de.NET.

    2. Instala el paquete de plantilla:

      dotnet new install Google.Cloud.Functions.Templates
      

    Se proporcionan plantillas para los tres tipos de funciones en C# (el valor predeterminado), F# y Visual Basic. Al crear un proyecto a partir de una plantilla, especifica -lang f# para crear un proyecto de F# o -lang vb para crear un proyecto de Visual Basic.

    Selecciona tu tiempo de ejecución

    Cuando implementes tu función, debes especificar un tiempo de ejecución de .NET que corresponda al framework de destino de tu archivo de proyecto (MyFunction.csproj o similar). Puedes seleccionar uno de los runtimes de .NET compatibles para tu función durante la implementación.

    Puedes seleccionar una versión del tiempo de ejecución mediante la Google Cloud consola o la CLI de gcloud. Haga clic en la pestaña para ver las instrucciones sobre cómo usar la herramienta que elija:

    gcloud

    Especifica la imagen base de.NET de tu función con la marca --base-image al desplegarla. Por ejemplo:

    gcloud run deploy FUNCTION \
        --source . \
        --function FUNCTION_ENTRYPOINT \
        --base-image dotnet8
    

    Sustituye:

    • FUNCTION con el nombre de la función que vas a implementar. Puedes omitir este parámetro por completo, pero se te pedirá el nombre si lo haces.

    • FUNCTION_ENTRYPOINT con el punto de entrada de tu función en el código fuente. Este es el código que ejecuta Cloud Run cuando se ejecuta tu función. El valor de esta marca debe ser un nombre de función o un nombre de clase completo que exista en el código fuente.

    Para obtener instrucciones detalladas sobre cómo desplegar una función con la CLI de gcloud, consulta Desplegar funciones en Cloud Run.

    Consola

    Puedes seleccionar una versión del tiempo de ejecución al crear o actualizar una función de Cloud Run en la Google Cloud consola. Para obtener instrucciones detalladas sobre cómo desplegar una función, consulta Desplegar funciones en Cloud Run.

    Para seleccionar un tiempo de ejecución en la consola Google Cloud al crear una función, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Cloud Run:

      Ir a Cloud Run

    2. Haz clic en Escribir una función.

    3. En la lista Tiempo de ejecución, selecciona una versión del tiempo de ejecución de .NET.

    4. Haz clic en Crear y espera a que Cloud Run cree el servicio con una revisión de marcador de posición.

    5. La consola te redirigirá a la pestaña Fuente, donde podrás ver el código fuente de tu función. Haz clic en Guardar y volver a implementar.

    Para obtener instrucciones detalladas sobre cómo actualizar la versión del tiempo de ejecución después de implementar la función, consulta Volver a implementar código fuente nuevo.

    Estructura del código fuente

    Para que las funciones de Cloud Run encuentren la definición de tu función, el código fuente debe seguir una estructura específica. Para obtener más información, consulta Escribir funciones de Cloud Run.

    Especificar dependencias

    Las funciones de .NET Cloud Run usan archivos de proyecto de Microsoft Build Engine (MSBuild), que son fundamentales para el proceso de compilación e implementación. Puedes especificar las dependencias de tu función en un archivo de proyecto. En C#, la extensión del archivo es .csproj; en F#, .fsproj; y en Visual Basic, .vbproj.

    Para obtener más información sobre las dependencias y otros tipos de personalización, consulta Personalización mediante clases de inicio de funciones.