

Avviso di fine del supporto: il 31 maggio 2026, AWS terminerà il supporto per AWS Panorama. Dopo il 31 maggio 2026, non potrai più accedere alla AWS Panorama console o AWS Panorama alle risorse. Per ulteriori informazioni, consulta [AWS Panorama Fine del supporto](https://docs.aws.amazon.com/panorama/latest/dev/panorama-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à.

# Distribuzione dell'applicazione di esempio AWS Panorama
<a name="gettingstarted-deploy"></a>

Dopo aver [configurato la tua AWS Panorama Appliance o un dispositivo compatibile](gettingstarted-setup.md) e aver aggiornato il relativo software, distribuisci un'applicazione di esempio. Nelle sezioni seguenti, importi un'applicazione di esempio con la CLI dell'applicazione AWS Panorama e la distribuisci con la console AWS Panorama.

L'applicazione di esempio utilizza un modello di apprendimento automatico per classificare gli oggetti in fotogrammi video di una telecamera di rete. Utilizza l'SDK dell'applicazione AWS Panorama per caricare un modello, ottenere immagini ed eseguire il modello. L'applicazione sovrappone quindi i risultati al video originale e lo trasmette a uno schermo collegato.

In un ambiente di vendita al dettaglio, l'analisi dei modelli di traffico pedonale consente di prevedere i livelli di traffico. Combinando l'analisi con altri dati, è possibile pianificare l'aumento del fabbisogno di personale durante le festività e altri eventi, misurare l'efficacia degli annunci pubblicitari e delle promozioni di vendita o ottimizzare il posizionamento degli espositori e la gestione dell'inventario.

**Topics**
+ [Prerequisiti](#gettingstarted-deploy-prerequisites)
+ [Importa l'applicazione di esempio](#gettingstarted-deploy-import)
+ [Distribuzione dell'applicazione](#gettingstarted-deploy-deploy)
+ [Visualizza l'output](#gettingstarted-deploy-view)
+ [Abilita l'SDK per Python](#gettingstarted-deploy-redeploy)
+ [Eliminazione](#gettingstarted-deploy-cleanup)
+ [Passaggi successivi](#gettingstarted-deploy-next)

## Prerequisiti
<a name="gettingstarted-deploy-prerequisites"></a>

Per seguire le procedure in questa esercitazione, devi usare un terminale a riga di comando o una shell per eseguire i comandi. Negli elenchi di codici, i comandi sono preceduti da un simbolo di prompt (\$1) e dal nome della directory corrente, se appropriato.

```
~/panorama-project$ this is a command
this is output
```

Per i comandi lunghi, utilizziamo un carattere di escape (`\`) per dividere un comando su più righe.

In Linux e macOS utilizzare la propria shell e il proprio programma di gestione dei pacchetti preferiti. In Windows 10 è possibile [installare Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) per ottenere una versione di Ubuntu e Bash integrata con Windows. Per informazioni sulla configurazione di un ambiente di sviluppo in Windows, consulta[Configurazione di un ambiente di sviluppo in Windows](applications-devenvwindows.md).

Utilizzi Python per sviluppare applicazioni AWS Panorama e installare strumenti con pip, il gestore di pacchetti di Python. Se non hai già Python, [installa la versione più recente](https://www.python.org/downloads/). Se hai Python 3 ma non pip, installa pip con il gestore di pacchetti del tuo sistema operativo o installa una nuova versione di Python, che viene fornita con pip.

In questo tutorial, usi Docker per creare il contenitore che esegue il codice dell'applicazione. [Installa Docker dal sito Web Docker: Get Docker](https://docs.docker.com/get-docker/)

Questo tutorial utilizza la CLI dell'applicazione AWS Panorama per importare l'applicazione di esempio, creare pacchetti e caricare artefatti. La CLI dell'applicazione AWS Panorama utilizza AWS Command Line Interface (AWS CLI) per chiamare le operazioni delle API di servizio. Se lo possiedi già AWS CLI, aggiornalo alla versione più recente. Per installare la CLI dell'applicazione AWS Panorama e utilizzare AWS CLI. `pip`

```
$ pip3 install --upgrade awscli panoramacli
```

Scarica l'applicazione di esempio ed estraila nel tuo spazio di lavoro.

****
+ **Applicazione di esempio**[: aws-panorama-sample .zip](https://github.com/awsdocs/aws-panorama-developer-guide/releases/download/v1.0-ga/aws-panorama-sample.zip)

## Importa l'applicazione di esempio
<a name="gettingstarted-deploy-import"></a>

Per importare l'applicazione di esempio da utilizzare nel tuo account, utilizza la CLI dell'applicazione AWS Panorama. Le cartelle e il manifesto dell'applicazione contengono riferimenti a un numero di account segnaposto. Per aggiornarli con il tuo numero di account, esegui il `panorama-cli import-application` comando.

```
aws-panorama-sample$ panorama-cli import-application
```

Il `SAMPLE_CODE` pacchetto, nella `packages` directory, contiene il codice e la configurazione dell'applicazione, incluso un Dockerfile che utilizza l'immagine di base dell'applicazione,. `panorama-application` Per creare il contenitore dell'applicazione che viene eseguito sull'appliance, utilizzare il comando. `panorama-cli build-container`

```
aws-panorama-sample$ ACCOUNT_ID=$(aws sts get-caller-identity --output text --query 'Account')
aws-panorama-sample$ panorama-cli build-container --container-asset-name code_asset --package-path packages/${ACCOUNT_ID}-SAMPLE_CODE-1.0
```

Il passaggio finale con la CLI dell'applicazione AWS Panorama consiste nel registrare il codice e i nodi del modello dell'applicazione e caricare gli asset su un punto di accesso Amazon S3 fornito dal servizio. Gli asset includono l'immagine del contenitore del codice, il modello e un file descrittore per ciascuno di essi. Per registrare i nodi e caricare le risorse, esegui il `panorama-cli package-application` comando.

```
aws-panorama-sample$ panorama-cli package-application
Uploading package model
Registered model with patch version bc9c58bd6f83743f26aa347dc86bfc3dd2451b18f964a6de2cc4570cb6f891f9
Uploading package code
Registered code with patch version 11fd7001cb31ea63df6aaed297d600a5ecf641a987044a0c273c78ceb3d5d806
```

## Distribuzione dell'applicazione
<a name="gettingstarted-deploy-deploy"></a>

Usa la console AWS Panorama per distribuire l'applicazione sul tuo dispositivo.

**Per distribuire un'applicazione**

1. Apri la [pagina Applicazioni distribuite](https://console.aws.amazon.com/panorama/home#deployed-applications) della console AWS Panorama.

1. Scegli **Deploy application.**

1. Incolla il contenuto del manifesto dell'applicazione nell'editor di testo. `graphs/aws-panorama-sample/graph.json` Scegli **Next (Successivo)**.

1. Per **Nome applicazione**, immetti `aws-panorama-sample`.

1. Scegliete **Procedi alla distribuzione.**

1. Scegli **Inizia la distribuzione**.

1. Scegli **Avanti** senza selezionare un ruolo.

1. Scegli **Seleziona dispositivo**, quindi scegli il tuo dispositivo. Scegli **Next (Successivo)**.

1. Nel passaggio **Seleziona fonti di dati**, scegli **Visualizza input** e aggiungi lo stream della videocamera come fonte di dati. Scegli **Next (Successivo)**.

1. Nella fase di **configurazione**, scegli **Avanti**.

1. Scegli **Distribuisci**, quindi scegli **Fine.**

1. Nell'elenco delle applicazioni distribuite, scegli. **aws-panorama-sample**

Aggiorna questa pagina per gli aggiornamenti o usa lo script seguente per monitorare la distribuzione dalla riga di comando.

**Example monitor-deployment.sh**  

```
while true; do
  aws panorama list-application-instances --query 'ApplicationInstances[?Name==`aws-panorama-sample`]'
  sleep 10
done
```

```
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has been scheduled.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has completed data validation.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
...
```

Se l'applicazione non si avvia, controlla i log dell'[applicazione e del dispositivo in Amazon CloudWatch Logs](monitoring-logging.md).

## Visualizza l'output
<a name="gettingstarted-deploy-view"></a>

 Una volta completata la distribuzione, l'applicazione inizia a elaborare il flusso video e invia i log a CloudWatch.

**Per visualizzare i log in Logs CloudWatch**

1. Apri la [pagina dei gruppi di log della console CloudWatch Logs](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups).

1. Trova i log delle applicazioni e delle appliance AWS Panorama nei seguenti gruppi:

****
   + Registri dei **dispositivi**: `/aws/panorama/devices/device-id`
   + **Registri delle applicazioni**: `/aws/panorama/devices/device-id/applications/instance-id`

```
2022-08-26 17:43:39 INFO     INITIALIZING APPLICATION
2022-08-26 17:43:39 INFO     ## ENVIRONMENT VARIABLES
{'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TERM': 'xterm', 'container': 'podman'...}
2022-08-26 17:43:39 INFO     Configuring parameters.
2022-08-26 17:43:39 INFO     Configuring AWS SDK for Python.
2022-08-26 17:43:39 INFO     Initialization complete.
2022-08-26 17:43:39 INFO     PROCESSING STREAMS
2022-08-26 17:46:19 INFO     epoch length: 160.183 s (0.936 FPS)
2022-08-26 17:46:19 INFO     avg inference time: 805.597 ms
2022-08-26 17:46:19 INFO     max inference time: 120023.984 ms
2022-08-26 17:46:19 INFO     avg frame processing time: 1065.129 ms
2022-08-26 17:46:19 INFO     max frame processing time: 149813.972 ms
2022-08-26 17:46:29 INFO     epoch length: 10.562 s (14.202 FPS)
2022-08-26 17:46:29 INFO     avg inference time: 7.185 ms
2022-08-26 17:46:29 INFO     max inference time: 15.693 ms
2022-08-26 17:46:29 INFO     avg frame processing time: 66.561 ms
2022-08-26 17:46:29 INFO     max frame processing time: 123.774 ms
```

Per visualizzare l'uscita video dell'applicazione, collegate l'apparecchiatura a un monitor con un cavo HDMI. Per impostazione predefinita, l'applicazione mostra qualsiasi risultato di classificazione con una confidenza superiore al 20%.

**Example [squeezenet\$1classes.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/squeezenet_classes.json)**  

```
["tench", "goldfish", "great white shark", "tiger shark",
"hammerhead", "electric ray", "stingray", "cock", "hen", "ostrich",
"brambling", "goldfinch", "house finch", "junco", "indigo bunting",
"robin", "bulbul", "jay", "magpie", "chickadee", "water ouzel",
"kite", "bald eagle", "vulture", "great grey owl",
"European fire salamander", "common newt", "eft",
"spotted salamander", "axolotl", "bullfrog", "tree frog",
...
```

Il modello di esempio ha 1000 classi che includono molti animali, cibo e oggetti comuni. Prova a puntare la fotocamera verso una tastiera o una tazza da caffè.

![\[\]](http://docs.aws.amazon.com/it_it/panorama/latest/dev/images/mug.jpg)


Per semplicità, l'applicazione di esempio utilizza un modello di classificazione leggero. Il modello genera un singolo array con una probabilità per ciascuna delle sue classi. Le applicazioni del mondo reale utilizzano più frequentemente modelli di rilevamento di oggetti con output multidimensionale. Per esempi di applicazioni con modelli più complessi, vedere. [Applicazioni, script e modelli di esempio](panorama-samples.md)

## Abilita l'SDK per Python
<a name="gettingstarted-deploy-redeploy"></a>

L'applicazione di esempio utilizza il AWS SDK per Python (Boto) per inviare i parametri ad Amazon CloudWatch. Per abilitare questa funzionalità, crea un ruolo che conceda all'applicazione l'autorizzazione a inviare metriche e ridistribuisci l'applicazione con il ruolo associato.

L'applicazione di esempio include un CloudFormation modello che crea un ruolo con le autorizzazioni necessarie. Per creare il ruolo, utilizzare il `aws cloudformation deploy` comando.

```
$ aws cloudformation deploy --template-file aws-panorama-sample.yml --stack-name aws-panorama-sample-runtime --capabilities CAPABILITY_NAMED_IAM
```



**Per ridistribuire l'applicazione**

1. Apri la [pagina Applicazioni distribuite](https://console.aws.amazon.com/panorama/home#deployed-applications) della console AWS Panorama.

1. Scegliere un'applicazione.

1. Scegliere **Replace (Sostituisci)**.

1. Completa i passaggi per distribuire l'applicazione. Nel **ruolo Specificare IAM**, scegli il ruolo che hai creato. Il suo nome inizia con `aws-panorama-sample-runtime`.

1. Al termine dell'implementazione, apri la [CloudWatchconsole](https://console.aws.amazon.com/cloudwatch/home#metricsV2:graph=~();namespace=~'AWSPanoramaApplication) e visualizza le metriche nel namespace. `AWSPanoramaApplication` Ogni 150 frame, l'applicazione registra e carica le metriche relative all'elaborazione dei frame e al tempo di inferenza.

## Eliminazione
<a name="gettingstarted-deploy-cleanup"></a>

Se hai finito di lavorare con l'applicazione di esempio, puoi utilizzare la console AWS Panorama per rimuoverla dall'appliance.

**Per rimuovere l'applicazione dall'appliance**

1. Apri la [pagina Applicazioni distribuite](https://console.aws.amazon.com/panorama/home#deployed-applications) della console AWS Panorama.

1. Scegliere un'applicazione.

1. Scegli **Elimina dal dispositivo.**

## Passaggi successivi
<a name="gettingstarted-deploy-next"></a>

Se hai riscontrato errori durante la distribuzione o l'esecuzione dell'applicazione di esempio, consulta[Risoluzione dei problemi](panorama-troubleshooting.md).

Per ulteriori informazioni sulle funzionalità e sull'implementazione dell'applicazione di esempio, passate [all'argomento successivo](gettingstarted-sample.md).