

Aviso de fin de soporte: el 20 de mayo de 2026, AWS finalizará el soporte para AWS SimSpace Weaver. Después del 20 de mayo de 2026, ya no podrás acceder a la SimSpace Weaver consola ni a SimSpace Weaver los recursos. Para obtener más información, consulta [AWS SimSpace Weaver el fin del soporte](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html). 

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial detallado: conozca los detalles mientras crea la aplicación de muestra
<a name="getting-started_detailed"></a>

El [tutorial de inicio rápido](getting-started_quickstart.md) explicaba cómo crear, iniciar, detener y eliminar un ejemplo de simulación mediante `quick-start.py` y`stop-and-delete.py`. Este tutorial explicará en detalle cómo funcionan estos scripts y los parámetros adicionales que estos scripts pueden adoptar para maximizar la flexibilidad de las simulaciones personalizadas de Weaver.

**Requisitos**  
Antes de comenzar, asegúrese de que ha realizado los pasos que se detallan en [Configuración para SimSpace Weaver](setting-up.md). 

## Paso 1: Habilitar el registro (opcional)
<a name="getting-started_detailed_enable-logging"></a>

**Para activar el registro**

1. Navegue hasta:

   ```
   {{sdk-folder}}/Samples/PathfindingSample/tools
   ```

1. Abra el archivo de esquema en un editor de texto:

   ```
   pathfinding-single-worker-schema.yaml
   ```

1. Busque la sección `simulation_properties:` al principio del archivo:

   ```
   simulation_properties:
     default_entity_index_key_type: "Vector3<f32>"
   ```

1. Inserte las dos líneas siguientes después de la línea `simulation_properties:`:

   ```
     log_destination_service: "logs"
     log_destination_resource_name: "MySimulationLogs"
   ```

1. Confirme que su sección `simulation_properties:` es como sigue:

   ```
   simulation_properties:
     log_destination_service: "logs"
     log_destination_resource_name: "MySimulationLogs"
     default_entity_index_key_type: "Vector3<f32>"
   ```

1. Guarde el archivo y salga del editor de texto.

## Paso 2: Inicie la simulación
<a name="getting-started_detailed_start-sim"></a>

Como se muestra en el [tutorial de inicio rápido](getting-started_quickstart.md), los pasos más básicos para lanzar un ejemplo de simulación son:

1. Navegue hasta:

   ```
   sdk-folder/Samples/PathfindingSample/tools/cloud
   ```

1. Ejecute uno de los siguientes comandos:
   +  **Docker:** `python quick-start.py` 
   +  **WSL:** `python quick-start.py --al2` 

Este script automatiza los comandos de terminal más comunes, todos los cuales se pueden ejecutar manualmente mediante el. AWS CLI Estos pasos son los siguientes:

1.  Cargue el esquema de Weaver en S3. 
   +  SimSpace Weaver utiliza un esquema para configurar la simulación. El esquema es un archivo de texto plano con formato YAML. Para obtener más información, consulte [Configuración de su simulación](working-with_configuring-simulation.md). 

1.  Crea y carga un contenedor personalizado (opcional). 
   +  Si su esquema define un contenedor personalizado, el script de inicio rápido compilará la imagen del docker y la cargará en Amazon ECR. Para obtener más información, consulte [Contenedores personalizados](working-with_custom-containers.md). Consulte el `PythonBubblesSample` esquema para ver un ejemplo de esta función. 

1.  Compilar el proyecto. 
   +  `quick-start.py`llama a la `build_project` función definida en`build.py`. Este paso variará en función del proyecto. Para el PathfindingSample, CMake se usa. El comando CMake and Docker, que se encuentra en`build.py`. 

1.  Sube los artefactos de construcción a S3. 
   +  Puedes comprobar tus depósitos de S3 para asegurarte de que todas las cargas se han realizado correctamente. Para obtener más información sobre cómo usar Amazon S3, consulte [Creación, configuración y trabajo con buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) en la *Guía del usuario de la consola de Amazon Simple Storage Service*. 
   +  Los archivos zip de la aplicación de muestra y el bucket de S3 utilizan el siguiente formato de nombre: 
     +  `weaver-sample-bucket-account-number-region` 
     +  Aplicación espacial: `ProjectNameSpatial.zip` 
     +  Ver aplicación (personalizada): `ProjectNameView.zip` 

1.  Inicie la simulación. 
   +  Esto es un resumen de la `aws simspaceweaver start-simulation` AWS CLI llamada. Para obtener más información, consulte la [Referencia de AWS CLI comandos de](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/) SimSpace Weaver. 
   +  El script se repetirá hasta que el estado de la simulación sea `STARTED` o `FAILED`. Puede que transcurran unos minutos hasta que la simulación se inicie. 

1.  Obtenga los detalles de la simulación. 
   + La API de **DescribeSimulation** proporciona detalles sobre la simulación, incluido su estado. Una simulación puede tener uno de los siguientes estados: 

**Estados del ciclo de vida de la simulación**

     1. **`STARTING`**: estado inicial después de llamar a **StartSimulation**

     1. **`STARTED`**: todas las aplicaciones espaciales están iniciadas y en buen estado

     1. **`STOPPING`**: estado inicial después de llamar a **StopSimulation**

     1. **`STOPPED`**: todos los recursos de cómputo están detenidos

     1. **`DELETING`**: estado inicial después de llamar a **DeleteSimulation**

     1. **`DELETED`**: se eliminan todos los recursos asignados a la simulación

     1. **`FAILED`**— La simulación tuvo un punto crítico error/failure y se detuvo

     1. **`SNAPSHOT_IN_PROGRESS`**: hay una [instantánea](working-with_snapshots.md) en curso

**Para obtener los detalles de la simulación**

     1. Llame a la API **ListSimulations**.

        ```
        aws simspaceweaver list-simulations
        ```

        El script debe mostrar detalles sobre cada una de sus simulaciones, como se muestra a continuación: 

        ```
        {
            "Status": "STARTED",
            "CreationTime": 1664921418.09,
            "Name": "MyProjectSimulation_22-10-04_22_10_15",
            "Arn": "arn:aws:simspaceweaver:us-west-2:111122223333:simulation/MyProjectSimulation_22-10-04_22_10_15",
            "TargetStatus": "STARTED"
        }
        ```

     1. Llame a **DescribeSimulation** para obtener los detalles de su simulación. Reemplace {{simulation-name}} con el **Name** de su simulación del resultado del paso anterior.

        ```
        aws simspaceweaver describe-simulation --simulation {{simulation-name}}
        ```

        El script debe mostrar más detalles sobre la simulación que ha especificado, como se muestra a continuación: 

        ```
        {
            "Status": "STARTED",
            "CreationTime": 1664921418.09,
            "Name": "MyProjectSimulation_22-10-04_22_10_15",
            "Arn": "arn:aws:simspaceweaver:us-west-2:111122223333:simulation/MyProjectSimulation_22-10-04_22_10_15",
            "TargetStatus": "STARTED"
        }
        ```

1.  Inicie aplicaciones personalizadas. 
   + SimSpace Weaver no gestiona el ciclo de vida de las aplicaciones personalizadas. Debe iniciar sus aplicaciones personalizadas. Se recomienda iniciar las aplicaciones personalizadas antes de iniciar el reloj de simulación, pero puede iniciar las aplicaciones personalizadas después de encender el reloj. 

     Puedes llamar a la **StartApp** API para iniciar tus aplicaciones personalizadas.

     ```
     aws simspaceweaver start-app --simulation {{simulation-name}} --name {{app-name}} --domain {{domain-name}}
     ```

     La llamada a la API de **StartApp** creará e iniciará una nueva instancia de la aplicación personalizada con el nombre que proporcione. Si proporciona el nombre de una aplicación que ya existe, recibirá un error. Si quiere reiniciar una aplicación (instancia) en particular, primero debe detenerla y eliminarla.
**nota**  
El estado de la simulación debe estar `STARTED` antes de que pueda iniciar aplicaciones personalizadas.

     La aplicación de ejemplo proporciona la aplicación personalizada `ViewApp` para ver la simulación. Esta aplicación le proporciona una dirección IP estática y un número de puerto para conectar los clientes de simulación (lo hará en un paso posterior de este tutorial). Puede pensar en un **domain** como una clase de aplicaciones que tienen el mismo código ejecutable y las mismas opciones de inicio. **app name** identifica la instancia de la aplicación. Para obtener más información sobre SimSpace Weaver los conceptos, consulte[Conceptos clave para SimSpace Weaver](what-is_key-concepts.md).

     Puede utilizar la API de **DescribeApp** para comprobar el estado de una aplicación personalizada después de iniciarla.

     ```
     aws simspaceweaver describe-app --simulation {{simulation-name}} --app {{app-name}} --domain {{domain-name}}
     ```

**Para iniciar la aplicación de visualización en este tutorial**

     1. Llame **StartApp** para`ViewApp`.

        ```
        aws simspaceweaver start-app --simulation {{simulation-name}} --name ViewApp --domain MyViewDomain
        ```

     1. Llame a **DescribeApp** para comprobar el estado de la aplicación personalizada.

        ```
        aws simspaceweaver describe-app --simulation {{simulation-name}} --app ViewApp --domain MyViewDomain
        ```

     Cuando el estado de la aplicación personalizada (instancia) sea `STARTED`, el resultado de **DescribeApp** incluirá la dirección IP y el número de puerto de esa aplicación personalizada (instancia). En el siguiente ejemplo de salida, la dirección IP es el valor del bloque `Address` y el número de puerto es el valor `Actual` del bloque `EndpointInfo`. 

     ```
     {
         "Status": "STARTED",
         "Domain": "MyViewDomain",
         "TargetStatus": "STARTED",
         "Simulation": "MyProjectSimulation_22-10-04_22_10_15",
         "LaunchOverrides": {
             "LaunchCommands": []
         },
         "EndpointInfo": {
             "IngressPortMappings": [
                 {
                     "Declared": 7000,
                     "Actual": 4321
                 }
             ],
             "Address": "198.51.100.135"
         },
         "Name": "ViewApp"
     }
     ```
**nota**  
El valor de `Declared` es el número de puerto al que debe enlazarse el código de la aplicación. El valor de `Actual` es el número de puerto al que se SimSpace Weaver exponen los clientes para que se conecten a tu aplicación. SimSpace Weaver asigna el `Declared` puerto al `Actual` puerto.
**nota**  
Puede usar el procedimiento descrito en [Obtenga la dirección IP y el número de puerto de una aplicación personalizadaObtenga la dirección IP y el número de puerto](working-with_get-ip.md) para obtener la dirección IP y el número de puerto de cualquier aplicación personalizada iniciada.

1.  Arranca el reloj. 
   + Cuando crea la simulación por primera vez, tiene un reloj, pero el reloj no está funcionando. Cuando el reloj no esté funcionando, la simulación no actualizará su estado. Cuando encienda el reloj, empezará a enviar graduaciones a sus aplicaciones. Con cada movimiento, tus aplicaciones espaciales recorren las entidades de las que son propietarias y con las que archivan los resultados SimSpace Weaver 
**nota**  
El reloj puede tardar entre 30 y 60 segundos en ponerse en marcha.

     Llame a la API **StartClock**.

     ```
     aws simspaceweaver start-clock --simulation {{simulation-name}}
     ```
**nota**  
La API de **StartClock** usa su `{{simulation-name}}`, que puede encontrar en la API de **ListSimulations**:  

     ```
     aws simspaceweaver list-simulations
     ```

**parámetros de inicio rápido**
+ -h, --help
  +  Enumere estos parámetros. 
+ --limpiar
  +  Elimine el contenido del directorio de compilación antes de compilar. 
+ --al2
  +  Se basa directamente en la máquina nativa en lugar de en Docker. Úselo únicamente si se ejecuta en un entorno Amazon Linux 2, como WSL. 
+ --solo carga
  +  Cargue únicamente el esquema y los zips de la aplicación en Amazon S3, no inicie la simulación. 
+ --sin compilación
  +  Omita la reconstrucción del proyecto. 
+ --sin contenedor
  +  Omita la reconstrucción del contenedor de simulación que aparece en el esquema. 
+ --consoleclient
  +  Cree y conecte automáticamente el cliente de consola que aparece en config.py. 
+ --esquema
  +  Qué esquema utilizará esta invocación. El valor predeterminado es 'SCHEMA' en config.py. 
+ --name NAME
  +  Nombre que tendrá la simulación. El valor predeterminado es el de fecha y hora de «PROJECT\_NAME» en config.py. 

## Paso 3: Compruebe los registros (opcional)
<a name="getting-started_detailed_check-logs"></a>

SimSpace Weaver escribe los mensajes de administración de la simulación y la salida de la consola de sus aplicaciones en Amazon CloudWatch Logs. Para obtener más información sobre cómo trabajar con registros, consulte [Trabajar con grupos de registros y flujos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) de * CloudWatch registros en la Guía del usuario de Amazon Logs*. 

Cada simulación que cree tiene su propio grupo de CloudWatch registros en Logs. El nombre del grupo de registro se especifica en el esquema de simulación. En el siguiente fragmento de esquema, el valor de `log_destination_service` es `logs`. Esto significa que el valor de `log_destination_resource_name` es el nombre de un grupo de registro. En este caso, el grupo de registro es `MySimulationLogs`. 

```
simulation_properties:
  log_destination_service: "logs"
  log_destination_resource_name: "MySimulationLogs"
  default_entity_index_key_type: "Vector3<f32>"
```

También puede usar la API de **DescribeSimulation** para buscar el nombre del grupo de registro para la simulación después de iniciarla.

```
aws simspaceweaver describe-simulation --simulation {{simulation-name}}
```

El siguiente ejemplo muestra la parte del resultado de **DescribeSimulation** que describe la configuración de registro. El nombre del grupo de registro se muestra al final de `LogGroupArn`.

```
   
    "LoggingConfiguration": {
        "Destinations": [
            {
                "CloudWatchLogsLogGroup": {
                    "LogGroupArn": "arn:aws:logs:us-west-2:111122223333:log-group:MySimulationLogs"
                }
            }
        ]
    },
```

Cada grupo de registro de simulación contiene varios flujos de registro:
+ Flujo **de registro** de administración: mensajes de administración de simulaciones producidos por el SimSpace Weaver servicio.

  ```
  /sim/management
  ```
+ Flujo de **registro de errores**: mensajes de error producidos por el SimSpace Weaver servicio. Este flujo de registro solo existe si hay errores. SimSpace Weaver almacena los errores escritos por tus aplicaciones en sus propios flujos de registro de aplicaciones (consulta los siguientes flujos de registro).

  ```
  /sim/errors
  ```
+ **Flujos de registro de aplicaciones espaciales** (1 para cada aplicación espacial de cada trabajador): resultado de la consola generado por aplicaciones espaciales. Cada aplicación espacial escribe en su propio flujo de registro. {{spatial-app-id}} son todos los caracteres que aparecen después de la barra final del {{worker-id}}.

  ```
  /domain/{{spatial-domain-name}}/app/worker-{{worker-id}}/{{spatial-app-id}}
  ```
+ **Flujos de registro de aplicaciones personalizadas** (1 para cada instancia de aplicación personalizada): resultado de la consola generado por aplicaciones personalizadas. Cada instancia de aplicación personalizada escribe en su propio flujo de registro.

  ```
  /domain/{{custom-domain-name}}/app/{{custom-app-name}}/{{random-id}}
  ```
+ **Flujos de registro de aplicaciones de servicio** (1 para cada instancia de aplicación de servicio): resultado de la consola generado por las aplicaciones de servicio. Cada aplicación de servicio escribe en su propio flujo de registro. {{service-app-id}} son todos los caracteres que aparecen después de la barra final del {{service-app-name}}.

  ```
  /domain/{{service-domain-name}}/app/{{service-app-name}}/{{service-app-id}}
  ```

**nota**  
La aplicación de ejemplo no tiene aplicaciones de servicio.

## Paso 4: Ver la simulación
<a name="getting-started_detailed_view"></a>

El SDK de la SimSpace Weaver aplicación ofrece diferentes opciones para ver la aplicación de muestra. Puedes usar el cliente de consola de ejemplo si no tienes soporte local para el desarrollo de Unreal Engine. En las instrucciones del cliente de Unreal Engine se presupone que estás utilizando Windows.

El cliente de la consola muestra una lista de los eventos de la entidad a medida que se producen. El cliente obtiene la información de los eventos de la entidad del `ViewApp`. Si el cliente de la consola muestra la lista de eventos, confirma la conectividad de la red con la actividad de `ViewApp` y de la simulación.

La simulación de `PathfindingSample` crea entidades estacionarias y móviles en un plano bidimensional. Las entidades móviles se mueven alrededor de las entidades estacionarias. El cliente Unreal Engine proporciona una visualización de los eventos de la entidad.

### Cliente de consola
<a name="getting-started_detailed_view_console-client"></a>

El cliente de consola se puede crear y conectar automáticamente al lanzar un ejemplo `quick-start.py` si se incluye la `--consoleclient` opción. Para crear y conectar el cliente de consola después `quick-start.py` de haberlo llamado, haga lo siguiente:

Navegue hasta:

```
sdk-folder/Clients/TCP/CppConsoleClient
```

Ejecute el script para crear y conectar el cliente:

```
python start_client.py --host ip-address --port port-number
```

El script hará lo siguiente:

1.  Cree el cliente de consola con CMake. 

1.  Inicie el ejecutable creado con la dirección IP y el número de puerto proporcionados. 

   ```
   .\WeaverNngConsoleClient.exe --url tcp://{{ip-address:port-number}}
   ```

### Cliente Unreal Engine
<a name="getting-started_detailed_view_unreal-client"></a>

Consulte [Lanzamiento del cliente de visualización de Unreal Engine](working-with_unreal-client.md).

## Paso 5: Detenga y elimine la simulación
<a name="getting-started_detailed_stop"></a>

 Navegue hasta: 

```
sdk-folder/Samples/PathfindingSample/tools/cloud
```

Busque los nombres de sus simulaciones:

```
aws simspaceweaver list-simulations
```

Detenga y elimine la simulación:

```
python stop-and-delete.py --simulation simulation-name
```

El script `stop-and-delete.py` hará lo siguiente:

1. Ejecute el AWS CLI comando para detener una simulación.
   + `aws simspaceweaver stop-simulation`
   + Para obtener más información, consulte la [Referencia de AWS CLI comandos](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/stop-simulation.html) para SimSpace Weaver.

1.  Ejecute el AWS CLI comando para eliminar una simulación. 
   +  `aws simpaceweaver delete-simulation` 
   + Para obtener más información, consulte la [Referencia de AWS CLI comandos](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/delete-simulation.html) para SimSpace Weaver.

**stop-and-delete parámetros**
+ -h, --help
  + Enumere estos parámetros.
+ --SIMULACIÓN, SIMULACIÓN
  + El nombre de la simulación para stop-and-delete
+ --parar
  + Solo detenga la simulación. No lo borra.
+ --eliminar
  + Elimine solo una simulación. Solo funcionará si la simulación es una de las dos `STOPPED``FAILED`.

## Resolución de problemas
<a name="getting-started_detailed_troubleshooting"></a>

Consulte [Solución de problemas](getting-started_quickstart.md#getting-started_quickstart_troubleshooting) en el tutorial de inicio rápido.