Skip to content

Commit 6708750

Browse files
Merge pull request #23 from elbruno/main
New content for localization in Spanish.
2 parents 1b9d6c5 + 589a380 commit 6708750

File tree

10 files changed

+650
-1
lines changed

10 files changed

+650
-1
lines changed

README.es.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Aprendamos .NET Aspire
2+
3+
Ven y aprende todo sobre [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/), una nueva pila de tecnología lista para la nube para construir aplicaciones distribuidas, observables y listas para producción. .NET Aspire se puede agregar a cualquier aplicación, independientemente de su tamaño y escala, para ayudarte a construir aplicaciones mejores y más rápidas.
4+
5+
.NET Aspire simplifica el desarrollo de aplicaciones con:
6+
7+
- **Orquestación**: Orquestación incorporada con un motor de flujo de trabajo simple pero potente. Utiliza C# y API familiares sin necesidad de YAML. Agrega fácilmente servicios en la nube populares, conecta a tus proyectos y ejecútalos localmente con un solo clic.
8+
- **Descubrimiento de servicios**: Inyección automática de las cadenas de conexión correctas o configuraciones de red y la información de descubrimiento de servicios para simplificar la experiencia del desarrollador.
9+
- **Componentes**: Componentes incorporados para servicios en la nube comunes como bases de datos, colas y almacenamiento. Integrados con registro, comprobaciones de salud, telemetría y más.
10+
- **Panel de control**: Visualiza datos en vivo de OpenTelemetry sin necesidad de configuración. El panel de control para desarrolladores de .NET Aspire muestra registros, variables de entorno, trazas distribuidas, métricas y más para verificar rápidamente el comportamiento de la aplicación.
11+
- **Despliegue**: Gestiona la inyección de las cadenas de conexión correctas o configuraciones de red y la información de descubrimiento de servicios para simplificar la experiencia del desarrollador.
12+
- **Y mucho más**: .NET Aspire está repleto de características que a los desarrolladores les encantarán y que te ayudarán a ser más productivo.
13+
14+
Obtén más información sobre .NET Aspire con los siguientes recursos:
15+
- [Documentación](https://learn.microsoft.com/dotnet/aspire)
16+
- [Ruta de aprendizaje de Microsoft Learn](https://learn.microsoft.com/training/paths/dotnet-aspire/)
17+
- [Videos de .NET Aspire](https://aka.ms/aspire/videos)
18+
- [Aplicación de muestra de referencia eShop](https://github.com/dotnet/eshop)
19+
- [Ejemplos de .NET Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire)
20+
- [Preguntas frecuentes de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq)
21+
22+
## Localización
23+
24+
Estos materiales del taller de .NET Aspire están disponibles en los siguientes idiomas:
25+
26+
- [Inglés](./README.md)
27+
- [한국어](./README.ko.md)
28+
29+
## Taller
30+
31+
Este taller de .NET Aspire forma parte de la serie [Aprendamos .NET](https://aka.ms/letslearndotnet). Este taller está diseñado para ayudarte a aprender sobre .NET Aspire y cómo utilizarlo para construir aplicaciones listas para la nube. El taller se divide en 6 módulos:
32+
33+
1. [Configuración e instalación](./workshop/localisation/es/1-setup.md)
34+
1. [Valores predeterminados de servicio](./workshop/localisation/es/2-sevicedefaults.md)
35+
1. [Panel de control del desarrollador y orquestación](./workshop/localisation/es/3-dashboard-apphost.md)
36+
1. [Descubrimiento de servicios](./workshop/localisation/es/4-servicediscovery.md)
37+
1. [Componentes](./workshop/localisation/es/5-components.md)
38+
1. [Despliegue](./workshop/localisation/es/6-deployment.md)
39+
40+
Un conjunto completo de diapositivas está disponible para este taller [aquí](./workshop/localisation/es/AspireWorkshop.pptx).
41+
42+
El proyecto inicial para este taller se encuentra en la carpeta `start-with-api`. Este proyecto es una API de clima simple que utiliza la API del Servicio Meteorológico Nacional para obtener datos meteorológicos y un frontend web para mostrar los datos meteorológicos impulsado por Blazor.
43+
44+
Este taller está diseñado para completarse en un marco de tiempo de 2 horas.
45+
46+
## Datos de demostración
47+
48+
Los datos y servicios utilizados en este tutorial provienen del Servicio Meteorológico Nacional de los Estados Unidos (NWS) en https://weather.gov. Estamos utilizando su especificación de OpenAPI para consultar pronósticos del clima. La especificación de OpenAPI está [disponible en línea](https://www.weather.gov/documentation/services-web-api). Estamos utilizando solo 2 métodos de esta API y hemos simplificado nuestro código para utilizar solo esos métodos en lugar de crear el cliente completo de OpenAPI para la API de NWS.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ This workshop materials are available in the following languages:
2525

2626
- [English](./README.md)
2727
- [한국어](./README.ko.md)
28+
- [Español](./README.es.md)
2829

2930
## Workshop
3031

workshop/5-components.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,4 @@ In this section, we added a Redis component to the App Host and integrated outpu
121121

122122
There are many more components available that you can use to integrate with your services. You can find the list of available components [in the .NET Aspire documentation](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components).
123123

124-
A natural next step would be to integrate a database or leverage Azure Redis Cache as a hosted solution. Components for these and more are available on NuGet.
124+
A natural next step would be to integrate a database or leverage Azure Redis Cache as a hosted solution. Components for these and more are available on NuGet.

workshop/localisation/es/1-setup.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Configuración del sistema
2+
3+
Este taller utilizará las siguientes herramientas:
4+
5+
- [.NET 8 SDK](https://dot.net/download)
6+
- [Carga de trabajo de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/setup-tooling?tabs=dotnet-cli%2Cunix#install-net-aspire)
7+
- [Docker Desktop](https://docs.docker.com/engine/install/) o [Podman](https://podman.io/getting-started/installation)
8+
- [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) o [Visual Studio Code](https://code.visualstudio.com/) con [C# DevKit](https://code.visualstudio.com/docs/csharp/get-started)
9+
10+
Para obtener la mejor experiencia, recomendamos utilizar Visual Studio 2022 con la carga de trabajo de .NET Aspire. Sin embargo, también puedes utilizar Visual Studio Code con el C# Dev Kit y la carga de trabajo de .NET Aspire. A continuación, se muestran las guías de configuración para cada plataforma.
11+
12+
## Windows con Visual Studio
13+
14+
- Instala [Visual Studio 2022 versión 17.10 o posterior](https://visualstudio.microsoft.com/vs/).
15+
- Selecciona las siguientes cargas de trabajo:
16+
- Carga de trabajo de `ASP.NET y desarrollo web`.
17+
- Componente `.NET Aspire SDK` en `Componentes individuales`.
18+
19+
## Mac, Linux y Windows sin Visual Studio
20+
21+
- Instala la última versión del [.NET 8 SDK](https://dot.net/download?cid=eshop)
22+
- Instala la carga de trabajo de [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/setup-tooling?tabs=dotnet-cli%2Cunix#install-net-aspire) con los siguientes comandos:
23+
24+
```powershell
25+
dotnet workload update
26+
dotnet workload install aspire
27+
```
28+
29+
> Nota: Es posible que estos comandos requieran `sudo`.
30+
31+
- Instala [Visual Studio Code con C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started)
32+
33+
> Nota: Cuando se ejecuta en Mac con Apple Silicon (procesador de la serie M), se requiere Rosetta 2 para grpc-tools.
34+
35+
## Prueba de la instalación
36+
37+
Para probar tu instalación, consulta el [Crear tu primer proyecto de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) para obtener más información.
38+
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Valores predeterminados del servicio, también conocidos como valores predeterminados inteligentes
2+
3+
## Introducción
4+
5+
.NET Aspire proporciona un conjunto de valores predeterminados inteligentes para los servicios que se utilizan comúnmente en las aplicaciones .NET. Estos valores predeterminados están diseñados para ayudarte a comenzar rápidamente y proporcionar una experiencia consistente en diferentes tipos de aplicaciones. Esto incluye:
6+
7+
- Telemetría: Métricas, trazas, registro
8+
- Resiliencia
9+
- Comprobaciones de estado
10+
- Descubrimiento de servicios
11+
12+
## Crear proyecto de valores predeterminados del servicio
13+
14+
### Visual Studio y Visual Studio Code
15+
16+
1. Agrega un nuevo proyecto a la solución llamado `ServiceDefaults`:
17+
18+
- Haz clic derecho en la solución y selecciona `Agregar` > `Nuevo proyecto`.
19+
- Selecciona la plantilla de proyecto `.NET Aspire Service Defaults`.
20+
- Nombra el proyecto `ServiceDefaults`.
21+
- Haz clic en `Siguiente` > `Crear`.
22+
23+
*Visual Studio*
24+
![Cuadro de diálogo de Visual Studio para agregar un proyecto de valores predeterminados del servicio](./../../media/vs-add-servicedefaults.png)
25+
26+
*Visual Studio Code*
27+
![Cuadro de diálogo de Visual Studio Code para agregar un proyecto de valores predeterminados del servicio](./../../media/vsc-add-servicedefaults.png)
28+
29+
30+
### Línea de comandos
31+
32+
1. Crea un nuevo proyecto utilizando el comando `dotnet new aspire-servicedefaults`:
33+
34+
```bash
35+
dotnet new aspire-servicedefaults -n ServiceDefaults
36+
```
37+
38+
## Configurar los valores predeterminados del servicio
39+
40+
1. Agrega una referencia al proyecto `ServiceDefaults` en los proyectos `Api` y `MyWeatherHub`:
41+
42+
- Haz clic derecho en el proyecto `Api` y selecciona `Agregar` > `Referencia`.
43+
- Marca el proyecto `ServiceDefaults` y haz clic en `Aceptar`.
44+
- Haz clic derecho en el proyecto `Api` y selecciona `Agregar` > `Referencia`.
45+
- Marca el proyecto `MyWeatherHub` y haz clic en `Aceptar`.
46+
47+
> Consejo: En Visual Studio 2022, puedes arrastrar y soltar el proyecto sobre otro proyecto para agregar una referencia.
48+
49+
1. En los proyectos `Api` y `MyWeatherHub`, actualiza los archivos `Program.cs`, agregando la siguiente línea inmediatamente después de la línea `var builder = WebApplication.CreateBuilder(args);`:
50+
51+
```csharp
52+
builder.AddServiceDefaults();
53+
```
54+
55+
1. En los proyectos `Api` y `MyWeatherHub`, actualiza los archivos `Program.cs`, agregando la siguiente línea inmediatamente después de la línea `var app = builder.Build();`:
56+
57+
```csharp
58+
app.MapDefaultEndpoints();
59+
```
60+
61+
## Ejecutar la aplicación
62+
63+
1. Ejecuta la aplicación utilizando una configuración de multiproyecto en Visual Studio o Visual Studio Code.
64+
65+
- Visual Studio: Haz clic derecho en la solución `MyWeatherHub` y ve a propiedades. Selecciona `Api` y `MyWeatherHub` como proyectos de inicio, selecciona `Aceptar`.
66+
- ![Propiedades de la solución de Visual Studio](./../../media/vs-multiproject.png)
67+
- Haz clic en `Iniciar` para iniciar y depurar ambos proyectos.
68+
- Visual Studio Code: Ejecuta los proyectos `Api` y `MyWeatherHub` utilizando el panel `Ejecutar y depurar`. Hemos proporcionado un archivo `launch.json` con las configuraciones necesarias para ejecutar ambos.
69+
70+
1. Prueba la aplicación navegando a las siguientes URL:
71+
72+
- [https://localhost:7032/swagger/index.html](https://localhost:7032/swagger/index.html) - API
73+
- [https://localhost:7274/](https://localhost:7274/) - MyWeatherHub
74+
75+
1. Deberías ver la interfaz de usuario de Swagger para la API y la página de inicio de MyWeatherHub.
76+
1. También puedes ver las comprobaciones de estado de la API navegando a [https://localhost:7032/health](https://localhost:7032/health).
77+
1. También puedes ver las comprobaciones de estado de MyWeatherHub navegando a [https://localhost:7274/health](https://localhost:7274/health).
78+
1. Visualiza los registros en la terminal para ver las comprobaciones de estado y otros datos de telemetría, como la resiliencia con Polly:
79+
80+
```bash
81+
Polly: Información: Intento de ejecución. Origen: '-standard//Standard-Retry', Clave de operación: '', Resultado: '200', Manejado: 'False', Intento: '0', Tiempo de ejecución: '13.0649'
82+
```
83+
84+
1. Haz clic en 5 ciudades diferentes y se lanzará un error "aleatorio". Verás la política de re-intento en acción.
85+
86+
```bash
87+
Polly: Advertencia: Intento de ejecución. Origen: '-standard//Standard-Retry', Clave de operación: '', Resultado: '500', Manejado: 'True', Intento: '0', Tiempo de ejecución: '9732.8258'
88+
Polly: Advertencia: Se produjo un evento de resiliencia. Nombre del evento: 'OnRetry', Origen: '-standard//Standard-Retry', Clave de operación: '', Resultado: '500'
89+
System.Net.Http.HttpClient.NwsManager.ClientHandler: Información: Enviando solicitud HTTP GET http://localhost:5271/forecast/AKZ318
90+
```
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Panel de control y orquestación con .NET Aspire App Host
2+
3+
.NET Aspire proporciona APIs para expresar recursos y dependencias dentro de tu aplicación distribuida. Además de estas APIs, hay herramientas que permiten algunos escenarios interesantes. El orquestador está destinado a fines de desarrollo local.
4+
5+
Antes de continuar, considera algunos términos comunes utilizados en .NET Aspire:
6+
7+
* *Modelo de aplicación*: Una colección de recursos que conforman tu aplicación distribuida (DistributedApplication).
8+
* *Proyecto de anfitrión de aplicación/orquestador*: El proyecto .NET que orquesta el modelo de aplicación, nombrado con el sufijo *.AppHost (por convención).
9+
* *Recurso*: Un recurso representa una parte de una aplicación, ya sea un proyecto .NET, un contenedor, un ejecutable u otro recurso como una base de datos, una caché o un servicio en la nube (como un servicio de almacenamiento).
10+
* *Referencia*: Una referencia define una conexión entre recursos, expresada como una dependencia mediante la API `WithReference`.
11+
12+
## Crear proyecto de anfitrión de aplicación
13+
14+
### Visual Studio y Visual Studio Code
15+
16+
1. Agrega un nuevo proyecto a la solución llamado `AppHost`:
17+
18+
- Haz clic derecho en la solución y selecciona `Agregar` > `Nuevo proyecto`.
19+
- Selecciona la plantilla de proyecto `.NET Aspire App Host`.
20+
- Nombra el proyecto `AppHost`.
21+
- Haz clic en `Siguiente` > `Crear`.
22+
23+
*Visual Studio*
24+
![Diálogo de Visual Studio para agregar un proyecto de anfitrión de aplicación](./../../media/vs-add-apphost.png)
25+
26+
*Visual Studio Code*
27+
![Diálogo de Visual Studio Code para agregar un proyecto de anfitrión de aplicación](./../../media/vsc-add-apphost.png)
28+
29+
30+
### Línea de comandos
31+
32+
1. Crea un nuevo proyecto utilizando el comando `dotnet new aspire-apphost`:
33+
34+
```bash
35+
dotnet new aspire-apphost -n AppHost
36+
```
37+
38+
## Configurar valores predeterminados del servicio
39+
40+
1. Agrega una referencia a los proyectos `Api` y `MyWeatherHub` en el nuevo proyecto `AppHost`:
41+
42+
- Haz clic derecho en el proyecto `AppHost` y selecciona `Agregar` > `Referencia`.
43+
- Marca los proyectos `Api` y `MyWeatherHub` y haz clic en `Aceptar`.
44+
45+
> Consejo: En Visual Studio 2022, puedes arrastrar y soltar el proyecto sobre otro proyecto para agregar una referencia.
46+
47+
1. Cuando se agregan estas referencias, los generadores de código fuente generan automáticamente el código necesario para referenciar los proyectos en el anfitrión de la aplicación.
48+
49+
## Orquestar la aplicación
50+
51+
1. En el proyecto `AppHost`, actualiza el archivo `Program.cs`, agregando la siguiente línea inmediatamente después de la línea `var builder = DistributedApplication.CreateBuilder(args);`:
52+
53+
```csharp
54+
var api = builder.AddProject<Projects.Api>("api");
55+
56+
var web = builder.AddProject<Projects.MyWeatherHub>("myweatherhub");
57+
```
58+
59+
## Ejecutar la aplicación
60+
61+
1. Establece el proyecto `AppHost` como proyecto de inicio en Visual Studio haciendo clic derecho en `AppHost` y seleccionando `Establecer como proyecto predeterminado`.
62+
1. Si estás utilizando Visual Studio Code, abre el archivo `launch.json` y reemplaza todo el contenido con lo siguiente:
63+
```json
64+
{
65+
"version": "0.2.0",
66+
"configurations": [
67+
{
68+
"name": "Ejecutar AppHost",
69+
"type": "dotnet",
70+
"request": "launch",
71+
"projectPath": "${workspaceFolder}\\AppHost\\AppHost.csproj"
72+
}
73+
]
74+
}
75+
```
76+
77+
1. Ejecuta el anfitrión de la aplicación utilizando el panel `Ejecutar y depurar` en Visual Studio Code o Visual Studio.
78+
1. El Panel de control de .NET Aspire se abrirá en tu navegador predeterminado y mostrará los recursos y dependencias de tu aplicación.
79+
80+
![Panel de control de .NET Aspire](./../../media/dashboard.png)
81+
82+
1. Abre el panel del clima haciendo clic en el punto de conexión para `MyWeatherHub`, que será [https://localhost:7274](https://localhost:7274).
83+
1. Observa que los proyectos `Api` y `MyWeatherHub` se están ejecutando en el mismo proceso y pueden comunicarse entre sí de la misma manera que antes utilizando la configuración.
84+
1. Haz clic en el botón `Ver registros` para ver los registros de los proyectos `Api` y `MyWeatherHub`.
85+
1. Selecciona la pestaña `Traces` y selecciona `Ver` en un rastro donde se llame a la API.
86+
87+
![Panel de control de .NET Aspire](./../../media/dashboard-trace.png)
88+
89+
1. Explora la pestaña `Métricas` para ver las métricas de los proyectos `Api` y `MyWeatherHub`.
90+
91+
![Panel de control de .NET Aspire](./../../media/dashboard-metrics.png)
92+
93+
## Crear un error
94+
95+
1. Abre la pestaña `Estructurado` en el panel de control.
96+
1. Establece el `Nivel` en `Error` y observa que no aparecen errores.
97+
1. En el sitio web de `MyWeatherApp`, haz clic en varias ciudades diferentes para generar errores. Por lo general, 5 ciudades diferentes generarán un error.
98+
1. Después de generar los errores, la pestaña `Estructurado` se actualizará automáticamente en el panel de control y observa que se muestran los errores.
99+
100+
![Panel de control de .NET Aspire](./../../media/dashboard-error.png)
101+
102+
1. Haz clic en el `Rastro` o en los `Detalles` para ver el mensaje de error y la traza de la pila.
103+

0 commit comments

Comments
 (0)