

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

# Messaggi di eventi
<a name="iot-events"></a>

Questa sezione contiene informazioni sui messaggi pubblicati in occasione AWS IoT dell'aggiornamento o della modifica di elementi o lavori. Per informazioni sul AWS IoT Events servizio che consente di creare rilevatori per monitorare i dispositivi per rilevare eventuali guasti o modifiche di funzionamento e per attivare azioni quando si verificano, vedere. [AWS IoT Events](https://aws.amazon.com/iot-events)

## Come vengono generati i messaggi di evento
<a name="iot-events-how"></a>

AWS IoT pubblica messaggi relativi agli eventi quando si verificano determinati eventi. Ad esempio, vengono generati eventi dal registro quando vengono aggiunti, aggiornati o eliminati oggetti. Ogni evento comporta l'invio di un singolo messaggio di evento. I messaggi di evento vengono pubblicati tramite MQTT con un payload JSON. Il contenuto del payload dipende dal tipo di evento.

**Nota**  
I messaggi di evento vengono sicuramente pubblicati una volta. È anche possibile che vengano pubblicati più di una volta. L'ordinamento dei messaggi di evento non è garantito.

### Policy per la ricezione di messaggi di evento
<a name="iot-events-policy"></a>

Per ricevere messaggi relativi agli eventi, il dispositivo deve utilizzare una politica appropriata che gli consenta di connettersi al gateway del AWS IoT dispositivo e sottoscrivere gli argomenti relativi agli eventi MQTT. Devi anche sottoscrivere i filtri di argomenti appropriati.

Di seguito viene mostrato un esempio della policy necessaria per la ricezione di eventi del ciclo di vita:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe",
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:/$aws/events/*"
            ]
        }
    ]
}
```

## Abilita eventi per AWS IoT
<a name="iot-events-enable"></a>

Prima che gli abbonati agli argomenti riservati possano ricevere messaggi, è necessario abilitare i messaggi di evento da Console di gestione AWS o utilizzando l'API o la CLI. Per informazioni sui messaggi di evento gestiti dalle diverse opzioni, consulta la [Tabella delle impostazioni di configurazione degli AWS IoT eventi](#iot-events-settings-table).
+ Per abilitare i messaggi relativi agli eventi, vai alla scheda [Impostazioni](https://console.aws.amazon.com//iot/home#/settings) della AWS IoT console e quindi, nella sezione **Messaggi basati sugli eventi**, scegli **Gestisci eventi**. Puoi specificare gli eventi da gestire.
+ Per controllare quali tipi di eventi vengono pubblicati utilizzando l'API o la CLI, chiama l'[UpdateEventConfigurations](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateEventConfigurations.html)API o utilizza il comando CLI**update-event-configurations**. Esempio:

  ```
  aws iot update-event-configurations --event-configurations "{\"THING\":{\"Enabled\": true}}"
  ```

**Nota**  
Tutte le virgolette doppie (") sono precedute dal carattere di escape barra rovesciata (\$1).

È possibile ottenere la configurazione corrente dell'evento chiamando l'[DescribeEventConfigurations](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEventConfigurations.html)API o utilizzando il comando **describe-event-configurations** CLI. Ad esempio:.

```
aws iot describe-event-configurations
```<a name="iot-events-settings-table"></a>

**Tabella delle impostazioni di configurazione degli eventi AWS IoT **


|  Categoria dell'evento  (AWS IoT Console: Impostazioni: messaggi basati su eventi)  |  Chiave-valore `eventConfigurations` (AWS CLI/API)  |    Argomento del messaggio dell'evento  | 
| --- | --- | --- | 
|  *(Può essere configurato solo utilizzando la AWS CLI/API)*  |  `CA_CERTIFICATE`  |  `$aws/events/certificates/registered/caCertificateId`  | 
|  *(Può essere configurato solo utilizzando la AWS CLI/API)*  |  `CERTIFICATE`  |  `$aws/events/presence/connected/clientId`  | 
|  *(Può essere configurato solo utilizzando la AWS CLI/API)*  |  `CERTIFICATE`  |  `$aws/events/presence/disconnected/clientId`  | 
|  *(Può essere configurato solo utilizzando la AWS CLI/API)*  |  `CERTIFICATE`  |  `$aws/events/subscriptions/subscribed/clientId`  | 
|  *(Può essere configurato solo utilizzando la AWS CLI/API)*  |  `CERTIFICATE`  |  `$aws/events/subscriptions/unsubscribed/clientId`  | 
|  Processo completato, annullato  |  `JOB`  |  `$aws/events/job/jobID/canceled`  | 
|  Processo completato, annullato  |  `JOB`  |  `$aws/events/job/jobID/cancellation_in_progress`  | 
|  Processo completato, annullato  |  `JOB`  |  `$aws/events/job/jobID/completed`  | 
|  Processo completato, annullato  |  `JOB`  |  `$aws/events/job/jobID/deleted`  | 
|  Processo completato, annullato  |  `JOB`  |  `$aws/events/job/jobID/deletion_in_progress`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/canceled`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/deleted`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/failed`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/rejected`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/removed`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/succeeded`  | 
|  Esecuzione del processo: riuscita, non riuscita, rifiutata, annullata, rimossa  |  `JOB_EXECUTION`  |  `$aws/events/jobExecution/jobID/timed_out`  | 
|  Oggetto: creato, aggiornato, eliminato  |  `THING`  |  `$aws/events/thing/thingName/created`  | 
|  Oggetto: creato, aggiornato, eliminato  |  `THING`  |  `$aws/events/thing/thingName/updated`  | 
|  Oggetto: creato, aggiornato, eliminato  |  `THING`  |  `$aws/events/thing/thingName/deleted`  | 
|  Gruppo di cose: aggiunto, rimosso  |  `THING_GROUP`  |  `$aws/events/thingGroup/thingGroupName/created`  | 
|  Gruppo di cose: aggiunto, rimosso  |  `THING_GROUP`  |  `$aws/events/thingGroup/thingGroupName/updated`  | 
|  Gruppo di cose: aggiunto, rimosso  |  `THING_GROUP`  |  `$aws/events/thingGroup/thingGroupName/deleted`  | 
|  Gerarchia del gruppo di cose: aggiunta, rimossa  |  `THING_GROUP_HIERARCHY`  |  `$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/added`  | 
|  Gerarchia del gruppo di cose: aggiunta, rimossa  |  `THING_GROUP_HIERARCHY`  |  `$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/removed`  | 
|  Appartenenza al gruppo di cose: aggiunta, rimossa  |  `THING_GROUP_MEMBERSHIP`  |  `$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/added`  | 
|  Appartenenza al gruppo di cose: aggiunta, rimossa  |  `THING_GROUP_MEMBERSHIP`  |  `$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/removed`  | 
|  Tipo di oggetto: creato, aggiornato, eliminato  |  `THING_TYPE`  |  `$aws/events/thingType/thingTypeName/created`  | 
|  Tipo di oggetto: creato, aggiornato, eliminato  |  `THING_TYPE`  |  `$aws/events/thingType/thingTypeName/updated`  | 
|  Tipo di oggetto: creato, aggiornato, eliminato  |  `THING_TYPE`  |  `$aws/events/thingType/thingTypeName/deleted`  | 
|  Associazione del tipo di oggetto: aggiunta, rimossa  |  `THING_TYPE_ASSOCIATION`  |  `$aws/events/thingTypeAssociation/thing/thingName/thingType/thingTypeName/added` `$aws/events/thingTypeAssociation/thing/thingName/thingType/thingTypeName/removed`  | 

# Eventi del registro
<a name="registry-events"></a>

Il registro pubblica messaggi di evento quando vengono creati, aggiornati o eliminati oggetti, tipi di oggetto e gruppi di oggetti. Tuttavia, questi eventi non sono disponibili per impostazione predefinita. Per ulteriori informazioni su come configurare tali eventi, consulta [Abilita eventi per AWS IoT](iot-events.md#iot-events-enable).

**Topics**
+ [Eventi oggetto](#registry-events-thing)
+ [Eventi di tipo di oggetto](#registry-events-thingtype)
+ [Eventi del gruppo di oggetti](#registry-events-thinggroup)

## Eventi oggetto
<a name="registry-events-thing"></a>

**Cosa Created/Updated/Deleted**

Il registro pubblica i messaggi di evento seguenti quando vengono creati, aggiornati o eliminati oggetti:
+ `$aws/events/thing/thingName/created`
+ `$aws/events/thing/thingName/updated`
+ `$aws/events/thing/thingName/deleted`

I messaggi contengono il payload di esempio seguente:

```
{
    "eventType" : "THING_EVENT",
    "eventId" : "f5ae9b94-8b8e-4d8e-8c8f-b3266dd89853",
    "timestamp" : 1234567890123,
    "operation" : "CREATED|UPDATED|DELETED",
    "accountId" : "123456789012",
    "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5",
    "thingName" : "MyThing",
    "versionNumber" : 1,
    "thingTypeName" : null,
    "attributes": {
                "attribute3": "value3",
                "attribute1": "value1",
                "attribute2": "value2"
    }
}
```

I payload contengono gli attributi seguenti:

eventType  
Imposta su "THING\$1EVENT".

eventId  
ID evento univoco (stringa).

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

operation  
Operazione che ha attivato l'evento. I valori validi sono:  
+ created
+ AGGIORNATO
+ ELIMINATO

accountId  
La tua Account AWS carta d'identità.

thingId  
ID dell'oggetto creato, aggiornato o eliminato.

thingName  
Nome dell'oggetto creato, aggiornato o eliminato.

versionNumber  
Versione dell'oggetto creato, aggiornato o eliminato. Questo valore è impostato su 1 quando viene creato un oggetto. Il valore viene incrementato di 1 ogni volta che l'oggetto viene aggiornato.

thingTypeName  
Tipo di oggetto associato all'oggetto, se ne esiste uno. In caso contrario, `null`.

attributes  
Raccolta di coppie nome/valore associate all'oggetto.

## Eventi di tipo di oggetto
<a name="registry-events-thingtype"></a>

**Topics**
+ [Tipo di cosa Created/Updated/Deprecated/Undeprecated/Deleted](#registry-events-thingtype-crud)
+ [Tipo di oggetto associato o dissociato rispetto a un oggetto](#registry-events-thingtype-assoc)

### Tipo di cosa Created/Updated/Deprecated/Undeprecated/Deleted
<a name="registry-events-thingtype-crud"></a>

Il registro pubblica i seguenti messaggi di evento quando i tipi di oggetto vengono creati, aggiornati, obsoleti, non obsoleti o eliminati:
+ `$aws/events/thingType/thingTypeName/created`
+ `$aws/events/thingType/thingTypeName/updated`
+ `$aws/events/thingType/thingTypeName/deleted`

Il messaggio contiene il seguente payload di esempio:

```
{
    "eventType" : "THING_TYPE_EVENT",
    "eventId" : "8827376c-4b05-49a3-9b3b-733729df7ed5",
    "timestamp" : 1234567890123,
    "operation" : "CREATED|UPDATED|DELETED",
    "accountId" : "123456789012",
    "thingTypeId" : "c530ae83-32aa-4592-94d3-da29879d1aac",
    "thingTypeName" : "MyThingType",
    "isDeprecated" : false|true,
    "deprecationDate" : null,
    "searchableAttributes" : [ "attribute1", "attribute2", "attribute3" ],
    "propagatingAttributes": [
        {
	    "userPropertyKey": "key",
	    "thingAttribute": "model"
        },
        {
	    "userPropertyKey": "key",
	    "connectionAttribute": "iot:ClientId"
        }
    ],
    "description" : "My thing type"
}
```

I payload contengono gli attributi seguenti:

eventType  
Imposta su "THING\$1TYPE\$1EVENT".

eventId  
ID evento univoco (stringa).

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

operation  
Operazione che ha attivato l'evento. I valori validi sono:  
+ created
+ AGGIORNATO
+ ELIMINATO

accountId  
 Account AWS Il tuo ID.

thingTypeId  
L'ID del tipo di oggetto che viene creato, aggiornato, obsoleto o eliminato.

thingTypeName  
Il nome del tipo di oggetto che viene creato, aggiornato, obsoleto o eliminato.

isDeprecated  
`true` se il tipo di oggetto è obsoleto. In caso contrario, `false`.

deprecationDate  
Timestamp UNIX del momento in cui il tipo di oggetto è stato dichiarato obsoleto.

searchableAttributes  
Raccolta di coppie nome/valore associate al tipo di oggetto che può essere usato per la ricerca.

Attributi di propagazione  
Un elenco di attributi di propagazione. Un attributo di propagazione può contenere un attributo thing, un attributo connection e una chiave di proprietà utente. Per ulteriori informazioni, vedere [Aggiungere attributi di propagazione per l'arricchimento dei messaggi](https://docs.aws.amazon.com//iot/latest/developerguide/thing-types-propagating-attributes.html).

description  
Descrizione del tipo di oggetto.

### Tipo di oggetto associato o dissociato rispetto a un oggetto
<a name="registry-events-thingtype-assoc"></a>

Il registro pubblica i messaggi di evento seguenti quando un tipo di oggetto viene associato o dissociato rispetto a un oggetto.
+ `$aws/events/thingTypeAssociation/thing/thingName/thingType/typeName/added`
+ `$aws/events/thingTypeAssociation/thing/thingName/thingType/typeName/removed`

Di seguito è riportato un esempio di `added` payload. I messaggi di payload per `removed` sono simili.

```
{
    "eventId" : "87f8e095-531c-47b3-aab5-5171364d138d",
    "eventType" : "THING_TYPE_ASSOCIATION_EVENT",
    "operation" : "ADDED",
    "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5",
    "thingName": "myThing",
    "thingTypeName" : "MyThingType",
    "timestamp" : 1234567890123,
}
```

I payload contengono gli attributi seguenti:

eventId  
ID evento univoco (stringa).

eventType  
Imposta su "THING\$1TYPE\$1ASSOCIATION\$1EVENT".

operation  
Operazione che ha attivato l'evento. I valori validi sono:  
+ AGGIUNTO
+ REMOVED

thingId  
L'ID dell'oggetto la cui associazione a un determinato tipo è stata modificata.

thingName  
Il nome dell'oggetto la cui associazione a un determinato tipo è stata modificata.

thingTypeName  
Il tipo di oggetto associato, o non più associato, con l'oggetto.

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

## Eventi del gruppo di oggetti
<a name="registry-events-thinggroup"></a>

**Topics**
+ [Thing Group Created/Updated/Deleted](#registry-events-thinggroup-crud)
+ [Oggetto aggiunto o rimosso in un gruppo di oggetti](#registry-events-thinggroup-addremove)
+ [Gruppo di oggetti aggiunto o rimosso in un gruppo di oggetti](#registry-events-thinggroup-adddelete)

### Thing Group Created/Updated/Deleted
<a name="registry-events-thinggroup-crud"></a>

Il registro pubblica i messaggi di evento seguenti quando viene creato, aggiornato o eliminato un gruppo di oggetti.
+ `$aws/events/thingGroup/groupName/created`
+ `$aws/events/thingGroup/groupName/updated`
+ `$aws/events/thingGroup/groupName/deleted`

Di seguito è riportato un esempio di `updated` payload. I messaggi di payload per `created` e `deleted` sono simili.

```
{
  "eventType": "THING_GROUP_EVENT",
  "eventId": "8b9ea8626aeaa1e42100f3f32b975899",
  "timestamp": 1603995417409,
  "operation": "UPDATED",
  "accountId": "571EXAMPLE833",
  "thingGroupId": "8757eec8-bb37-4cca-a6fa-403b003d139f",
  "thingGroupName": "Tg_level5",
  "versionNumber": 3,
  "parentGroupName": "Tg_level4",
  "parentGroupId": "5fce366a-7875-4c0e-870b-79d8d1dce119",
  "description": "New description for Tg_level5",
  "rootToParentThingGroups": [
    {
      "groupArn": "arn:aws:iot:us-west-2:571EXAMPLE833:thinggroup/TgTopLevel",
      "groupId": "36aa0482-f80d-4e13-9bff-1c0a75c055f6"
    },
    {
      "groupArn": "arn:aws:iot:us-west-2:571EXAMPLE833:thinggroup/Tg_level1",
      "groupId": "bc1643e1-5a85-4eac-b45a-92509cbe2a77"
    },
    {
      "groupArn": "arn:aws:iot:us-west-2:571EXAMPLE833:thinggroup/Tg_level2",
      "groupId": "0476f3d2-9beb-48bb-ae2c-ea8bd6458158"
    },
    {
      "groupArn": "arn:aws:iot:us-west-2:571EXAMPLE833:thinggroup/Tg_level3",
      "groupId": "1d9d4ffe-a6b0-48d6-9de6-2e54d1eae78f"
    },
    {
      "groupArn": "arn:aws:iot:us-west-2:571EXAMPLE833:thinggroup/Tg_level4",
      "groupId": "5fce366a-7875-4c0e-870b-79d8d1dce119"
    }
  ],
  "attributes": {
    "attribute1": "value1",
    "attribute3": "value3",
    "attribute2": "value2"
  },
  "dynamicGroupMappingId": null
}
```

I payload contengono gli attributi seguenti:

eventType  
Imposta su "THING\$1GROUP\$1EVENT".

eventId  
ID evento univoco (stringa).

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

operation  
Operazione che ha attivato l'evento. I valori validi sono:  
+ created
+ AGGIORNATO
+ ELIMINATO

accountId  
Il tuo Account AWS ID.

thingGroupId  
ID del gruppo di oggetti creato, aggiornato o eliminato.

thingGroupName  
Nome del gruppo di oggetti creato, aggiornato o eliminato.

versionNumber  
Versione del gruppo di oggetti. Questo valore è impostato su 1 quando viene creato un gruppo di oggetti. Il valore viene incrementato di 1 ogni volta che il gruppo di oggetti viene aggiornato.

parentGroupName  
Nome del gruppo di oggetti padre, se esistente.

parentGroupId  
ID del gruppo di oggetti padre, se esistente.

description  
Descrizione del gruppo di oggetti.

rootToParentThingGroups  
Matrice di informazioni sul gruppo di oggetti padre. È presente un elemento per ogni gruppo di oggetti padre, iniziando dal gruppo di oggetti root e continuando fino a raggiungere il gruppo di oggetti padre. Ogni voce contiene `groupArn` e `groupId` del gruppo di oggetti.

attributes  
Raccolta di coppie nome/valore associate al gruppo di oggetti.

### Oggetto aggiunto o rimosso in un gruppo di oggetti
<a name="registry-events-thinggroup-addremove"></a>

Il registro pubblica i messaggi di evento seguenti quando un oggetto viene aggiunto o rimosso in un gruppo di oggetti.
+ `$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/added`
+ `$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/removed`

I messaggi contengono il payload di esempio seguente:

```
{
    "eventType" : "THING_GROUP_MEMBERSHIP_EVENT",
    "eventId" : "d684bd5f-6f6e-48e1-950c-766ac7f02fd1",
    "timestamp" : 1234567890123,
    "operation" : "ADDED|REMOVED",
    "accountId" : "123456789012",
    "groupArn" : "arn:aws:iot:ap-northeast-2:123456789012:thinggroup/MyChildThingGroup",
    "groupId" : "06838589-373f-4312-b1f2-53f2192291c4",
    "thingArn" : "arn:aws:iot:ap-northeast-2:123456789012:thing/MyThing",
    "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5",
    "membershipId" : "8505ebf8-4d32-4286-80e9-c23a4a16bbd8"
}
```

I payload contengono gli attributi seguenti:

eventType  
Imposta su "THING\$1GROUP\$1MEMBERSHIP\$1EVENT".

eventId  
ID evento.

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

operation  
`ADDED` quando un oggetto viene aggiunto a un gruppo di oggetti. `REMOVED` quando un oggetto viene rimosso da un gruppo di oggetti.

accountId  
Il tuo Account AWS documento d'identità.

groupArn  
ARN del gruppo di oggetti.

groupId  
ID del gruppo.

thingArn  
ARN dell'oggetto aggiunto o rimosso nel gruppo di oggetti.

thingId  
ID dell'oggetto aggiunto o rimosso nel gruppo di oggetti.

membershipId  
ID che rappresenta la relazione tra l'oggetto e il gruppo di oggetti. Questo valore viene generato quando aggiungi un oggetto a un gruppo di oggetti.

### Gruppo di oggetti aggiunto o rimosso in un gruppo di oggetti
<a name="registry-events-thinggroup-adddelete"></a>

Il registro pubblica i messaggi di evento seguenti quando un gruppo di oggetti viene aggiunto o rimosso in un altro gruppo di oggetti.
+ `$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/added`
+ `$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/removed`

Il messaggio contiene il seguente payload di esempio:

```
{
    "eventType" : "THING_GROUP_HIERARCHY_EVENT",
    "eventId" : "264192c7-b573-46ef-ab7b-489fcd47da41",
    "timestamp" : 1234567890123,
    "operation" : "ADDED|REMOVED",
    "accountId" : "123456789012",
    "thingGroupId" : "8f82a106-6b1d-4331-8984-a84db5f6f8cb",
    "thingGroupName" : "MyRootThingGroup",
    "childGroupId" : "06838589-373f-4312-b1f2-53f2192291c4",
    "childGroupName" : "MyChildThingGroup"
}
```

I payload contengono gli attributi seguenti:

eventType  
Imposta su "THING\$1GROUP\$1HIERARCHY\$1EVENT".

eventId  
ID evento.

timestamp  
Timestamp UNIX del momento in cui si è verificato l'evento.

operation  
`ADDED` quando un oggetto viene aggiunto a un gruppo di oggetti. `REMOVED` quando un oggetto viene rimosso da un gruppo di oggetti.

accountId  
Il tuo Account AWS documento d'identità.

thingGroupId  
ID del gruppo di oggetti padre.

thingGroupName  
Nome del gruppo di oggetti padre.

childGroupId  
ID del gruppo di oggetti figlio.

childGroupName  
Nome del gruppo di oggetti figlio.

# Eventi del servizio Jobs
<a name="events-jobs"></a>

Il servizio AWS IoT Jobs pubblica su argomenti riservati sul protocollo MQTT quando i lavori sono in sospeso, completati o annullati e quando un dispositivo segnala un esito positivo o negativo durante l'esecuzione di un lavoro. I dispositivi o le applicazioni di gestione e monitoraggio permettono di tenere traccia dello stato dei processi sottoscrivendo questi argomenti.

**Come abilitare eventi processi**  
I messaggi di risposta del servizio AWS IoT Jobs non passano attraverso il broker di messaggi e non possono essere sottoscritti da altri client o regole. Per effettuare la sottoscrizione ai messaggi relativi all'attività del processo, utilizza gli argomenti `notify` e `notify-next`. Per ulteriori informazioni sugli argomenti dei processi, consulta [Argomenti di processo](reserved-topics.md#reserved-topics-job).

Per ricevere notifiche sugli aggiornamenti dei lavori, abilita questi eventi di lavoro utilizzando o utilizzando l'API o la CLI. Console di gestione AWS Per ulteriori informazioni, consulta [Abilita eventi per AWS IoT](iot-events.md#iot-events-enable).

**Come funzionano gli eventi di processo**  
Poiché l'eliminazione e l'annullamento di un processo potrebbero richiedere alcuni minuti, vengono inviati due messaggi per indicare l'inizio e la fine di una richiesta. Ad esempio, quando si avvia una richiesta di annullamento, viene inviato un messaggio all'argomento `$aws/events/job/jobID/cancellation_in_progress`. Quando la richiesta di annullamento è completa, viene inviato un messaggio all'argomento `$aws/events/job/jobID/canceled`.

Lo stesso processo si verifica per una richiesta di eliminazione di un processo. Le applicazioni di gestione e monitoraggio permettono di tenere traccia dello stato dei processi sottoscrivendo questi argomenti. Per ulteriori informazioni sulla pubblicazione e sulla sottoscrizione di argomenti MQTT, consulta [Protocolli di dispositivo di comunicazione](protocols.md).

**Tipi di eventi di processo**  
Gli esempi seguenti mostrano i diversi tipi di eventi relativi ai job:

**Job Completed/Canceled/Deleted**  
Il servizio AWS IoT Jobs pubblica un messaggio su un argomento MQTT quando un lavoro viene completato, annullato, eliminato o quando sono in corso annullamenti o eliminazioni:  
+ `$aws/events/job/jobID/completed`
+ `$aws/events/job/jobID/canceled`
+ `$aws/events/job/jobID/deleted`
+ `$aws/events/job/jobID/cancellation_in_progress`
+ `$aws/events/job/jobID/deletion_in_progress`
Il messaggio `completed` contiene il seguente payload di esempio:  

```
{
  "eventType": "JOB",
  "eventId": "7364ffd1-8b65-4824-85d5-6c14686c97c6",
  "timestamp": 1234567890,
  "operation": "completed",
  "jobId": "27450507-bf6f-4012-92af-bb8a1c8c4484",
  "status": "COMPLETED",
  "targetSelection": "SNAPSHOT|CONTINUOUS",
  "targets": [
    "arn:aws:iot:us-east-1:123456789012:thing/a39f6f91-70cf-4bd2-a381-9c66df1a80d0",
    "arn:aws:iot:us-east-1:123456789012:thinggroup/2fc4c0a4-6e45-4525-a238-0fe8d3dd21bb"
  ],
  "description": "My Job Description",
  "completedAt": 1234567890123,
  "createdAt": 1234567890123,
  "lastUpdatedAt": 1234567890123,
  "jobProcessDetails": {
    "numberOfCanceledThings": 0,
    "numberOfRejectedThings": 0,
    "numberOfFailedThings": 0,
    "numberOfRemovedThings": 0,
    "numberOfSucceededThings": 3
  }
}
```
Il messaggio `canceled` contiene il seguente payload di esempio.  

```
{
  "eventType": "JOB",
  "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
  "timestamp": 1234567890,
  "operation": "canceled",
  "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
  "status": "CANCELED",
  "targetSelection": "SNAPSHOT|CONTINUOUS",
  "targets": [
    "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
    "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
  ],
  "description": "My job description",
  "createdAt": 1234567890123,
  "lastUpdatedAt": 1234567890123
}
```
Il messaggio `deleted` contiene il seguente payload di esempio.  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "deleted",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "DELETED",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```
Il messaggio `cancellation_in_progress` contiene il seguente payload di esempio:  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "cancellation_in_progress",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "CANCELLATION_IN_PROGRESS",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```
Il messaggio `deletion_in_progress` contiene il seguente payload di esempio:  

```
{
      "eventType": "JOB",
      "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06",
      "timestamp": 1234567890,
      "operation": "deletion_in_progress",
      "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0",
      "status": "DELETION_IN_PROGRESS",
      "targetSelection": "SNAPSHOT|CONTINUOUS",
      "targets": [
        "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f",
        "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f"
      ],
      "description": "My job description",
      "createdAt": 1234567890123,
      "lastUpdatedAt": 1234567890123,
      "comment": "Comment for this operation"
    }
```

**Stato terminale dell'esecuzione del processo**  
Il servizio AWS IoT Jobs pubblica un messaggio quando un dispositivo aggiorna l'esecuzione di un lavoro allo stato del terminale:  
+ `$aws/events/jobExecution/jobID/succeeded`
+ `$aws/events/jobExecution/jobID/failed`
+ `$aws/events/jobExecution/jobID/rejected`
+ `$aws/events/jobExecution/jobID/canceled`
+ `$aws/events/jobExecution/jobID/timed_out`
+ `$aws/events/jobExecution/jobID/removed`
+ `$aws/events/jobExecution/jobID/deleted`
Il messaggio contiene il seguente payload di esempio:  

```
{
  "eventType": "JOB_EXECUTION",
  "eventId": "cca89fa5-8a7f-4ced-8c20-5e653afb3572",
  "timestamp": 1234567890,
  "operation": "succeeded|failed|rejected|canceled|removed|timed_out",
  "jobId": "154b39e5-60b0-48a4-9b73-f6f8dd032d27",
  "thingArn": "arn:aws:iot:us-east-1:123456789012:myThing/6d639fbc-8f85-4a90-924d-a2867f8366a7",
  "status": "SUCCEEDED|FAILED|REJECTED|CANCELED|REMOVED|TIMED_OUT",
  "statusDetails": {
    "key": "value"
  }
}
```

# Eventi di esecuzione dei comandi
<a name="command-events"></a>

AWS IoT pubblica messaggi di eventi su argomenti MQTT quando l'esecuzione dei comandi cambia lo stato. È possibile utilizzare questi eventi per monitorare l'avanzamento dell'esecuzione dei comandi e creare applicazioni che rispondono ai cambiamenti di stato.

**Argomenti degli eventi di esecuzione dei comandi**  
Gli eventi di esecuzione dei comandi sono pubblicati nel seguente argomento MQTT:

```
$aws/events/commandExecution/commandId/status
```

Dove:
+ `commandId`è l'identificatore del comando.
+ `status`è lo stato dell'esecuzione del comando. I valori validi sono: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

Per ricevere notifiche per tutti i comandi e tutti gli stati, sottoscrivi il seguente argomento utilizzando caratteri jolly:

```
$aws/events/commandExecution/+/#
```

**Messaggio relativo all'evento di esecuzione del comando**  
Quando lo stato di esecuzione di un comando cambia, AWS IoT pubblica un messaggio di evento nell'argomento MQTT corrispondente. Il messaggio contiene il seguente payload di esempio:

```
{
    "executionId": "2bd65c51-4cfd-49e4-9310-d5cbfdbc8554",
    "status": "FAILED",
    "statusReason": {
        "reasonCode": "DEVICE_TOO_BUSY",
        "reasonDescription": ""
    },
    "eventType": "COMMAND_EXECUTION",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/0b9d9ddf-e873-43a9-8e2c-9fe004a90086",
    "targetArn": "arn:aws:iot:us-east-1:123456789012:thing/5006c3fc-de96-4def-8427-7eee36c6f2bd",
    "timestamp": 1717708862107
}
```

Il payload contiene gli attributi seguenti:

**ID di esecuzione**  
Un identificatore univoco per l'esecuzione del comando (stringa).

**status**  
Lo stato dell'esecuzione del comando. I valori validi sono: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

**StatusReason**  
Un oggetto contenente informazioni aggiuntive sullo stato, se disponibili. Contiene `reasonCode` e `reasonDescription` campi.

**eventType**  
Impostato su «COMMAND\$1EXECUTION».

**COMANDOARN**  
L'Amazon Resource Name (ARN) del comando.

**TargetARN**  
L'ARN del dispositivo di destinazione (cosa o client) per l'esecuzione del comando.

**timestamp**  
Timestamp UNIX del momento in cui si è verificato l'evento.

# Eventi del ciclo di vita
<a name="life-cycle-events"></a>

AWS IoT può pubblicare eventi del ciclo di vita sugli argomenti MQTT. Questi eventi sono disponibili per impostazione predefinita e non possono essere disabilitati.

**Nota**  
È possibile che i messaggi del ciclo di vita non vengano inviati in ordine. Potresti anche ricevere messaggi duplicati.  
`thingName`sarà incluso solo se il client si connette utilizzando la funzione oggetto [esclusiva](exclusive-thing.md).

**Topics**
+ [Eventi di connessione/disconnessione](#connect-disconnect)
+ [Evento di tentativo di connessione fallito](#connect-authfailure-event)
+ [Eventi di sottoscrizione/annullamento della sottoscrizione](#subscribe-unsubscribe-events)

## Eventi di connessione/disconnessione
<a name="connect-disconnect"></a>

**Nota**  
Con l'indicizzazione del parco veicoli di AWS IoT Device Management, puoi cercare elementi, eseguire query aggregate e creare gruppi dinamici basati sugli eventi degli oggetti. Connect/Disconnect Per ulteriori informazioni, consulta [Indicizzazione del parco istanze](https://docs.aws.amazon.com//iot/latest/developerguide/iot-indexing.html).

AWS IoT pubblica un messaggio sui seguenti argomenti MQTT quando un client si connette o si disconnette:
+ `$aws/events/presence/connected/clientId` - Client connesso al broker di messaggi.
+ `$aws/events/presence/disconnected/clientId` - Client disconnesso dal broker di messaggi.

Di seguito è riportato un elenco di elementi JSON contenuti nei connection/disconnection messaggi pubblicati sull'argomento. `$aws/events/presence/connected/clientId`

**clientId**  
ID del client che si connette o si disconnette.  
I client IDs che contengono \$1 o \$1 non ricevono eventi del ciclo di vita.

**thingName**  
Il nome del tuo dispositivo IoT. `thingName`sarà incluso solo se il client si connette utilizzando la funzione [oggetto esclusiva](exclusive-thing.md).

**clientInitiatedDisconnect**  
True se il client ha avviato la disconnessione. In caso contrario, false. Presente solo nei messaggi di disconnessione.

**disconnectReason**  
Il motivo per cui il client viene disconnesso. Presente solo nei messaggi di disconnessione. La tabella seguente contiene valori validi e indica se il broker invierà [Messaggi Last Will and Testament (LWT)](mqtt.md#mqtt-lwt) quando si verifica la disconnessione.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/life-cycle-events.html)
1 Se il dispositivo ha una connessione attiva prima di ricevere questo errore.  
2 Per evitare messaggi di Last Will and Testament (LWT), imposta in modo `preventWillMessage=true` da sovrascrivere il comportamento di invio LWT predefinito dell'`DeleteConnection`API.

**eventType**  
Tipo di evento. I valori validi sono `connected` e `disconnected`. 

**ipAddress**  
L'indirizzo IP del client di connessione. Può essere in o formato. IPv4 IPv6 Presente solo nei messaggi di connessione. 

**principalIdentifier**  
Credenziale usata per l'autenticazione. Per i certificati di autenticazione reciproca TLS, si tratta dell'ID certificato. Per altre connessioni, si tratta delle credenziali IAM.

**sessionIdentifier**  
Un identificatore univoco globale AWS IoT che esiste per tutta la durata della sessione.

**timestamp**  
Un'approssimazione del momento in cui si è verificato l'evento.

**versionNumber**  
Numero di versione per l'evento del ciclo di vita. Consiste nell'aumentare in maniera monotona un valore intero lungo per ogni connessione dell'ID client. Il numero di versione può essere utilizzato da un sottoscrittore per dedurre l'ordine degli eventi del ciclo di vita.  
I messaggi di connessione e disconnessione per una connessione client hanno lo stesso numero di versione.  
Il numero di versione potrebbe ignorare valori e non è garantito che aumenti di 1 in modo costante per ogni evento.  
Se un client non è connesso per circa un'ora, il numero di versione viene reimpostato su 0. Per le sessioni persistenti, il numero di versione viene reimpostato su 0 dopo che un client è stato disconnesso più a lungo del periodo configurato time-to-live (TTL) per la sessione persistente.

Un messaggio di connessione ha la seguente struttura.

```
{
    "clientId": "186b5",
    "thingName": "exampleThing",
    "timestamp": 1573002230757,
    "eventType": "connected",
    "sessionIdentifier": "00000000-0000-0000-0000-000000000000",
    "principalIdentifier": "12345678901234567890123456789012",
    "ipAddress": "192.0.2.0",
    "versionNumber": 0
}
```

Un messaggio di disconnessione ha la seguente struttura.

```
{
    "clientId": "186b5",
    "thingName": "exampleThing",
    "timestamp": 1573002340451,
    "eventType": "disconnected",
    "sessionIdentifier": "00000000-0000-0000-0000-000000000000",
    "principalIdentifier": "12345678901234567890123456789012",
    "clientInitiatedDisconnect": true,
    "disconnectReason": "CLIENT_INITIATED_DISCONNECT",
    "versionNumber": 0
}
```

### Gestione delle disconnessioni client
<a name="reconnect"></a>

Secondo le best practice, occorre sempre avere uno stato di attesa implementato per gli eventi del ciclo di vita, inclusi i [messaggi Last Will and Testament (LWT)](mqtt.md). Quando si riceve un messaggio di disconnessione, il codice deve attendere un periodo di tempo e verificare che un dispositivo è ancora offline prima di effettuare operazioni. A questo scopo, è possibile utilizzare [Code di ritardo Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html). Quando un client riceve un LWT o un evento del ciclo di vita, è possibile accodare un messaggio, ad esempio per 5 secondi. Quando il messaggio diventa disponibile e viene elaborato (da Lambda o da un altro servizio), è possibile controllare innanzitutto se il dispositivo è ancora realmente offline prima di effettuare ulteriori operazioni.

## Evento di tentativo di connessione fallito
<a name="connect-authfailure-event"></a>

AWS IoT pubblica un messaggio sul seguente argomento MQTT quando un client non è autorizzato a connettersi o quando è configurato un testamento e un testamento e il client non è autorizzato a pubblicare su quell'argomento di ultimo testamento.

```
$aws/events/presence/connect_failed/clientId
```

Di seguito è riportato un elenco di elementi JSON contenuti nei messaggi di autorizzazione alla connessione pubblicati sull'argomento. `$aws/events/presence/connect_failed/clientId`

**clientId**  
L'ID client del client che ha tentato e non è riuscito a connettersi.  
I client IDs che contengono \$1 o \$1 non ricevono eventi del ciclo di vita.

**thingName**  
Il nome del tuo dispositivo IoT. `thingName`sarà incluso solo se il client si connette utilizzando la funzione [oggetto esclusiva](exclusive-thing.md).

**timestamp**  
Un'approssimazione del momento in cui si è verificato l'evento.

**eventType**  
Tipo di evento. Il valore valido è`connect_failed`.

**connectFailureReason**  
Il motivo per cui la connessione non riesce. Il valore valido è`AUTHORIZATION_FAILED`.

**principalIdentifier**  
Credenziale usata per l'autenticazione. Per i certificati di autenticazione reciproca TLS, si tratta dell'ID certificato. Per altre connessioni, si tratta delle credenziali IAM.

**sessionIdentifier**  
Un identificatore univoco globale AWS IoT che esiste per tutta la durata della sessione.

**ipAddress**  
L'indirizzo IP del client di connessione. Può essere in IPv4 o IPv6 formato. Presente solo nei messaggi di connessione.

Un messaggio di errore di connessione ha la seguente struttura.

```
{
    "clientId": "186b5",
    "thingName": "exampleThing",
    "timestamp": 1460065214626,
    "eventType": "connect_failed",
    "connectFailureReason": "AUTHORIZATION_FAILED",
    "principalIdentifier": "12345678901234567890123456789012",
    "sessionIdentifier": "00000000-0000-0000-0000-000000000000",
    "ipAddress" : "192.0.2.0"
}
```

## Eventi di sottoscrizione/annullamento della sottoscrizione
<a name="subscribe-unsubscribe-events"></a>

AWS IoT pubblica un messaggio sul seguente argomento MQTT quando un client sottoscrive o annulla l'iscrizione a un argomento MQTT:

```
$aws/events/subscriptions/subscribed/clientId
```

 or 

```
$aws/events/subscriptions/unsubscribed/clientId
```

Dove `clientId` è l'ID client MQTT che si connette al broker di messaggi AWS IoT .

Il messaggio pubblicato in questo argomento ha la struttura seguente:

```
{
    "clientId": "186b5",
    "thingName": "exampleThing",
    "timestamp": 1460065214626,
    "eventType": "subscribed" | "unsubscribed",
    "sessionIdentifier": "00000000-0000-0000-0000-000000000000",
    "principalIdentifier": "12345678901234567890123456789012",
    "topics" : ["foo/bar","device/data","dog/cat"]
}
```

Di seguito è riportato un elenco di elementi JSON contenuti nei messaggi di cui è stata eseguita o annullata la sottoscrizione pubblicati negli argomenti `$aws/events/subscriptions/subscribed/clientId` e `$aws/events/subscriptions/unsubscribed/clientId`.

clientId  
ID del client che esegue la sottoscrizione o l'annullamento della sottoscrizione.  
I client IDs che contengono \$1 o \$1 non ricevono eventi del ciclo di vita.

thingName  
Il nome del tuo dispositivo IoT. `thingName`sarà incluso solo se il client si connette utilizzando la funzione [oggetto esclusiva](exclusive-thing.md).

eventType  
Tipo di evento. I valori validi sono `subscribed` e `unsubscribed`. 

principalIdentifier  
Credenziale usata per l'autenticazione. Per i certificati di autenticazione reciproca TLS, si tratta dell'ID certificato. Per altre connessioni, si tratta delle credenziali IAM.

sessionIdentifier  
Un identificatore univoco globale AWS IoT che esiste per tutta la durata della sessione.

timestamp  
Un'approssimazione del momento in cui si è verificato l'evento.

topics  
Matrice degli argomenti MQTT sottoscritti dal client.

**Nota**  
È possibile che i messaggi del ciclo di vita non vengano inviati in ordine. Potresti anche ricevere messaggi duplicati.