

Avviso di fine del supporto: il 20 maggio 2026, AWS terminerà il supporto per AWS SimSpace Weaver. Dopo il 20 maggio 2026, non potrai più accedere alla SimSpace Weaver console o SimSpace Weaver alle risorse. Per ulteriori informazioni, consulta [AWS SimSpace Weaver Fine del supporto](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial dettagliato: scopri i dettagli durante la creazione dell'applicazione di esempio
<a name="getting-started_detailed"></a>

Il [tutorial di avvio rapido](getting-started_quickstart.md) ha spiegato come creare, avviare, interrompere ed eliminare una simulazione di esempio utilizzando `quick-start.py` e`stop-and-delete.py`. Questo tutorial illustrerà in dettaglio come funzionano questi script e i parametri aggiuntivi che questi script possono utilizzare per massimizzare la flessibilità delle simulazioni Weaver personalizzate.

**Requisiti**  
Prima di iniziare, assicurati di aver completato i passaggi indicati in. [Configurazione per SimSpace Weaver](setting-up.md) 

## Passaggio 1: abilitare la registrazione (opzionale)
<a name="getting-started_detailed_enable-logging"></a>

**Per attivare la registrazione**

1. Vai a:

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

1. Apri il file di schema in un editor di testo:

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

1. Trova la `simulation_properties:` sezione all'inizio del file:

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

1. Inserisci le seguenti 2 righe dopo la riga`simulation_properties:`:

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

1. Conferma che la `simulation_properties:` sezione sia uguale alla seguente:

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

1. Salva il file ed esci dall’editor di testo.

## Fase 2: Inizia la simulazione
<a name="getting-started_detailed_start-sim"></a>

Come illustrato nel [tutorial di avvio rapido](getting-started_quickstart.md), i passaggi fondamentali per avviare una simulazione di esempio sono:

1. Vai a:

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

1. Esegui uno dei seguenti comandi:
   +  **Docker:** `python quick-start.py` 
   +  **WSL:** `python quick-start.py --al2` 

Questo script automatizza i comandi terminali più comuni, che possono essere eseguiti tutti manualmente utilizzando. AWS CLI Questi passaggi sono:

1.  Carica lo schema Weaver su S3. 
   +  SimSpace Weaver utilizza uno schema per configurare la simulazione. Lo schema è un file di testo semplice in formato YAML. Per ulteriori informazioni, consulta [Configurazione della simulazione](working-with_configuring-simulation.md). 

1.  Crea e carica un contenitore personalizzato (opzionale). 
   +  Se lo schema definisce un contenitore personalizzato, lo script di avvio rapido creerà l'immagine docker e la caricherà su Amazon ECR. Per ulteriori informazioni, consulta [Contenitori personalizzati](working-with_custom-containers.md). Consulta lo `PythonBubblesSample` schema per un esempio di questa funzionalità. 

1.  Compilare il progetto. 
   +  `quick-start.py`chiama la `build_project` funzione definita in`build.py`. Questo passaggio varierà a seconda del progetto. Per il PathfindingSample, CMake viene utilizzato. Il comando CMake and Docker per cui è disponibile in`build.py`. 

1.  Carica gli artefatti della build su S3. 
   +  Puoi controllare i tuoi bucket S3 per assicurarti che tutti i caricamenti siano stati eseguiti correttamente. *Per ulteriori informazioni sull'uso di Amazon S3, consulta [Creazione, configurazione e utilizzo dei bucket Amazon S3 nella Guida per l'utente di Amazon Simple](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) Storage Service.* 
   +  Gli zip dell'applicazione di esempio e il bucket S3 utilizzano il seguente formato di nome: 
     +  `weaver-sample-bucket-account-number-region` 
     +  App spaziale: `ProjectNameSpatial.zip` 
     +  Visualizza l'app (personalizzata): `ProjectNameView.zip` 

1.  Avvia la simulazione. 
   +  Questo è un riepilogo della chiamata. `aws simspaceweaver start-simulation` AWS CLI Per ulteriori informazioni, vedere il [AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/) for. SimSpace Weaver
   +  Lo script verrà ripetuto fino a quando lo stato della simulazione non sarà `STARTED` o`FAILED`. L'avvio di una simulazione può richiedere alcuni minuti. 

1.  Ottieni i dettagli della simulazione. 
   + L'**DescribeSimulation**API fornisce dettagli sulla simulazione, incluso lo stato. Una simulazione può trovarsi in uno dei seguenti stati: 

**Stati del ciclo di vita della simulazione**

     1. **`STARTING`**— Stato iniziale dopo la chiamata **StartSimulation**

     1. **`STARTED`**— tutte le app spaziali sono avviate e funzionanti

     1. **`STOPPING`**— Stato iniziale dopo la chiamata **StopSimulation**

     1. **`STOPPED`**— Tutte le risorse di elaborazione vengono interrotte

     1. **`DELETING`**— Stato iniziale dopo la chiamata **DeleteSimulation**

     1. **`DELETED`**— Tutte le risorse assegnate alla simulazione vengono eliminate

     1. **`FAILED`**— La simulazione ha avuto un problema critico error/failure e si è interrotta

     1. **`SNAPSHOT_IN_PROGRESS`**— È in [corso un'istantanea](working-with_snapshots.md)

**Per ottenere i dettagli della simulazione**

     1. Chiamata dell'API **ListSimulations**.

        ```
        aws simspaceweaver list-simulations
        ```

        Lo script dovrebbe mostrare dettagli su ciascuna delle simulazioni, simili ai seguenti: 

        ```
        {
            "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. Chiama **DescribeSimulation** per avere i dettagli della simulazione. Sostituiscilo {{simulation-name}} **Name** con la simulazione dell'output del passaggio precedente.

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

        Lo script dovrebbe mostrare maggiori dettagli sulla simulazione specificata, simili ai seguenti: 

        ```
        {
            "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.  Avvia app personalizzate. 
   + SimSpace Weaver non gestisce il ciclo di vita delle app personalizzate. È necessario avviare le app personalizzate. È consigliabile avviare le app personalizzate prima di avviare l'orologio di simulazione, ma è possibile avviare le app personalizzate dopo aver avviato l'orologio. 

     Puoi chiamare l'**StartApp**API per avviare le tue app personalizzate.

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

     La chiamata **StartApp** API creerà e avvierà una nuova istanza dell'app personalizzata utilizzando il nome fornito. Se fornisci il nome di un'app già esistente, riceverai un errore. Se desideri riavviare una particolare app (istanza), devi prima arrestare quell'app ed eliminarla.
**Nota**  
Lo stato della simulazione deve essere quello `STARTED` precedente all'avvio di app personalizzate.

     L'applicazione di esempio fornisce l'app `ViewApp` personalizzata per visualizzare la simulazione. Questa app fornisce un indirizzo IP statico e un numero di porta per connettere i client di simulazione (lo farai in un passaggio successivo di questo tutorial). Puoi pensare a una **domain** classe di app che hanno lo stesso codice eseguibile e le stesse opzioni di avvio. **app name**Identifica l'istanza dell'app. Per ulteriori informazioni sui SimSpace Weaver concetti, vedere[Concetti chiave per SimSpace Weaver](what-is_key-concepts.md).

     Puoi utilizzare l'**DescribeApp**API per verificare lo stato di un'app personalizzata dopo averla avviata.

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

**Per avviare l'app di visualizzazione in questo tutorial**

     1. Chiama **StartApp** per`ViewApp`.

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

     1. Chiama **DescribeApp** per verificare lo stato della tua app personalizzata.

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

     Dopo lo stato dell'app personalizzata (istanza)`STARTED`, l'output di **DescribeApp** includerà l'indirizzo IP e il numero di porta dell'app personalizzata (istanza). Nell'output di esempio seguente, l'indirizzo IP è il valore di `Address` e il numero di porta è il valore di `Actual` nel `EndpointInfo` blocco. 

     ```
     {
         "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**  
Il valore di `Declared` è il numero di porta a cui deve essere associato il codice dell'app. Il valore di `Actual` è il numero di porta che SimSpace Weaver i client possono connettersi alla tua app. SimSpace Weaver mappa la `Declared` porta alla `Actual` porta.
**Nota**  
È possibile utilizzare la procedura descritta in [Ottieni l'indirizzo IP e il numero di porta di un'app personalizzataOttieni l'indirizzo IP e il numero di porta](working-with_get-ip.md) per ottenere l'indirizzo IP e il numero di porta di qualsiasi app personalizzata avviata.

1.  Avvia l'orologio. 
   + Quando crei la simulazione per la prima volta, c'è un orologio ma l'orologio non è in funzione. Quando l'orologio non è in funzione, la simulazione non aggiornerà il suo stato. Dopo aver avviato l'orologio, inizierà a inviare segni di spunta alle tue app. Ogni segno di spunta, le tue app spaziali esaminano le entità che possiedono e a cui inviano i risultati SimSpace Weaver 
**Nota**  
L'avvio dell'orologio può richiedere 30-60 secondi.

     Chiamata dell'API **StartClock**.

     ```
     aws simspaceweaver start-clock --simulation {{simulation-name}}
     ```
**Nota**  
L'**StartClock**API utilizza il tuo`{{simulation-name}}`, che puoi trovare utilizzando l'**ListSimulations**API:  

     ```
     aws simspaceweaver list-simulations
     ```

**parametri di avvio rapido**
+ -h, --help
  +  Elenca questi parametri. 
+ --clean
  +  Elimina il contenuto della cartella di compilazione prima della compilazione. 
+ --al2
  +  Si basa direttamente sulla macchina nativa anziché su Docker. Usalo solo se esegui in un ambiente Amazon Linux 2, come WSL. 
+ --upload only
  +  Carica solo lo schema e gli zip dell'app su Amazon S3, non avviare la simulazione. 
+ --nessuna build
  +  Salta la ricostruzione del progetto. 
+ - nessun contenitore
  +  Salta la ricostruzione del contenitore di simulazione elencato nello schema. 
+ --consoleclient
  +  Crea e connetti automaticamente il client della console elencato in config.py. 
+ SCHEMA --schema
  +  Quale schema utilizzerà questa invocazione. Il valore predefinito è 'SCHEMA' in config.py. 
+ --name NAME
  +  Che nome avrà la simulazione. Il valore predefinito è 'Project\_name'-date-time in config.py. 

## Fase 3: Controlla i log (opzionale)
<a name="getting-started_detailed_check-logs"></a>

SimSpace Weaver scrive i messaggi di gestione della simulazione e l'output della console dalle tue app su Amazon CloudWatch Logs. Per ulteriori informazioni sull'utilizzo dei log, consulta [Working with log groups and log stream](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) nella *Amazon CloudWatch Logs* User Guide. 

Ogni simulazione che crei ha il proprio gruppo di log in Logs. CloudWatch Il nome del gruppo di log è specificato nello schema di simulazione. Nel frammento di schema seguente, il valore di è. `log_destination_service` `logs` Ciò significa che il valore di `log_destination_resource_name` è il nome di un gruppo di log. In questo caso, il gruppo di log è`MySimulationLogs`. 

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

Puoi anche utilizzare l'**DescribeSimulation**API per trovare il nome del gruppo di log per la simulazione dopo averlo avviato.

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

L'esempio seguente mostra la parte dell'output **DescribeSimulation** che descrive la configurazione di registrazione. Il nome del gruppo di log viene visualizzato alla fine di`LogGroupArn`.

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

Ogni gruppo di log di simulazione contiene diversi flussi di log:
+ **Flusso di log di gestione**: messaggi di gestione della simulazione prodotti dal servizio. SimSpace Weaver 

  ```
  /sim/management
  ```
+ **Flusso di registro degli errori**: messaggi di errore prodotti dal SimSpace Weaver servizio. Questo flusso di log esiste solo in presenza di errori. SimSpace Weaver archivia gli errori scritti dalle tue app nei rispettivi flussi di log delle app (vedi i seguenti flussi di log).

  ```
  /sim/errors
  ```
+ **Stream di log spaziali delle app** (1 per ogni app spaziale su ciascun worker): output della console prodotto dalle app spaziali. Ogni app spaziale scrive nel proprio flusso di log. Sono {{spatial-app-id}} tutti i caratteri dopo la barra finale alla fine di. {{worker-id}}

  ```
  /domain/{{spatial-domain-name}}/app/worker-{{worker-id}}/{{spatial-app-id}}
  ```
+ **Stream di log delle app personalizzati** (1 per ogni istanza di app personalizzata): output della console prodotto da app personalizzate. Ogni istanza dell'app personalizzata scrive nel proprio flusso di log.

  ```
  /domain/{{custom-domain-name}}/app/{{custom-app-name}}/{{random-id}}
  ```
+ **Stream di log delle app** di servizio (1 per ogni istanza dell'app di servizio): output della console prodotto dalle app di servizio. Ogni app di servizio scrive nel proprio flusso di log. Sono {{service-app-id}} tutti i caratteri dopo la barra finale alla fine di. {{service-app-name}}

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

**Nota**  
L'applicazione di esempio non dispone di app di servizio.

## Fase 4: Visualizza la simulazione
<a name="getting-started_detailed_view"></a>

L'SDK SimSpace Weaver dell'app offre diverse opzioni per visualizzare l'applicazione di esempio. Puoi utilizzare il client della console di esempio se non disponi di alcun supporto locale per lo sviluppo di Unreal Engine. Le istruzioni per il client Unreal Engine presuppongono che tu stia utilizzando Windows.

Il client della console visualizza un elenco di eventi di entità man mano che si verificano. Il client ottiene le informazioni sugli eventi dell'entità da`ViewApp`. Se il client della console visualizza l'elenco degli eventi, conferma la connettività di rete con l'attività `ViewApp` e della simulazione.

La `PathfindingSample` simulazione crea entità fisse e mobili su un piano bidimensionale. Le entità mobili si muovono attorno alle entità fisse. Il client Unreal Engine fornisce una visualizzazione degli eventi dell'entità.

### Client della console
<a name="getting-started_detailed_view_console-client"></a>

Il client della console può essere creato e connesso automaticamente all'avvio di un esempio, `quick-start.py` se si include l'`--consoleclient`opzione. Per creare e connettere il client della console dopo `quick-start.py` che è già stato chiamato, procedi come segue:

Vai a:

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

Esegui lo script per creare e connettere il client:

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

Lo script eseguirà le seguenti operazioni:

1.  Crea il client della console con CMake. 

1.  Avvia l'eseguibile integrato con l'indirizzo IP e il numero di porta forniti. 

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

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

Per informazioni, consulta [Avvio del client di visualizzazione Unreal Engine](working-with_unreal-client.md).

## Passaggio 5: interrompi ed elimina la simulazione
<a name="getting-started_detailed_stop"></a>

 Vai a: 

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

Trova i nomi delle tue simulazioni:

```
aws simspaceweaver list-simulations
```

Interrompi ed elimina la simulazione:

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

Lo script `stop-and-delete.py` eseguirà le seguenti operazioni:

1. Chiama il AWS CLI comando per interrompere una simulazione.
   + `aws simspaceweaver stop-simulation`
   + Per ulteriori informazioni, vedere [AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/stop-simulation.html) for SimSpace Weaver.

1.  Chiama il AWS CLI comando per eliminare una simulazione. 
   +  `aws simpaceweaver delete-simulation` 
   + Per ulteriori informazioni, vedere [AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/simspaceweaver/delete-simulation.html) for SimSpace Weaver.

**stop-and-delete parametri**
+ -h, --help
  + Elenca questi parametri.
+ --simulazione di simulazione
  + Il nome della simulazione di stop-and-delete
+ --stop
  + Interrompi solo la simulazione. Non lo elimina.
+ --delete
  + Elimina solo una simulazione. Funzionerà solo se la simulazione è uno dei due`STOPPED`. `FAILED`

## Risoluzione dei problemi
<a name="getting-started_detailed_troubleshooting"></a>

Vedi [Risoluzione dei problemi](getting-started_quickstart.md#getting-started_quickstart_troubleshooting) nel tutorial di avvio rapido.