

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à.

# Raccogli FleetWise dati AWS IoT con le campagne
<a name="campaigns"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Una campagna è un'orchestrazione delle regole di raccolta dei dati. Le campagne forniscono al FleetWise software Edge Agent for AWS IoT istruzioni su come selezionare, raccogliere e trasferire dati sul cloud.

Crei campagne nel cloud. Dopo che tu o il tuo team avete approvato una campagna, l' AWS IoT la FleetWise imposta come pronta per l'implementazione e verrà implementata al successivo check-in del veicolo. Puoi scegliere di distribuire una campagna su un veicolo o su una flotta di veicoli. Il software Edge Agent non inizia a raccogliere dati finché non viene distribuita una campagna in corso sul veicolo.

**Importante**  
Le campagne non funzioneranno finché non avrai quanto segue.  
Il software Edge Agent è in esecuzione nel veicolo. Per ulteriori informazioni su come sviluppare, installare e utilizzare il software Edge Agent, procedi come segue.  
Apri la [ FleetWise console AWS IoT](https://console.aws.amazon.com/iotfleetwise).
Nella home page del servizio, nella FleetWise sezione Guida **introduttiva all' AWS IoT**, scegli **Explore Edge Agent**.
Hai AWS IoT Core configurato il provisioning del tuo veicolo. Per ulteriori informazioni, consulta [Fornitura di FleetWise veicoli AWS IoT](provision-vehicles.md).

**Nota**  
È inoltre possibile [Monitora l’ultimo stato noto dei tuoi veicoli](last-known-state.md) (non le flotte) quasi in tempo reale utilizzando modelli di stato che consentono di trasmettere i dati di telemetria con una strategia di aggiornamento «On Change» o «Periodic». La funzionalità offre anche funzionalità «On Demand» per attivare o disattivare i modelli precedentemente utilizzati o richiedere lo stato attuale del veicolo una sola volta (recupero).   
L'accesso all'ultimo stato noto è attualmente bloccato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Ogni campagna contiene le seguenti informazioni.

`signalCatalogArn`  
L'Amazon Resource Name (ARN) del catalogo dei segnali associato alla campagna.

(Facoltativo) `tags`  
I tag sono metadati che possono essere utilizzati per gestire la campagna. È possibile assegnare lo stesso tag a risorse di diversi servizi per indicare che queste sono correlate.

`TargetArn`  
L'ARN di un veicolo o di una flotta su cui viene implementata la campagna.

`name`  
Un nome univoco che aiuta a identificare la campagna.

`collectionScheme`  
Gli schemi di raccolta dei dati forniscono al software Edge Agent istruzioni su quali dati raccogliere o quando raccoglierli. AWS L'IoT FleetWise attualmente supporta lo schema di raccolta basato sulle condizioni e lo schema di raccolta basato sul tempo.  
+ `conditionBasedCollectionScheme`— lo schema di raccolta basato sulle condizioni utilizza un'espressione logica per riconoscere quali dati raccogliere. Il software Edge Agent raccoglie i dati quando viene soddisfatta la condizione.
  + `expression`— l'espressione logica utilizzata per riconoscere quali dati raccogliere. Ad esempio, se viene specificata l'`$variable.`myVehicle.InVehicleTemperature` > 50.0`espressione, il software Edge Agent raccoglie valori di temperatura superiori a 50,0. Per istruzioni su come scrivere espressioni, vedere. [Espressioni logiche per FleetWise campagne AWS IoT](logical-expression.md)
  + (Facoltativo)`conditionLanguageVersion`: la versione del linguaggio delle espressioni condizionali.
  + (Facoltativo)`minimumTriggerIntervalMs`: la durata minima tra due eventi di raccolta dati, in millisecondi. Se un segnale cambia spesso, è possibile raccogliere dati a una velocità inferiore.
  + (Facoltativo)`triggerMode`: può essere uno dei seguenti valori:
    + `RISING_EDGE`— il software Edge Agent raccoglie i dati solo quando la condizione viene soddisfatta per la prima volta. Ad esempio, `$variable.`myVehicle.AirBagDeployed` == true`.
    + `ALWAYS`— Il software Edge Agent raccoglie dati ogni volta che viene soddisfatta la condizione.
+ `timeBasedCollectionScheme`— quando si definisce uno schema di raccolta basato sul tempo, si specifica un periodo di tempo in millisecondi. Il software Edge Agent utilizza il periodo di tempo per decidere con che frequenza raccogliere i dati. Ad esempio, se il periodo di tempo è 120.000 millisecondi, il software Edge Agent raccoglie i dati una volta ogni due minuti.
  + `periodMs`— il periodo di tempo (in millisecondi) per decidere con quale frequenza raccogliere i dati.

(Facoltativo) `compression`  
Per risparmiare larghezza di banda wireless e ridurre il traffico di rete, puoi specificare [SNAPPY](https://opensource.google/projects/snappy) per comprimere i dati nei veicoli.  
Per impostazione predefinita (`OFF`), il software Edge Agent non comprime i dati.

`dataDestinationConfigs`  
Scegli l'unica destinazione in cui la campagna trasferirà i dati del veicolo. Puoi inviare i dati a un [argomento MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) o archiviarli in Amazon S3 o Amazon Timestream.  
MQTT (Message Queuing Telemetry Transport) è un protocollo di messaggistica leggero e ampiamente adottato. È possibile pubblicare dati su un argomento MQTT per creare architetture basate sugli eventi personalizzate mediante regole. AWS IoT AWS IoT [il supporto per MQTT si basa sulla specifica [MQTT v3.1.1 e sulla specifica MQTT v5.0](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html), con alcune differenze.](http://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) [Per ulteriori informazioni, vedere Differenze MQTT.](https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html#mqtt-differences.html)  
S3 può essere un meccanismo di archiviazione dei dati conveniente che offre funzionalità di gestione dei dati durevoli e servizi dati a valle. Puoi utilizzare S3 per i dati relativi ai comportamenti di guida o all'analisi della manutenzione a lungo termine.  
Timestream è un meccanismo di persistenza dei dati che può aiutarti a identificare tendenze e modelli quasi in tempo reale. Puoi utilizzare Timestream per dati di serie temporali, ad esempio per analizzare le tendenze storiche della velocità o della frenata dei veicoli.  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).

(Facoltativo) `dataExtraDimensions`  
Puoi aggiungere uno o più attributi per fornire informazioni aggiuntive per un segnale.

(Facoltativo) `dataPartitions`  
Crea una partizione dati per archiviare temporaneamente i dati del segnale su un veicolo. Puoi configurare quando e come inoltrare i dati al cloud.  
+ Specificate in che modo l' AWS IoT FleetWise archivia i dati su un veicolo o una flotta definendo la dimensione massima di archiviazione, il tempo minimo di vita e la posizione di archiviazione.
+ La campagna `spoolingMode` deve essere`TO_DISK`.
+ Le configurazioni di caricamento includono la definizione della versione del linguaggio delle condizioni e dell'espressione logica.

(Facoltativo) `description`  
Aggiungi una descrizione per identificare lo scopo della campagna.

(Facoltativo) `diagnosticsMode`  
Quando la modalità diagnostica è configurata su`SEND_ACTIVE_DTCS`, la campagna invia codici di errore diagnostici standard memorizzati (DTCs) che aiutano a identificare i problemi del veicolo. Ad esempio, P0097 indica che il modulo di controllo del motore (ECM) ha stabilito che l'ingresso del sensore di temperatura dell'aria aspirata 2 (IAT2) è inferiore al normale intervallo di sensori.  
Per impostazione predefinita (`OFF`), il software Edge Agent non invia codici diagnostici.

(Facoltativo) `expiryTime`  
Definisci la data di scadenza della tua campagna. Quando la campagna scade, il software Edge Agent interrompe la raccolta dei dati come specificato in questa campagna. Se sul veicolo vengono distribuite più campagne, il software Edge Agent utilizza altre campagne per raccogliere dati.   
Valore predefinito: `253402243200` (31 dicembre 9999, 00:00:00 UTC)

(Facoltativo) `postTriggerCollectionDuration`  
È possibile definire una durata della raccolta post-attivazione, in modo che il software Edge Agent continui a raccogliere dati per un periodo specificato dopo la chiamata di uno schema. Ad esempio, se viene richiamato uno schema di raccolta basato sulle condizioni con la seguente espressione:`$variable.`myVehicle.Engine.RPM` > 7000.0`, il software Edge Agent continua a raccogliere i valori di giri al minuto (RPM) per il motore. Anche se l'RPM supera i 7000 solo una volta, potrebbe indicare che c'è un problema meccanico. In questo caso, potresti volere che il software Edge Agent continui a raccogliere dati per monitorare la condizione.  
Valore predefinito: `0`

(Facoltativo) `priority`  
Specificate un numero intero per indicare il livello di priorità della campagna. Le campagne con un numero inferiore hanno priorità più elevate. Se distribuisci più campagne su un veicolo, le campagne con priorità più elevate vengono avviate per prime.  
Valore predefinito: `0`

(Facoltativo) `signalsToCollect`  
Un elenco di segnali da cui vengono raccolti i dati quando viene richiamato lo schema di raccolta dei dati.  
+ `name`— il nome del segnale da cui vengono raccolti i dati quando viene richiamato lo schema di raccolta dei dati.
+ `dataPartitionId`— l'ID della partizione dati da utilizzare nel segnale. L'ID deve corrispondere a uno dei IDs dati forniti in`dataPartitions`. Se si carica un segnale come condizione nella partizione dati, è necessario includere gli stessi segnali. `signalsToCollect`
+ (Facoltativo)`maxSampleCount`: il numero massimo di campioni di dati che il software Edge Agent raccoglie e trasferisce nel cloud quando viene richiamato lo schema di raccolta dei dati.
+ (Facoltativo)`minimumSamplingIntervalMs`: la durata minima tra due eventi di raccolta dei campioni di dati, in millisecondi. Se un segnale cambia spesso, puoi utilizzare questo parametro per raccogliere dati a una velocità inferiore.

  Intervallo valido: 0‐4294967295

(Facoltativo) `spoolingMode`  
Se `spoolingMode` è configurato per`TO_DISK`, il software Edge Agent archivia temporaneamente i dati localmente quando un veicolo non è connesso al cloud. Dopo aver ristabilito la connessione, i dati archiviati localmente vengono trasferiti automaticamente nel cloud.  
Valore predefinito: `OFF`

(Facoltativo) `startTime`  
Una campagna approvata viene attivata all'inizio.  
Valore predefinito: `0`

Lo stato di una campagna può corrispondere a uno dei seguenti valori.
+ `CREATING`— FleetWise L' AWS IoT sta elaborando la tua richiesta per creare la campagna.
+ `WAITING_FOR_APPROVAL`— Una volta creata, una campagna entra nello `WAITING_FOR_APPROVAL` stato. Per approvare la campagna, utilizza l'operazione `UpdateCampaign` API. Dopo l'approvazione della campagna, l' AWS IoT la distribuisce FleetWise automaticamente sul veicolo o sulla flotta bersaglio. Per ulteriori informazioni, consulta [Aggiorna una FleetWise campagna AWS IoT](update-campaign-cli.md).
+ `RUNNING `— La campagna è attiva.
+ `SUSPENDED`— La campagna è sospesa. Per riprendere la campagna, utilizza l'operazione `UpdateCampaign` API.

AWS L'IoT FleetWise fornisce le seguenti operazioni API che puoi utilizzare per creare e gestire campagne.
+ [CreateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html)— Crea una nuova campagna.
+ [UpdateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateCampaign.html)— Aggiorna una campagna esistente. Dopo aver creato una campagna, è necessario utilizzare questa operazione API per approvarla.
+ [DeleteCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteCampaign.html)— Elimina una campagna esistente.
+ [ListCampaigns](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListCampaigns.html)— Recupera un elenco impaginato di riepiloghi per tutte le campagne.
+ [GetCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetCampaign.html)— Recupera informazioni su una campagna.

**Topics**
+ [Crea una FleetWise campagna AWS IoT](create-campaign.md)
+ [Aggiorna una FleetWise campagna AWS IoT](update-campaign-cli.md)
+ [Eliminare una FleetWise campagna AWS IoT](delete-campaign.md)
+ [Ottieni informazioni sulle FleetWise campagne AWS IoT](get-campaign-information-cli.md)
+ [Archivia e inoltra i dati delle campagne](store-and-forward.md)
+ [Raccogli dati diagnostici sui codici di errore tramite AWS IoT FleetWise](diagnostic-trouble-codes.md)
+ [Visualizza i dati dei FleetWise veicoli AWS IoT](process-visualize-data.md)

# Crea una FleetWise campagna AWS IoT
<a name="create-campaign"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Puoi utilizzare la FleetWise console o l'API AWS IoT per creare campagne per raccogliere i dati dei veicoli.

**Importante**  
Affinché la tua campagna funzioni, devi disporre di quanto segue:  
Il software Edge Agent è in esecuzione nel veicolo. Per ulteriori informazioni su come sviluppare, installare e utilizzare il software Edge Agent, procedi come segue:  
Apri la [ FleetWise console AWS IoT](https://console.aws.amazon.com/iotfleetwise).
Nella home page del servizio, nella FleetWise sezione Guida **introduttiva all' AWS IoT**, scegli **Explore Edge Agent**.
Hai AWS IoT Core configurato il provisioning del tuo veicolo. Per ulteriori informazioni, consulta [Fornitura di FleetWise veicoli AWS IoT](provision-vehicles.md).

**Topics**
+ [Crea una campagna (console)](#create-campaign-console)
+ [Crea una campagna ()AWS CLI](#create-campaign-cli)
+ [Espressioni logiche per FleetWise campagne AWS IoT](logical-expression.md)

## Crea una campagna (console)
<a name="create-campaign-console"></a>

Usa la FleetWise console AWS IoT per creare una campagna per selezionare, raccogliere e trasferire i dati dei veicoli sul cloud.

**Per creare una campagna**

1. <a name="fleetwise-open-console"></a>Apri la [ FleetWise console AWS IoT](https://console.aws.amazon.com/iotfleetwise).

1. <a name="choose-campaigns"></a>Nel riquadro di navigazione, scegli **Campagne**.

1. Nella pagina **Campagne**, scegli **Crea campagna**, quindi completa i passaggi nei seguenti argomenti.

**Topics**
+ [Fase 1: Configurare la campagna](#configure-campaign-console)
+ [Passaggio 2: Specificare le condizioni di archiviazione e caricamento](#specify-storage-upload-conditions)
+ [Fase 3: Configurare la destinazione dei dati](#configure-data-collection-scheme-console)
+ [Fase 4: Aggiungere veicoli](#add-attributes-console)
+ [Passaggio 5: revisione e creazione](#review-and-create-campaign-console)
+ [Passaggio 6: Implementa una campagna](#update-campaign-console)

**Importante**  
È necessario disporre di un catalogo di segnali e di un veicolo prima di creare una campagna. Per ulteriori informazioni, consultare [Gestisci i cataloghi di FleetWise segnali AWS IoT](signal-catalogs.md) e [Gestisci i FleetWise veicoli AWS IoT](vehicles.md).
Dopo aver creato una campagna, devi approvarla. Per ulteriori informazioni, consulta [Aggiorna una FleetWise campagna AWS IoT](update-campaign-cli.md).

### Fase 1: Configurare la campagna
<a name="configure-campaign-console"></a>

In **Informazioni generali**, procedi come segue:

1. Inserisci un nome per la campagna.

1. (Opzionale) Immettere una descrizione.

Configura lo schema di raccolta dati della campagna. Uno schema di raccolta dati fornisce al software Edge Agent istruzioni su quali dati raccogliere o quando raccoglierli. Nella FleetWise console AWS IoT, puoi configurare uno schema di raccolta dati nei seguenti modi:
+ Definire manualmente lo schema di raccolta dei dati.
+ Carica un file per definire automaticamente lo schema di raccolta dei dati.

Nell'**opzione di configurazione**, scegliete una delle seguenti opzioni:
+ Per specificare manualmente il tipo di schema di raccolta dati e definire le opzioni per personalizzare lo schema, scegliete **Definisci schema di raccolta dati**. 

#### Definire manualmente lo schema di raccolta dei dati
<a name="manually-define-scheme-console"></a>

  Specificate manualmente il tipo di schema di raccolta dati e definite le opzioni per personalizzare lo schema.

  1. Nella sezione **Dettagli dello schema di raccolta dati**, scegli il tipo di schema di raccolta dati che desideri venga utilizzato da questa campagna. Per utilizzare un'espressione logica per riconoscere i dati del veicolo da raccogliere, scegli **Basato sulle condizioni**. **Per utilizzare un periodo di tempo specifico per decidere con quale frequenza raccogliere i dati del veicolo, scegli Basato sul tempo.**

  1. Definisci la durata della raccolta dei dati da parte della campagna.
**Nota**  
Per impostazione predefinita, una campagna approvata viene attivata immediatamente e non ha un'ora di fine impostata. Per evitare costi aggiuntivi, devi specificare un intervallo di tempo.

  1. Se è stato specificato uno schema di raccolta dati basato sulle condizioni, è necessario definire un'espressione logica per riconoscere i dati da raccogliere. AWS L'IoT FleetWise utilizza un'espressione logica per riconoscere quali dati raccogliere per uno schema basato sulle condizioni. L'espressione deve specificare il nome completo di un segnale come variabile, operatore di confronto e valore di confronto.

     Ad esempio, se si specifica l'`$variable.`myVehicle.InVehicleTemperature` > 50.0`espressione, AWS IoT FleetWise raccoglie valori di temperatura superiori a 50,0. Per istruzioni su come scrivere espressioni, consulta. [Espressioni logiche per FleetWise campagne AWS IoT](logical-expression.md) 

     Immettere l'espressione logica utilizzata per riconoscere i dati da raccogliere.

  1. (Facoltativo) Specificate la versione linguistica dell'espressione condizionale. Il valore predefinito è 1.

  1. (Facoltativo) Specificate l'intervallo minimo di attivazione, che è il periodo di tempo minimo tra due eventi di raccolta dati. Ad esempio, se un segnale cambia spesso, potresti voler raccogliere i dati a una velocità inferiore.

  1. Specificare la condizione della **modalità Trigger** per la raccolta dei dati da parte del software Edge Agent. Per impostazione predefinita, il FleetWise software Edge Agent for AWS IoT raccoglie **sempre** i dati ogni volta che viene soddisfatta la condizione. In alternativa, può raccogliere dati solo quando la condizione viene soddisfatta per la prima volta, **al primo trigger**.

  1. Se è stato specificato uno schema di raccolta dati basato sul tempo, è necessario specificare un **periodo di tempo, in millisecondi, compreso** tra 10.000 e 60.000 millisecondi. Il software Edge Agent utilizza il periodo di tempo per decidere con che frequenza raccogliere i dati.

  1. **(Facoltativo) Modificare le opzioni dello schema avanzato.** 

     1. Per risparmiare larghezza di banda wireless e ridurre il traffico di rete comprimendo i dati, scegli **Snappy**.

     1. **(Facoltativo) Per definire per quanto tempo, in millisecondi, continuare a raccogliere dati dopo un evento di raccolta dati, puoi specificare la durata della raccolta Post Trigger.**

     1. **(Facoltativo) Per indicare il livello di priorità della campagna, specifica la priorità della campagna.** Le campagne con un numero di priorità inferiore vengono implementate per prime e sono considerate con una priorità più elevata.

     1. Il software Edge Agent può archiviare temporaneamente i dati localmente quando un veicolo non è connesso al cloud. Dopo aver ristabilito la connessione, i dati archiviati localmente vengono trasferiti automaticamente nel cloud. Specificate se desiderate che Edge Agent **memorizzi i dati localmente** durante una connessione interrotta.

     1. (Facoltativo) Per fornire informazioni aggiuntive su un segnale, aggiungi fino a cinque attributi come **dimensioni di dati aggiuntive**.
+ Per caricare un file per definire lo schema di raccolta dei dati, seleziona **Carica un file.json dal tuo dispositivo locale**. AWS L'IoT definisce FleetWise automaticamente le opzioni che è possibile definire nel file. È possibile rivedere e aggiornare le opzioni selezionate. 

#### Importa un file per definire lo schema di raccolta dei dati
<a name="import-file-scheme-console"></a>

  Carica un file.json con dettagli sullo schema di raccolta dei dati.

  1. Per importare informazioni sullo schema di raccolta dati, scegli **Scegli** file. Per ulteriori informazioni sul formato di file richiesto, consulta la documentazione dell'[CreateCampaign](https://docs.aws.amazon.com//iot-fleetwise/latest/APIReference/API_CreateCampaign.html#API_CreateCampaign)API.
**Nota**  
AWS FleetWise Attualmente IoT supporta l'estensione del formato di file.json.

  1.  AWS L'IoT definisce FleetWise automaticamente lo schema di raccolta dei dati in base alle informazioni contenute nel file. Esamina le opzioni che l' AWS IoT ha FleetWise selezionato per te. Puoi aggiornare le opzioni, se necessario. 

### Passaggio 2: Specificare le condizioni di archiviazione e caricamento
<a name="specify-storage-upload-conditions"></a>

Per scegliere se il software Edge Agent archivierà temporaneamente i dati localmente quando un veicolo non è connesso al cloud, specifica la modalità spooling.
+ In **modalità Data spooling**, scegli una delle seguenti opzioni:
  + **Non archiviato**: il software Edge Agent raccoglie ma non archivia temporaneamente i dati localmente quando un veicolo è offline. Il software Edge Agent trasferisce i dati sul cloud quando il veicolo si riconnette.
  + **Archiviati su disco**: il software Edge Agent raccoglie e archivia temporaneamente i dati localmente quando un veicolo è offline. I dati raccolti vengono temporaneamente archiviati in una posizione definita nella sezione «persistenza» del file di configurazione di Edge Agent. L'Edge Agent trasferisce i dati sul cloud quando il veicolo si riconnette.
  + **Archiviati su disco con partizioni**: il veicolo memorizza sempre temporaneamente i dati su Edge nella partizione dati specificata. Puoi scegliere quando inoltrare i dati memorizzati al cloud.

    1. (Facoltativo) Immettete un ID di partizione per designare un particolare set di dati.

    1. Immettete il nome di una cartella come posizione in cui verranno archiviati i dati. Il percorso assoluto della posizione di archiviazione è`{persistency_path} / {vehicle_name} / {campaign_name} / {storage_location}`.

    1. Immettere la dimensione massima di archiviazione dei dati memorizzati nella partizione. I dati più recenti sovrascrivono i dati più vecchi quando la partizione raggiunge la dimensione massima.

    1. Immettete la quantità minima di tempo in cui i dati di questa partizione verranno conservati sul disco.

    1. (Facoltativo) Inserite le condizioni di caricamento per la partizione.

#### Specificare i segnali
<a name="specify-signals-console"></a>

Puoi specificare i segnali da cui raccogliere i dati durante la campagna.

**Per specificare i segnali da cui raccogliere i dati**

1. Seleziona il **nome del segnale**.

1. (Facoltativo) Per **Numero massimo di campioni**, inserisci il numero massimo di campioni di dati che il software Edge Agent raccoglie e trasferisce sul cloud durante la campagna.

1. (Facoltativo) Per **Intervallo di campionamento minimo**, immettete la durata minima tra due eventi di raccolta dei campioni di dati, in millisecondi. Se un segnale cambia spesso, puoi utilizzare questo parametro per raccogliere dati a una velocità inferiore.

1. Per aggiungere un altro segnale, scegli **Aggiungi altri segnali**. Puoi aggiungere fino a 999 segnali.

1. Scegli **Next (Successivo)**.

### Fase 3: Configurare la destinazione dei dati
<a name="configure-data-collection-scheme-console"></a>

**Nota**  
Se la campagna contiene segnali di dati del sistema di visione, puoi archiviare i dati del veicolo solo in Amazon S3. Non puoi archiviarli in Timestream o inviarli a un argomento MQTT.  
I dati del sistema di visione sono in versione di anteprima e sono soggetti a modifiche.  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).

Scegli la destinazione in cui desideri inviare o archiviare i dati raccolti dalla campagna. Puoi inviare i dati del veicolo a un argomento MQTT o archiviarli in Amazon S3 o Amazon Timestream.

Nelle **impostazioni di destinazione**, procedi come segue:
+ Scegli l'argomento Amazon S3, Amazon Timestream o MQTT dall'elenco a discesa.

#### Simple Storage Service (Amazon S3)
<a name="S3-destination"></a>

**Importante**  
Puoi trasferire dati su S3 solo se AWS IoT FleetWise dispone delle autorizzazioni per scrivere nel bucket S3. Per ulteriori informazioni sulla concessione dell'accesso, consulta [Controllare l'accesso con AWS IoT FleetWise](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html).

Per archiviare i dati del veicolo in un bucket S3, scegli Amazon **S3**. S3 è un servizio di storage di oggetti che archivia i dati come oggetti all'interno di bucket. Per ulteriori informazioni, consulta [Creazione, configurazione e utilizzo dei bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) nella Guida per l'utente di *Amazon Simple Storage Service*.

S3 ottimizza il costo dell'archiviazione dei dati e fornisce meccanismi aggiuntivi per utilizzare i dati dei veicoli, come data lake, archiviazione centralizzata dei dati, pipeline di elaborazione dei dati e analisi. Puoi utilizzare S3 per archiviare i dati per l'elaborazione e l'analisi in batch. Ad esempio, puoi creare report di eventi di frenata brusca per il tuo modello di machine learning (ML). I dati del veicolo in entrata vengono memorizzati nel buffer per 10 minuti prima della consegna.

Nelle **impostazioni di destinazione di S3, procedi** come segue:

1. Per il **bucket S3**, scegli un bucket con autorizzazioni per. AWS IoT FleetWise 

1. (Facoltativo) Inserisci un prefisso personalizzato che puoi utilizzare per organizzare i dati archiviati nel bucket S3.

1. Scegli il formato di output, ovvero il formato dei file che vengono salvati come nel bucket S3.

1. Scegli se vuoi comprimere i dati memorizzati nel bucket S3 come file.gzip. Consigliamo di comprimere i dati perché riduce al minimo i costi di archiviazione.

1. Le opzioni selezionate nelle **impostazioni di destinazione S3** modificano l'URI dell'oggetto **S3 di esempio**. Questo è un esempio di come i file vengono salvati in S3.

#### Amazon Timestream
<a name="Timestream-destination"></a>

**Importante**  
Puoi trasferire dati su una tabella solo se l' AWS IoT FleetWise dispone delle autorizzazioni per scrivere dati in Timestream. Per ulteriori informazioni sulla concessione dell'accesso, consulta [Controllare l'accesso con AWS IoT FleetWise](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html).  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).

Per archiviare i dati del veicolo in una tabella Timestream, scegli Amazon **Timestream**. Puoi utilizzare Timestream per interrogare i dati dei veicoli in modo da identificare tendenze e modelli. Ad esempio, puoi utilizzare Timestream per creare un allarme per il livello di carburante del veicolo. I dati del veicolo in arrivo vengono trasferiti su Timestream quasi in tempo reale. Per ulteriori informazioni, consulta [Cos'è Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html)? nella *Amazon Timestream* Developer Guide.

Nelle **impostazioni della tabella Timestream**, procedi come segue:

1. Per il nome del **database Timestream, scegli il nome** del tuo database Timestream dall'elenco a discesa.

1. Per il nome della **tabella Timestream, scegli il nome** della tabella Timestream dall'elenco a discesa.

In **Accesso al servizio per Timestream, procedi** come segue:
+ Scegli un ruolo IAM dall'elenco a discesa.

#### Argomento MQTT
<a name="MQTT-destination"></a>

**Importante**  
È possibile indirizzare i dati a un argomento MQTT solo se AWS IoT FleetWise dispone delle autorizzazioni per gli AWS IoT argomenti. Per ulteriori informazioni sulla concessione dell'accesso, consulta [Controllare l'accesso con AWS IoT FleetWise](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html).

Per inviare i dati del veicolo a un argomento MQTT, scegli l'argomento **MQTT**.

I dati sui veicoli inviati dalla messaggistica MQTT vengono forniti quasi in tempo reale e consentono di utilizzare le regole per agire o indirizzare i dati verso altre destinazioni. Per ulteriori informazioni sull'uso di MQTT, consulta [Protocolli e regole di comunicazione dei dispositivi AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html) [nella Guida per](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) gli *AWS IoT Core sviluppatori*.

1. In **Argomento MQTT**, inserite il nome dell'**argomento**.

1. Nell'**argomento Accesso ai servizi per MQTT**, scegli se consentire a AWS IoT di FleetWise **creare e utilizzare un nuovo ruolo di servizio** per te. Se desideri **utilizzare un ruolo di servizio esistente**, seleziona il ruolo nell'elenco a discesa sotto **Seleziona** ruolo.
+ Scegli **Next (Successivo)**.

### Fase 4: Aggiungere veicoli
<a name="add-attributes-console"></a>

Per scegliere su quali veicoli distribuire la tua campagna, selezionali nell'elenco dei veicoli. Filtra i veicoli cercando gli attributi e i relativi valori aggiunti durante la creazione dei veicoli o in base al nome del veicolo.

In **Filtra veicoli**, procedi come segue:

1. Nella casella di ricerca, trova l'attributo o il nome del veicolo e selezionalo dall'elenco.
**Nota**  
Ogni attributo può essere utilizzato una sola volta.

1. Inserisci il valore dell'attributo o il nome del veicolo su cui desideri distribuire la campagna. Ad esempio, se il nome completo dell'attributo è`fuelType`, inseriscilo `gasoline` come valore.

1. Per cercare un altro attributo del veicolo, ripeti i passaggi precedenti. Puoi cercare fino a cinque attributi del veicolo e un numero illimitato di nomi di veicoli. 

1. I veicoli che corrispondono alla tua ricerca sono elencati sotto **Nome veicolo**. Scegli i veicoli su cui vuoi che venga lanciata la campagna.
**Nota**  
Nei risultati di ricerca vengono visualizzati fino a 100 veicoli. Scegli **Seleziona tutto** per aggiungere tutti i veicoli alla campagna.

1. Scegli **Next (Successivo)**.

### Passaggio 5: revisione e creazione
<a name="review-and-create-campaign-console"></a>

Verifica le configurazioni per la campagna, quindi scegli **Crea campagna**.

**Nota**  
Dopo aver creato una campagna, tu o il tuo team dovete distribuirla sui veicoli.

### Passaggio 6: Implementa una campagna
<a name="update-campaign-console"></a>

Dopo aver creato una campagna, tu o il tuo team dovete distribuirla sui veicoli.

**Per distribuire una campagna**

1. Nella pagina di **riepilogo della campagna**, scegli **Distribuisci**.

1. Verifica e conferma che desideri avviare l'implementazione e iniziare a raccogliere dati dai veicoli collegati alla campagna.

1. Seleziona **Implementa**.

Se desideri sospendere la raccolta dei dati dai veicoli collegati alla campagna, nella pagina di **riepilogo della campagna**, scegli **Sospendi**. **Per riprendere la raccolta di dati dai veicoli collegati alla campagna, scegli Riprendi.**



## Crea una campagna ()AWS CLI
<a name="create-campaign-cli"></a>

Puoi utilizzare l'operazione [CreateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html)API per creare una campagna. Gli esempi seguenti utilizzano AWS CLI.

Quando crei una campagna, i dati raccolti dai veicoli possono essere inviati a un argomento MQTT o archiviati in Amazon S3 (S3) o Amazon Timestream. Scegli Timestream per un database di serie temporali veloce, scalabile e senza server, ad esempio per archiviare dati che richiedono un'elaborazione quasi in tempo reale. Scegli S3 per lo storage di oggetti con scalabilità, disponibilità dei dati, sicurezza e prestazioni leader del settore. Scegliete MQTT per fornire dati quasi in tempo reale e per utilizzare [le regole per](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) eseguire azioni definite dall'utente o AWS IoT indirizzare i dati verso altre destinazioni. 

**Importante**  
Puoi trasferire i dati del veicolo su un argomento MQTT, Amazon S3 o Amazon Timestream solo se AWS FleetWise IoT dispone delle autorizzazioni per inviare messaggi MQTT per tuo conto o per scrivere dati in S3 o Timestream. Per ulteriori informazioni sulla concessione dell'accesso, consulta [Controllare l'accesso con AWS IoT FleetWise](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html).  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).

### Crea una campagna
<a name="create-campaign-command"></a>

**Importante**  
È necessario disporre di un catalogo di segnali e di un veicolo o di una flotta prima di creare una campagna. Per ulteriori informazioni, consultare [Gestisci i cataloghi di FleetWise segnali AWS IoT](signal-catalogs.md), [Gestisci i FleetWise veicoli AWS IoT](vehicles.md) e [Gestisci le flotte in AWS IoT FleetWise](fleets.md).
Dopo aver creato una campagna, devi utilizzare l'operazione `UpdateCampaign` API per approvarla. Per ulteriori informazioni, consulta [Aggiorna una FleetWise campagna AWS IoT](update-campaign-cli.md)

Per creare una campagna, esegui il comando seguente.

Sostituisci *file-name* con il nome del file.json che contiene la configurazione della campagna.

```
aws iotfleetwise create-campaign --cli-input-json file://file-name.json
```

#### File di configurazione di esempio per S3
<a name="example-configuration-file-s3"></a>
+ Sostituiscilo *campaign-name* con il nome della campagna che stai creando.
+ Sostituisci *signal-catalog-arn* con l'Amazon Resource Name (ARN) del catalogo dei segnali.
+ Sostituisci *target-arn* con l'ARN di una flotta o di un veicolo che hai creato.
+ Sostituisci *bucket-arn* con l'ARN del bucket S3.

```
{
    "name": "campaign-name",
    "targetArn": "target-arn", 
    "signalCatalogArn": "signal-catalog-arn", 
    "collectionScheme": {
        "conditionBasedCollectionScheme": {
            "conditionLanguageVersion": 1,
            "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
            "minimumTriggerIntervalMs": 1000,
            "triggerMode": "ALWAYS"
        }
    },
    "compression": "SNAPPY",
    "diagnosticsMode": "OFF",
    "postTriggerCollectionDuration": 1000,
    "priority": 0,
    "signalsToCollect": [
        {
         "maxSampleCount": 100,
         "minimumSamplingIntervalMs": 0,
         "name": "Vehicle.DemoEngineTorque"
        },
        {
         "maxSampleCount": 100,
         "minimumSamplingIntervalMs": 0,
         "name": "Vehicle.DemoBrakePedalPressure"
        }
    ],
    "spoolingMode": "TO_DISK",
    "dataDestinationConfigs": [
        {
         "s3Config": { 
             "bucketArn": "bucket-arn",
             "dataFormat": "PARQUET",
             "prefix": "campaign-name",
              "storageCompressionFormat": "GZIP"
      }
    }
  ],
     "dataPartitions": [ 
      { ...  }
  ]
}
```

#### File di configurazione di esempio per Timestream
<a name="example-configuration-file-ts"></a>

**Nota**  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).
+ Sostituiscilo *campaign-name* con il nome della campagna che stai creando.
+ Sostituisci *signal-catalog-arn* con l'ARN del catalogo dei segnali.
+ Sostituisci *target-arn* con l'ARN di una flotta o di un veicolo che hai creato.
+ Sostituisci *role-arn* con l'ARN del ruolo di esecuzione dell'attività che concede l'autorizzazione AWS FleetWise IoT a fornire dati alla tabella Timestream.
+ Sostituisci *table-arn* con l'ARN della tabella Timestream.

```
{
  "name": "campaign-name",
  "targetArn": "target-arn",
  "signalCatalogArn": "signal-catalog-arn",
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
      "minimumTriggerIntervalMs": 1000,
      "triggerMode": "ALWAYS"
    }
  },
  "compression": "SNAPPY",
  "diagnosticsMode": "OFF",
  "postTriggerCollectionDuration": 1000,
  "priority": 0,
  "signalsToCollect": [
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoEngineTorque"
    },
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoBrakePedalPressure"
    }
  ],
  "spoolingMode": "TO_DISK",
  "dataDestinationConfigs": [
    {
      "timestreamConfig": {
        "executionRoleArn": "role-arn",
        "timestreamTableArn": "table-arn"
      }
    }
  ],
   "dataPartitions": [ 
      { ...  }
  ]
}
```

#### File di configurazione di esempio per un argomento MQTT
<a name="example-configuration-file-mqtt"></a>
+ Sostituiscilo *campaign-name* con il nome della campagna che stai creando.
+ Sostituisci *signal-catalog-arn* con l'Amazon Resource Name (ARN) del catalogo dei segnali.
+ Sostituisci *target-arn* con l'ARN di una flotta o di un veicolo che hai creato.
+ Sostituisci *topic-arn* con l'ARN dell'[argomento MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) che hai specificato come destinazione per i messaggi contenenti i dati del veicolo.
+ Sostituisci *role-arn* con l'ARN del ruolo di esecuzione dell'attività che concede l'autorizzazione AWS FleetWise IoT a inviare, ricevere e intraprendere azioni sui messaggi per l'argomento MQTT specificato.

```
{
  "name": "campaign-name",
  "targetArn": "target-arn",
  "signalCatalogArn": "signal-catalog-arn",
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
      "minimumTriggerIntervalMs": 1000,
      "triggerMode": "ALWAYS"
    }
  },
  "compression": "SNAPPY",
  "diagnosticsMode": "OFF",
  "postTriggerCollectionDuration": 1000,
  "priority": 0,
  "signalsToCollect": [
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoEngineTorque"
    },
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoBrakePedalPressure"
    }
  ],
  "spoolingMode": "TO_DISK",
  "dataDestinationConfigs": [
      {
          "mqttTopicConfig": {
              "mqttTopicArn": "topic-arn",
              "executionRoleArn": "role-arn"
          }
      }
  ]
}
```

Se hai [abilitato la crittografia](key-management.md) utilizzando una AWS KMS chiave gestita dal cliente, includi la seguente dichiarazione sulla politica in modo che il tuo ruolo possa richiamare l'operazione dell'API. `CreateCampaign` 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------

# Espressioni logiche per FleetWise campagne AWS IoT
<a name="logical-expression"></a>

AWS L'IoT FleetWise utilizza un'espressione logica per riconoscere quali dati raccogliere come parte di una campagna. Per ulteriori informazioni sulle espressioni, consulta [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) nella *AWS IoT Events Developer Guide*.

La variabile expression deve essere costruita in modo da rispettare le regole relative al tipo di dati raccolti. Per i dati del sistema di telemetria, la variabile di espressione deve essere il nome completo del segnale. Per i dati del sistema di visione, l'espressione combina il nome completo del segnale con il percorso che conduce dal tipo di dati del segnale a una delle sue proprietà.

Ad esempio, se il catalogo dei segnali contiene i seguenti nodi:

```
{
    myVehicle.ADAS.Camera:
    type: sensor
    datatype: Vehicle.ADAS.CameraStruct
    description: "A camera sensor"

    myVehicle.ADAS.CameraStruct:
    type: struct
    description: "An obstacle detection camera output struct"
}
```

Se i nodi seguono la definizione di ROS 2: 

```
{
    Vehicle.ADAS.CameraStruct.msg:
    boolean obstaclesExists
    uint8[] image
    Obstacle[30] obstacles
}
{
    Vehicle.ADAS.Obstacle.msg:
    float32: probability
    uint8 o_type
    float32: distance
}
```

Le seguenti sono tutte le possibili variabili di espressione degli eventi:

```
{
...
    $variable.`myVehicle.ADAS.Camera.obstaclesExists`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].probability`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].probability`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].probability`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].o_type`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].o_type`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].o_type`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].distance`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].distance`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].distance`
}
```

# Aggiorna una FleetWise campagna AWS IoT
<a name="update-campaign-cli"></a>

Puoi utilizzare l'operazione [UpdateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateCampaign.html)API per aggiornare una campagna esistente. Il comando seguente utilizza AWS CLI.
+ Sostituiscilo *campaign-name* con il nome della campagna che stai aggiornando.
+ Sostituisci *action* con una delle seguenti opzioni:
  + `APPROVE`— Approva la campagna per consentire all' AWS IoT FleetWise di implementarlo su un veicolo o una flotta.
  + `SUSPEND`— Sospende la campagna. La campagna viene eliminata dai veicoli e tutti i veicoli della campagna sospesa interromperanno l'invio di dati.
  + `RESUME`— Riattiva la campagna. `SUSPEND` La campagna è impostata per essere ridistribuita su tutti i veicoli al prossimo check-in e i veicoli riprenderanno a inviare dati.
  + `UPDATE`— Aggiorna la campagna definendo gli attributi e associandoli alla campagna.
+ Sostituisci *description* con una nuova descrizione.

  La descrizione può contenere fino a 2.048 caratteri.
+ *data-extra-dimensions*Sostituiscila con gli attributi specifici del veicolo per arricchire i dati raccolti durante la campagna. Ad esempio, puoi aggiungere marca e modello del veicolo alla campagna e l' AWS IoT FleetWise assocerà i dati a tali attributi come dimensioni in Amazon Timestream. Puoi quindi interrogare i dati in base alla marca e al modello del veicolo.

```
aws iotfleetwise update-campaign \
            --name campaign-name \
            --action action \
            --description description \
            --data-extra-dimensions data-extra-dimensions
```

Se hai [abilitato la crittografia](key-management.md) utilizzando una AWS KMS chiave gestita dal cliente, includi la seguente dichiarazione di politica in modo che il tuo ruolo possa richiamare il funzionamento dell'`UpdateCampaign`API. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------

# Eliminare una FleetWise campagna AWS IoT
<a name="delete-campaign"></a>

Puoi utilizzare la FleetWise console o l'API AWS IoT per eliminare le campagne.

## Eliminare una campagna (console)
<a name="delete-campaign-console"></a>

Per eliminare una campagna, usa la FleetWise console AWS IoT.

**Per eliminare una campagna**

1. <a name="fleetwise-open-console"></a>Apri la [ FleetWise console AWS IoT](https://console.aws.amazon.com/iotfleetwise).

1. <a name="choose-campaigns"></a>Nel riquadro di navigazione, scegli **Campagne**.

1. Nella pagina **Campagne**, scegli la campagna di destinazione.

1. Scegli **Elimina**.

1. In **Elimina**campaign-name**?** , inserisci il nome della campagna da eliminare, quindi scegli **Conferma**.

## Eliminare una campagna (AWS CLI)
<a name="delete-campaign-cli"></a>

Puoi utilizzare l'operazione [DeleteCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteCampaign.html)API per eliminare una campagna. L'esempio seguente utilizza AWS CLI.

Per eliminare una campagna, esegui il comando seguente.

Sostituiscila *campaign-name* con il nome del veicolo che stai eliminando.

```
aws iotfleetwise delete-campaign --name campaign-name
```

**Le partizioni di dati eliminate non sono recuperabili**  
L'eliminazione di una campagna rimuove tutti i dati dai dispositivi e i dati in una partizione non verranno caricati sul cloud.

## Verifica l'eliminazione della campagna
<a name="verify-campaign-deletion"></a>

Puoi utilizzare l'operazione [ListCampaigns](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListCampaigns.html)API per verificare se una campagna è stata eliminata. Gli esempi seguenti utilizzano AWS CLI.

Per recuperare un elenco impaginato di riepiloghi per tutte le campagne, esegui il comando seguente.

```
aws iotfleetwise list-campaigns
```

# Ottieni informazioni sulle FleetWise campagne AWS IoT
<a name="get-campaign-information-cli"></a>

È possibile utilizzare l'operazione [GetCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetCampaign.html)API per recuperare le informazioni sul veicolo. Gli esempi seguenti utilizzano AWS CLI.

Per recuperare i metadati di una campagna, esegui il comando seguente.

Sostituiscilo *campaign-name* con il nome della campagna che desideri recuperare.

```
aws iotfleetwise get-campaign --name campaign-name
```

**Nota**  
Questa operazione è [consistente finale](https://web.stanford.edu/class/cs345d-01/rl/eventually-consistent.pdf). In altre parole, le modifiche alla campagna potrebbero non essere applicate immediatamente.

Se hai [abilitato la crittografia](key-management.md) utilizzando una AWS KMS chiave gestita dal cliente, includi la seguente dichiarazione sulla politica in modo che il tuo ruolo possa richiamare l'operazione dell'`GetCampaign`API. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------

# Archivia e inoltra i dati delle campagne
<a name="store-and-forward"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Utilizza le partizioni di dati all'interno delle campagne per archiviare temporaneamente i dati di segnale su Edge per veicoli e flotte. Configurando le opzioni di caricamento e archiviazione per le partizioni di dati, puoi ottimizzare le condizioni ideali per l'inoltro dei dati verso le destinazioni di dati designate (come un bucket Amazon S3). Ad esempio, puoi configurare la partizione dati per archiviare i dati su un veicolo fino a quando non si connette al Wi-Fi. Quindi, una volta che il veicolo si connette, la campagna attiva l'invio dei dati in quella particolare partizione al cloud. In alternativa, puoi raccogliere dati utilizzando AWS IoT Jobs.

**Topics**
+ [Creare partizioni di dati](create-campaign-data-partitions.md)
+ [Carica i dati della campagna](update-campaign-cli-data-partitions.md)
+ [Carica i dati utilizzando AWS IoT Jobs](update-campaign-cli-data-partitions-jobs.md)

# Creare partizioni di dati
<a name="create-campaign-data-partitions"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Una partizione dati in una campagna memorizza temporaneamente i dati del segnale. Puoi configurare quando e come inoltrare i dati al cloud. 

Una partizione di dati funziona designando innanzitutto un particolare set di dati utilizzando il `dataPartitionId` per una campagna. Quindi, puoi definire ulteriormente le opzioni di archiviazione delle partizioni, come la dimensione massima, il tempo minimo per mantenere attiva la partizione dei dati (su disco) e dove archiviare i dati su Edge. È possibile determinare la posizione di archiviazione sul veicolo utilizzando. `storageLocation` La posizione di archiviazione determina il nome della cartella per la partizione di dati nella cartella di archiviazione della campagna. La cartella di archiviazione della campagna si trova in una cartella denominata con il nome del veicolo in un percorso di persistenza definito nel file di configurazione di Edge. Questo è il percorso assoluto della posizione di archiviazione:. `{persistency_path} / {vehicle_name} / {campaign_name} / {storage_location}`

La modalità di spooling impostata su `TO_DISK` specifica che i dati partizionati devono essere salvati su un disco del veicolo. L'archiviazione dei dati per le partizioni di dati funziona su base FIFO (first in, first out). Se elimini una campagna, elimini anche i dati nella partizione dati associata. Se non si specifica una partizione dati per i casi d' on/off uso della connettività, l' AWS IoT archivia FleetWise comunque i dati in un ring buffer sul veicolo in assenza di connettività. Quando la connettività riprende, l' AWS IoT FleetWise carica i dati sul cloud. Questo comportamento è configurabile nel FleetWise software Edge Agent for AWS IoT.

**Importante**  
Se la partizione dei dati supera il limite massimo di archiviazione impostato, i dati più recenti sovrascrivono i dati più vecchi quando la partizione raggiunge la dimensione massima. I dati persi su Edge non sono recuperabili. La dimensione dello storage è determinata dal limite di archiviazione di Edge.  
Quando i dati vengono caricati sul cloud, possono essere rimossi dopo che è trascorso il tempo minimo di validità. Imposta il periodo minimo di permanenza in modo appropriato per evitare eliminazioni involontarie.

Le opzioni di caricamento determinano le espressioni variabili e il linguaggio delle condizioni. Se vengono specificate le opzioni di caricamento, è necessario specificare anche le opzioni di archiviazione. Puoi anche richiedere che i segnali nelle partizioni di dati vengano caricati nel cloud. Per ulteriori informazioni, consulta [Carica i dati della campagna](update-campaign-cli-data-partitions.md).

Dopo aver definito le condizioni di partizione dei dati, `signalsToCollect` aiuta a specificare quali segnali tenere conto nella partizione dati. È possibile specificare le IDs partizioni di dati o impostarle `dataPartitionId` per `default` utilizzare una partizione dati predefinita stabilita. Un segnale senza un valore specificato `dataPartitionId` verrà associato al valore predefinito. `dataPartition`

**Per creare una partizione di dati**

Utilizzando l'esempio seguente, crea una campagna con una condizione di archiviazione della partizione dati. Questa campagna di esempio è configurata per archiviare i dati del veicolo in Amazon Timestream.

1. Sostituiscilo *campaign-name* con il nome della campagna che stai creando.

1. (Facoltativo) Fornisci una descrizione.

1. Sostituisci *role-arn* con Amazon Resource Name (ARN) del ruolo di esecuzione dell'attività che concede l'autorizzazione AWS FleetWise IoT a fornire dati alla tabella Timestream.

1. Sostituisci *table-arn* con l'ARN della tabella Timestream.

1. Sostituisci *signal-catalog-arn* con l'ARN del catalogo dei segnali.

1. Sostituisci *data-partition-id* sia l'`dataPartitions`ID che l'ID a cui `signalsToCollect` associarti. Innanzitutto, sostituisci l'ID della partizione dati da utilizzare nel segnale. Infatti`signalsToCollect`, l'ID deve corrispondere a uno dei IDs dati forniti in`dataPartitions`.
**Nota**  
Stabilisci una partizione dati predefinita per una campagna utilizzandola `default` come ID.

1. Sostituisci *target-arn* con l'ARN di una flotta o di un veicolo che hai creato.

```
{
    "name": "campaign-name",
    "description": "Measurement of SOC, SOH, thermal, and power optimization for Fleet 2704",
    "targetArn": "target-arn",
    "collectionScheme": {
        "conditionBasedCollectionScheme": {
            "conditionLanguageVersion": 1,
            "expression": "$variable.`Vehicle.BMS` > 50",
            "minimumTriggerIntervalMs": 1000,
            "triggerMode": "ALWAYS"
        }
    },
    "compression": "SNAPPY",
    "dataDestinationConfigs": [{
        "timestreamConfig": {
            "executionRoleArn": "role-arn",
            "timestreamTableArn": "table-arn"
        }
    }],
    "dataPartitions": [{
        "id": "data-partition-id",
        "storageOptions": {
            "maximumSize": {
                "unit": "GB",
                "value": 1024
            },
            "minimumTimeToLive": {
                "unit": "WEEKS",
                "value": 6
            },
            "storageLocation": "string"
        },
        "uploadOptions": {
            "conditionLanguageVersion": 1,
            "expression": "$variable.`Vehicle.BMS.PowerOptimization` > 90"
        }
    }],
    "signalCatalogArn": "signal-catalog-arn",
    "signalsToCollect": [{
        "dataPartitionId": "data-partition-id",
        "maxSampleCount": 50000,
        "minimumSamplingIntervalMs": 100,
        "name": "Below-90-percent"
    }],
    "spoolingMode": "TO_DISK",
    "tags": [{
        "Key": "BMS",
        "Value": "Under-90"
    }]
}
```

Dopo aver soddisfatto tutte le condizioni specificate, i dati partizionati vengono inoltrati al cloud, abilitando la raccolta e l'archiviazione di nuovi segnali partizionati.

Successivamente, chiamerai l'`UpdateCampaign`API per distribuirla nel FleetWise software Edge Agent for AWS IoT. Per ulteriori informazioni, consulta [Carica i dati della campagna](update-campaign-cli-data-partitions.md).

# Carica i dati della campagna
<a name="update-campaign-cli-data-partitions"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Esistono due modi per caricare i dati delle campagne su Edge:
+ Le campagne che soddisfano le tue condizioni di caricamento caricheranno automaticamente i dati sul cloud dopo l'approvazione. Per approvare una campagna, utilizza l'operazione `updateCampaign` API. 
+ Tramite AWS IoT Jobs, puoi forzare il caricamento dei dati anche quando non sono soddisfatte le condizioni specificate. Per ulteriori informazioni, consulta [Carica i dati utilizzando AWS IoT Jobs](update-campaign-cli-data-partitions-jobs.md).

**Per caricare i dati della campagna utilizzando l'operazione `UpdateCampaign` API**

Dopo aver creato la campagna, lo stato della campagna rimane invariato `WAITING_FOR_APPROVAL` fino a quando non modifichi il `action` file in`APPROVED`.
+ Utilizza l'esempio seguente per aggiornare la campagna `action` richiamando l'operazione [UpdateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateCampaign.html)API.

  ```
  {
     "action": "APPROVED",
     "dataExtraDimensions": [ "string" ],
     "description": "string",
     "name": "string"
  }
  ```

# Carica i dati utilizzando AWS IoT Jobs
<a name="update-campaign-cli-data-partitions-jobs"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Con AWS IoT Jobs, puoi configurare campagne per caricare i dati archiviati dei veicoli sul cloud ogni volta che ne hai bisogno.

**Per creare un documento di lavoro per la tua campagna**
+ Utilizza l'esempio seguente per creare un documento di lavoro per la campagna. Un documento di lavoro è un file.json che contiene informazioni sui veicoli o sulle flotte necessari per eseguire un lavoro. *Per ulteriori informazioni sulla creazione di un documento di lavoro, consulta [Creare e gestire i lavori utilizzando la Guida per AWS CLI gli](https://docs.aws.amazon.com/iot/latest/developerguide/manage-job-cli.html)AWS IoT sviluppatori.*

  Per richiedere che solo un veicolo carichi i dati, imposta l'obiettivo del lavoro sull' AWS IoT elemento associato al veicolo. Per richiedere che più veicoli (nella stessa campagna) carichino i dati, crea un gruppo di oggetti che corrispondono ai veicoli, quindi imposta l'obiettivo del lavoro sul gruppo di oggetti.

  ```
  {
    "version": "1.0",
    "parameters": {
       "campaignArn": ${aws:iot:parameter:campaignArn},
       "endTime": ${aws:iot:parameter:endTime}
    }
  }
  ```

  1. Sostituisci `CampaignArn` con l'Amazon Resource Name (ARN) di una campagna nella stessa regione e nello stesso account. L'ARN della campagna è obbligatorio.

  1. (Facoltativo) Sostituiscilo `endTime` con il timestamp dei dati raccolti sul veicolo in formato ISO 8601 UTC (senza millisecondi). Ad esempio, `2024-03-05T23:00:00Z`. Il timestamp è esclusivo e determina l'ultimo datapoint da caricare. Se ometti`endTime`, il software Edge Agent continua a caricarsi fino a quando non vengono caricati tutti i dati archiviati di una campagna. Dopo aver caricato tutti i dati, aggiorna lo [stato di esecuzione del lavoro](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs-lifecycle.html#iot-job-execution-states) a`SUCCEEDED`. Lo [stato](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs-lifecycle.html#iot-jobs-states) del processo viene aggiornato a`COMPLETED`.

**Per creare un lavoro utilizzando un modello di lavoro gestito**

1. Scegli **IoT-IO TFleet Wise- CollectCampaignData** dall'elenco dei modelli gestiti. *Per ulteriori informazioni, consulta [Creare un lavoro da modelli AWS gestiti](https://docs.aws.amazon.com/iot/latest/developerguide/job-template-manage-console-create.html) nella Guida per gli AWS IoT sviluppatori.*

1. Il modello gestito presenta i `endTime` parametri `CampaignArn` and.

   1. Sostituisci `CampaignArn` con l'Amazon Resource Name (ARN) di una campagna nella stessa regione e nello stesso account. L'ARN della campagna è obbligatorio.

   1. (Facoltativo) Sostituiscilo `endTime` con il timestamp dei dati raccolti sul veicolo in formato ISO 8601 UTC (senza millisecondi). Ad esempio, `2024-03-05T23:00:00Z`. Il timestamp è esclusivo e determina l'ultimo datapoint da caricare. Se ometti`endTime`, il software Edge Agent continua a caricarsi fino a quando non vengono caricati tutti i dati archiviati di una campagna. Dopo aver caricato tutti i dati, aggiorna lo [stato di esecuzione del lavoro](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs-lifecycle.html#iot-job-execution-states) a`SUCCEEDED`. Lo [stato](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs-lifecycle.html#iot-jobs-states) del processo viene aggiornato a`COMPLETED`.

Per gli argomenti correlati alla risoluzione dei problemi, vedere[Archivia e inoltra i problemi](troubleshooting-campaign.md).

Per ulteriori informazioni sui AWS IoT lavori, consulta [Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) nella *AWS IoT Developer Guide*.

# Raccogli dati diagnostici sui codici di errore tramite AWS IoT FleetWise
<a name="diagnostic-trouble-codes"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Quando un veicolo rileva un errore, genera un codice di errore diagnostico (DTC) e registra un'istantanea dei sensori o degli attuatori interessati. DTCs ti aiutano a conoscere gli errori quasi in tempo reale, a capire cosa li causa e ad adottare azioni correttive. AWS L'IoT FleetWise supporta la raccolta di DTCs, comprese le corrispondenti istantanee DTC e i dati estesi attraverso una campagna di raccolta dati. Questo argomento introduce i concetti, i flussi di lavoro e le parole chiave che facilitano la raccolta di dati DTC, illustrati con esempi.

Di seguito vengono illustrati i concetti chiave per l'utilizzo di DTC.

**Funzioni definite in modo personalizzato**  
Una funzione personalizzata è la capacità di richiamare ed eseguire le proprie funzioni predefinite in Edge Agent, estendendo il concetto di decodifica [personalizzata](network-agnostic-data-collection.md). Queste funzioni vengono utilizzate in coordinamento con l' AWS IoT FleetWise Agent. Il FleetWise software Edge Agent for AWS IoT offre funzioni integrate per il calcolo delle statistiche dei segnali come valori minimi, massimi e medi. Una funzione personalizzata estende questa funzionalità consentendoti di creare una logica personalizzata per casi d'uso specifici. Per la raccolta dei dati sui codici di errore diagnostici (DTC), gli sviluppatori possono sfruttare funzioni personalizzate per implementare meccanismi avanzati di recupero dei dati, come il recupero di codici DTC, istantanee e dati estesi direttamente dal bordo del veicolo tramite Unified Diagnostic Services (UDS) o interfacce diagnostiche alternative.   
[https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md#dtc_query-function-implementation](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md#dtc_query-function-implementation) [funzioni personalizzate e l'implementazione di riferimento per la raccolta di dati DTC nella Edge Agent Developer Guide.](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/custom-function-dev-guide.md)

**Recupero del segnale**  
Nelle campagne di raccolta dati, i segnali vengono in genere raccolti in modo continuo da un dispositivo e memorizzati nel buffer sul software Edge Agent. I segnali vengono quindi caricati o archiviati periodicamente in campagne basate sul tempo o attivati da condizioni specifiche nelle campagne basate sulle condizioni. Tuttavia, a causa delle preoccupazioni relative alla congestione del traffico dei dispositivi, i segnali DTC non possono essere raccolti dai dispositivi e memorizzati nel buffer in modo continuo. Per risolvere questo problema, l' AWS IoT FleetWise fornisce il recupero del segnale, che garantisce che il segnale di destinazione venga recuperato in modo discontinuo da un dispositivo.  
Il recupero del segnale supporta azioni sia periodiche che basate sulle condizioni. È possibile definire il metodo basato sul recupero, le condizioni e le azioni esatte utilizzando funzioni definite su misura per ogni segnale che non deve essere raccolto continuamente da un dispositivo. Per i segnali gestiti dal meccanismo di recupero del segnale, il tipo di trigger e le condizioni per l'archiviazione locale o il `CollectionScheme` caricamento nel cloud sono ancora regolati da entrambi `timeBasedCollectionScheme` e `conditionBasedCollectionScheme` sono supportati, come i segnali normali.

Negli argomenti seguenti viene illustrato come creare e utilizzare DTCs.

**Topics**
+ [Parole chiave dei codici di errore diagnostici](dtc-keywords.md)
+ [Crea una campagna di raccolta dati per i codici di errore diagnostici](dtc-data-collection.md)
+ [Casi d'uso dei codici di errore diagnostici](dtc-use-cases.md)

# Parole chiave dei codici di errore diagnostici
<a name="dtc-keywords"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

**`signalsToFetch`parametro per creare una campagna**

Usa la signalsToFetchsintassi per configurare il modo in cui le informazioni sul segnale possono essere recuperate su Edge. Il recupero del segnale standard è controllato mediante modellazione secondo regole definite esplicitamente in un manifesto del decodificatore o definite in modo personalizzato tramite Edge First Modeling. Con i segnali da recuperare, puoi definire quando e come i dati vengono recuperati durante le campagne. 

I segnali da recuperare consentono la raccolta di informazioni DTC. Ad esempio, è possibile creare un segnale di tipo stringa denominato `DTC_Info` che può contenere informazioni DTC per ogni unità di controllo del motore (ECU). In alternativa, è possibile filtrare in base a una ECU specifica.
+ `SignalFetchInformation`definizioni di strutture e parametri.

  ```
  structure SignalFetchInformation {
      @required
      fullyQualifiedName: NodePath,
      @required
      signalFetchConfig: SignalFetchConfig,
      // Conditional language version for this config
      conditionLanguageVersion: languageVersion,
      @required
      actions: EventExpressionList,
  }
  ```
  + `fullyQualifiedName`: il nome completo (FQDN) del segnale per cui si desidera utilizzare il recupero personalizzato. 
  + `signalFetchConfig`: definisce le regole su come devono essere recuperati i segnali sopra definiti. Supporta il recupero basato sul tempo e sulle condizioni.
  + `conditionLanguageVersion`: la versione del linguaggio condizionale utilizzata per analizzare l'espressione nella configurazione.
  + `actions`: un elenco di tutte le espressioni di azione valutate su Edge. The Edge otterrà il valore del segnale definito.
**Importante**  
Le azioni possono solo essere utilizzate`custom_function`.

## Parole chiave di espressione della campagna
<a name="dtc-expression-keywords"></a>

L'espressione seguente accetta il nome completo di un segnale supportato dal veicolo e restituisce true se il segnale non contiene dati nei buffer di segnale sull'Edge. Dall'altro lato, restituisce false.

```
isNull(signalFqdn:String): Boolean
```

**Example utilizzo**  

```
isNull($variable.`Vehicle.ECU1.DTC_INFO`) == false

We want to make sure DTC_Info signal is being generated
on edge.
```

Questa espressione accetta il seguente input:

**Nome funzione: stringa**  
Il nome della funzione personalizzata supportata da Edge

**params: varargs *Expression***  
Parametri per. `functionName` Può trattarsi di qualsiasi elenco di espressioni.  
I parametri supportano il tipo letterale: String, Int, Boolean o Double.

```
custom_function(functionName:String, params: varargsExpression): Void
```

**Example utilizzo**  

```
{
       "fullyQualifiedName":"Vehicle.ECU1.DTC_INFO",
       "signalFetchConfig":{
          "timeBased":{
             "executionFrequencyMs":2000
          }
       },
       "actions":"custom_function(“DTC_QUERY”, -1, 2, -1)"
    }
```

# Crea una campagna di raccolta dati per i codici di errore diagnostici
<a name="dtc-data-collection"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Questo argomento descrive come creare una campagna di raccolta dati per i codici di errore diagnostici (DTC).

1. Definisci un segnale personalizzato su Edge. È necessario definire le regole di decodifica per il segnale DTC sull'Edge come segnale decodificato personalizzato. Per ulteriori informazioni, consulta [Tutorial: configura la raccolta di dati indipendente dalla rete utilizzando un'interfaccia di decodifica personalizzata](network-agnostic-data-collection.md).

1. Definisci una funzione personalizzata su Edge. È necessario definire una funzione personalizzata per la raccolta dei segnali DTC su Edge in fase di compilazione.

   Per ulteriori informazioni, consulta la [guida alle funzioni personalizzate](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/custom-function-dev-guide.md ) e l'[implementazione di riferimento per la raccolta di dati DTC](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md#dtc_query-function-implementation) nella *Edge* Agent Developer Guide.
**Nota**  
Un esempio di funzione personalizzata è `DTC_QUERY` illustrata nello script [dimostrativo](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md).

1. Crea un catalogo di segnali che modelli un segnale DTC come tipo di stringa.

   ```
   [
    {
       "branch": {
           "fullyQualifiedName": "Vehicle",
           "description": "Vehicle"
           }
         },
         {
       "branch": {
           "fullyQualifiedName": "Vehicle.ECU1",
           "description": "Vehicle.ECU1"
           }
         },
         {
       "sensor": {
           "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
           "description": "Vehicle.ECU1.DTC_INFO",
           "dataType": "STRING"
         }
      }
    ]
   ```

1. Crea e attiva un modello di veicolo con il segnale DTC aggiunto.

1. Crea e attiva un manifesto di decodifica con il segnale DTC aggiunto. Il segnale DTC deve essere un tipo di decodificatore di `CUSTOM_DECODING_SIGNAL` segnale con un tipo di interfaccia di rete. `CUSTOM_DECODING_INTERFACE`  
**Example decodificatore di segnale**  

   ```
   [
     {
       "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
       "interfaceId": "UDS_DTC",
       "type": "CUSTOM_DECODING_SIGNAL",
       "customDecodingSignal": {
         "id": "Vehicle.ECU1.DTC_INFO"
       }
     }
    ]
   ```  
**Example interfaccia di rete**  

   ```
   [
     {
       "interfaceId": "UDS_DTC",
       "type": "CUSTOM_DECODING_INTERFACE",
       "customDecodingInterface": {
         "name": "NamedSignalInterface"
       }
     }
   ]
   ```
**Nota**  
I segnali Controller Area Network (CAN) non supportano il tipo di dati stringa.

1. Fornisci e crea veicoli. I veicoli devono utilizzare un modello di veicolo (manifesto del modello) e un manifesto di decodifica attivati nei passaggi precedenti.

1. Crea e approva la campagna. È necessario creare una campagna definendo i segnali DTC (opzionalmente con segnali di telemetria) e distribuirla ai veicoli.

1. Accedi ai dati nella destinazione definita. I dati DTC includono `DTCCode``DTCSnapshot`, e `DTCExtendedDatastrings` come stringa non elaborata nella destinazione dei dati definita nella campagna.

# Casi d'uso dei codici di errore diagnostici
<a name="dtc-use-cases"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

I seguenti casi d'uso presuppongono che la `DTC_QUERY` funzione sia stata definita nello [script dimostrativo](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md).

## Recupero periodico
<a name="dtc-periodic-fetch"></a>

Recupera una raccolta DTC a intervalli configurati.

L'esempio seguente è una campagna con recupero periodico del segnale di for all DTCs con una maschera di stato `Vehicle.DTC_INFO` per tutti. ECUs Esiste una condizione per la raccolta dei dati per. `Vehicle.DTC_INFO`

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "timeBased": {
        // The FleetWise Edge Agent will query the UDS module for all DTCs every five seconds.
          "executionFrequencyMs": 5000
        }
      },
      "actions": [
      // Every five seconds, this action is called and its output is stored in the
      // signal history buffer of Vehicle.DTC_INFO
        "custom_function(\"DTC_QUERY\", -1, 2, -1)"
      ]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    }
  ],
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      // Whenever a new DTC is filled into the signal, the data is ingested.
      "expression": "!isNull($variable.`Vehicle.ECU1.DTC_INFO`)",
      "minimumTriggerIntervalMs": 1000,
      // Make sure that data is ingested only when there are new DTCs.
      "triggerMode": "RISING_EDGE"
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## Recupero basato sulle condizioni
<a name="dtc-condition-fetch"></a>

Recupera una raccolta DTC quando viene soddisfatta una condizione. Ad esempio, quando il segnale CAN è attivo`Vehicle.Ignition == 1`, recupera e carica i dati DTC.

Il seguente esempio di campagna utilizza il recupero del segnale basato sulle condizioni `Vehicle.ECU1.DTC_INFO` per verificare se il DTC (» AAA123 «) è in sospeso con RecordNumber 1 per ECU-1. Questa campagna prevede la raccolta e il caricamento dei dati in base al tempo.

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "conditionBased": {
        // The action will only run when the ignition is on.
          "conditionExpression": "$variable.`Vehicle.Ignition` == 1",
          "triggerMode": "ALWAYS"
        }
      },
      // The UDS module is only requested for the specific ECU address and the specific DTC Number/Status.
      "actions": ["custom_function(\"DTC_QUERY\", 1, 2, 8, \"0xAAA123\")"]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    },
    {
      "name": "Vehicle.Ignition"
    }
  ],
  "collectionScheme": {
    "timeBasedCollectionScheme": {
      "periodMs": 10000
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## Recupero su richiesta
<a name="fetch-dtc-for-fleet"></a>

Recupera un DTC specifico per una flotta.

Per un caso d'uso su richiesta, puoi utilizzare la stessa campagna definita nel recupero periodico. L'effetto on-demand si ottiene sospendendo la campagna poco dopo l'implementazione della campagna utilizzando la FleetWise console AWS IoT o eseguendo il seguente comando CLI.
+ Sostituisci *command-name* con il nome del comando.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action APPROVE
```

Quindi, sospendi la campagna dopo l'arrivo dei dati DTC.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action SUSPEND
```

Puoi riprendere nuovamente la campagna per il recupero dei dati DTC.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action RESUME
```

# Visualizza i dati dei FleetWise veicoli AWS IoT
<a name="process-visualize-data"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Il FleetWise software Edge Agent for AWS IoT invia i dati selezionati del veicolo a un argomento MQTT o li trasferisce ad Amazon Timestream o Amazon Simple Storage Service (Amazon S3). Una volta che i dati arrivano nella destinazione dei dati, puoi utilizzare altri AWS servizi per elaborarli, reindirizzarli, visualizzarli e condividerli.

**Nota**  
Amazon Timestream non è disponibile nella regione Asia Pacifico (Mumbai).

## Elaborazione dei dati del veicolo inviati a un argomento MQTT
<a name="process-mqtt-data"></a>

I dati sui veicoli inviati tramite la messaggistica MQTT vengono forniti quasi in tempo reale e consentono di utilizzare le regole per agire o indirizzare i dati verso altre destinazioni. Per ulteriori informazioni sull'uso di MQTT, consulta [Protocolli e regole di comunicazione dei dispositivi AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html) [nella Guida per](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) gli *AWS IoT Core sviluppatori*.

Lo schema predefinito dei dati inviati in un messaggio MQTT contiene i seguenti campi.


| Nome del campo | Tipo di dati | Description | 
| --- | --- | --- | 
|  `eventId`  |  varchar  |  L'ID dell'evento di raccolta dati.  | 
|  `vehicleName`  |  varchar  |  L'ID del veicolo da cui sono stati raccolti i dati.  | 
|  `name`  |  varchar  |  Il nome della campagna utilizzata dal software Edge Agent per raccogliere dati.  | 
|  `time`  |  timestamp  |  Il timestamp del punto dati.  | 
|  `measure_name`  |  varchar  |  Il nome del segnale.  | 
|  `measure_value::bigint`  |  bigint  |  Valori del segnale di tipo Integer.  | 
|  `measure_value::double`  |  virgola mobile a doppia precisione  |  Valori dei segnali di tipo Double.  | 
|  `measure_value::boolean`  |  booleano  |  Valori dei segnali di tipo booleano.  | 
|  `measure_value::varchar`  |  varchar  |  Valori dei segnali di tipo varchar.  | 

## Elabora i dati del veicolo in Timestream
<a name="process-vehicle-data"></a>

Timestream è un database di serie temporali completamente gestito in grado di archiviare e analizzare trilioni di punti dati di serie temporali al giorno. I tuoi dati vengono archiviati in una tabella Timestream gestita dal cliente. Puoi utilizzare Timestream per interrogare i dati dei veicoli in modo da ottenere informazioni dettagliate sui veicoli. Per ulteriori informazioni, consulta [Cos'è Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html)?

Lo schema predefinito dei dati trasferiti su Timestream contiene i seguenti campi.


| Nome del campo | Tipo di dati | Description | 
| --- | --- | --- | 
|  `eventId`  |  varchar  |  L'ID dell'evento di raccolta dati.  | 
|  `vehicleName`  |  varchar  |  L'ID del veicolo da cui sono stati raccolti i dati.  | 
|  `name`  |  varchar  |  Il nome della campagna utilizzata dal software Edge Agent per raccogliere dati.  | 
|  `time`  |  timestamp  |  Il timestamp del punto dati.  | 
|  `measure_name`  |  varchar  |  Il nome del segnale.  | 
|  `measure_value::bigint`  |  bigint  |  Valori del segnale di tipo Integer.  | 
|  `measure_value::double`  |  virgola mobile a doppia precisione  |  Valori dei segnali di tipo Double.  | 
|  `measure_value::boolean`  |  booleano  |  Valori dei segnali di tipo booleano.  | 
|  `measure_value::varchar`  |  varchar  |  Valori dei segnali di tipo varchar.  | 

## Visualizza i dati del veicolo memorizzati in Timestream
<a name="visualize-vehicle-data"></a>

Dopo aver trasferito i dati del veicolo su Timestream, puoi utilizzare i seguenti AWS servizi per visualizzare, monitorare, analizzare e condividere i tuoi dati.
+ Visualizza e monitora i dati nelle dashboard utilizzando Grafana [o Amazon Managed Grafana](https://docs.aws.amazon.com/timestream/latest/developerguide/Grafana.html). Puoi visualizzare i dati da più AWS fonti (come Amazon CloudWatch e Timestream) e altre fonti di dati con un'unica dashboard Grafana.
+ [Analizza e visualizza i dati nelle dashboard utilizzando Quick.](https://docs.aws.amazon.com/timestream/latest/developerguide/Quicksight.html)

## Elaborazione dei dati del veicolo in Amazon S3
<a name="process-vehicle-data-s3"></a>

Amazon S3 è un servizio di storage di oggetti che archivia e protegge qualsiasi quantità di dati. Puoi usare S3 per una varietà di casi d'uso, come data lake, backup e ripristino, archiviazione, applicazioni aziendali, AWS IoT dispositivi e analisi dei big data. I tuoi dati vengono archiviati in S3 come oggetti in bucket. Per ulteriori informazioni, consulta [Che cos'è Amazon S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

Lo schema predefinito dei dati trasferiti su Amazon S3 contiene i seguenti campi.


| Nome del campo | Tipo di dati | Description | 
| --- | --- | --- | 
|  `eventId`  |  varchar  |  L'ID dell'evento di raccolta dati.  | 
|  `vehicleName`  |  varchar  |  L'ID del veicolo da cui sono stati raccolti i dati.  | 
|  `name`  |  varchar  |  Il nome della campagna utilizzata dal software Edge Agent per raccogliere dati.  | 
|  `time`  |  timestamp  |  Il timestamp del punto dati.  | 
|  `measure_name`  |  varchar  |  Il nome del segnale.  | 
|  `measure_value_BIGINT`  |  bigint  |  Valori del segnale di tipo Integer.  | 
|  `measure_value_DOUBLE`  |  virgola mobile a doppia precisione  |  Valori dei segnali di tipo Double.  | 
|  `measure_value_BOOLEAN`  |  booleano  |  Valori dei segnali di tipo booleano.  | 
|  `measure_value_STRUCT`  |  struct  |  Valori dei segnali di tipo Struct.  | 
|  `measure_value_VARCHAR`  |  varchar  |  Valori dei segnali di tipo varchar.  | 

## Formato oggetto Amazon S3
<a name="visualize-vehicle-data-s3-format"></a>

AWS L'IoT FleetWise trasferisce i dati del veicolo su S3 dove vengono salvati come oggetto. Puoi utilizzare l'URI dell'oggetto che identifica in modo univoco i dati per trovare i dati della campagna. Il formato URI degli oggetti S3 dipende dal fatto che i dati raccolti siano dati non strutturati o elaborati.

### Dati non strutturati
<a name="unstructured-data"></a>

I dati non strutturati vengono archiviati in S3 in un modo non predefinito. Può essere in vari formati, come immagini o video. 

I messaggi del veicolo passati all' AWS IoT FleetWise con dati di segnale provenienti da file Amazon Ion vengono decodificati e trasferiti su S3 come oggetti. Gli oggetti S3 rappresentano ogni segnale e sono codificati in modo binario.

L'URI dell'oggetto S3 di dati non strutturati utilizza il seguente formato:

```
s3://bucket-name/prefix/unstructured-data/random-ID-yyyy-MM-dd-HH-mm-ss-SSS-vehicleName-signalName-fieldName
```

### Dati elaborati
<a name="processed-data"></a>

I dati elaborati vengono archiviati in S3 e sottoposti a fasi di elaborazione che convalidano, arricchiscono e trasformano i messaggi. Gli elenchi di oggetti e la velocità sono esempi di dati elaborati. 

I dati trasferiti su S3 vengono archiviati come oggetti che rappresentano record memorizzati nel buffer per un periodo di circa 10 minuti. Per impostazione predefinita, AWS IoT FleetWise aggiunge un prefisso orario UTC nel formato `year=YYYY/month=MM/date=DD/hour=HH` prima di scrivere oggetti su S3. Questo prefisso crea una gerarchia logica nel bucket in cui ogni barra in avanti (`/`) crea un livello nella gerarchia. I dati elaborati contengono anche l'URI dell'oggetto S3 relativo ai dati non strutturati.

L'URI dell'oggetto S3 dei dati elaborati utilizza il seguente formato:

```
s3://bucket-name/prefix/processed-data/year=YYYY/month=MM/day=DD/hour=HH/part-0000-random-ID.gz.parquet
```

### Dati non elaborati
<a name="raw-data"></a>

I dati grezzi, noti anche come dati primari, sono dati raccolti dai file Amazon Ion. Puoi utilizzare i dati grezzi per risolvere eventuali problemi o per causare errori alla radice.

L'URI dell'oggetto S3 per i dati grezzi utilizza il seguente formato:

```
s3://bucket-name/prefix/raw-data/vehicle-name/eventID-timestamp.10n
```

## Analizza i dati del veicolo archiviati in Amazon S3
<a name="analyze-vehicle-data-s3"></a>

Dopo aver trasferito i dati del veicolo su S3, puoi utilizzare i seguenti AWS servizi per monitorare, analizzare e condividere i dati.

Estrai e analizza i dati utilizzando Amazon SageMaker AI per flussi di lavoro downstream di etichettatura e machine learning (ML).

Per ulteriori informazioni, consulta i seguenti argomenti nella *Amazon SageMaker AI Developer Guide*:
+ [Dati di processo](https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html)
+ [Addestra modelli di machine learning](https://docs.aws.amazon.com/sagemaker/latest/dg/train-model.html)
+ [Immagini delle etichette](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-label-images.html)

Cataloga i tuoi dati utilizzando Crawler di AWS Glue e analizzali in Amazon Athena. Per impostazione predefinita, gli oggetti scritti su S3 hanno partizioni temporali in stile Apache Hive, con percorsi di dati che contengono coppie chiave-valore collegate da segni uguali.

Per ulteriori informazioni, consulta i seguenti argomenti nella Guida per l'*utente di Amazon Athena*:
+ [Partizionamento dei dati in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html)
+ [Utilizzo AWS Glue per connettersi a sorgenti dati in Amazon S3](https://docs.aws.amazon.com/athena/latest/ug/data-sources-glue.html)
+ [Procedure consigliate per l'utilizzo di Athena con AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/glue-best-practices.html)

Visualizza i dati utilizzando Quick leggendo direttamente la tabella Athena o il bucket S3.

**Suggerimento**  
Se stai leggendo direttamente da S3, conferma che i dati del veicolo siano in formato JSON perché Quick non supporta il formato Apache Parquet.

Per ulteriori informazioni, consulta i seguenti argomenti nella *Amazon Quick User Guide*:
+ [Fonti di dati supportate](https://docs.aws.amazon.com/quicksight/latest/user/supported-data-sources.html)
+ [Creazione di una fonte di dati](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-source.html)