

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

# Struttura e sintassi degli eventi del ciclo di vita di Resource Groups
<a name="monitor-groups-syntax"></a>

**Topics**
+ [Struttura del `detail` campo](monitor-groups-syntax-detail.md)
+ [Esempi di modelli di eventi EventBridge personalizzati per diversi casi d'uso](monitor-groups-example-eventbridge-filters.md)

Gli eventi del ciclo di vita AWS Resource Groups assumono la forma di stringhe di oggetti [JSON](https://json.org) nel seguente formato generale.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group ... Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/MyGroupName"
    ],
    "detail": {
        ...
    }
}
```

Per dettagli sui campi comuni a tutti gli EventBridge eventi Amazon, consulta [Amazon EventBridge events](https://docs.aws.amazon.com//eventbridge/latest/userguide/aws-events.html) nella *Amazon EventBridge User Guide*. I dettagli specifici di Resource Groups sono illustrati nella tabella seguente.


| Nome del campo | Tipo | Description | 
| --- | --- | --- | 
| detail-type | Stringa |  Per Resource Groups, il `detail-type` campo è sempre uno dei seguenti valori: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/ARG/latest/userguide/monitor-groups-syntax.html)  | 
| source | Stringa | Per Resource Groups, questo valore è sempre"aws.resource-groups". | 
| resources | Una serie di nomi di risorse Amazon (ARNs) |  Questo campo include sempre il [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) del gruppo con la modifica che ha attivato questo evento. Questo campo può anche includere tutte ARNs le risorse aggiunte o rimosse dal gruppo, se applicabile.  | 
|  `detail`  | Stringa di oggetto JSON | Questo è il payload dell'evento. Il contenuto del detail campo varia in base al valore didetail-type. [Per ulteriori informazioni, consulta la sezione successiva.](monitor-groups-syntax-detail.md) | 

# Struttura del `detail` campo
<a name="monitor-groups-syntax-detail"></a>

Il `detail` campo include tutti i dettagli specifici del servizio Resource Groups su una modifica specifica. Il `detail` campo può assumere due forme, una modifica dello stato del gruppo o una modifica dell'appartenenza, in base al valore del `detail-type` campo descritto nella sezione precedente.

**Importante**  
[I gruppi di risorse in questi eventi sono identificati da una combinazione dell'ARN del gruppo e di un `"unique-id"` campo che contiene un UUID.](https://wikipedia.org/wiki/Universally_unique_identifier) Includendo un UUID come parte dell'identità di un gruppo di risorse, è possibile distinguere tra un gruppo eliminato e un gruppo diverso che viene successivamente creato con lo stesso nome. È consigliabile considerare una concatenazione dell'ARN e dell'ID univoco come chiave per il gruppo nei programmi che interagiscono con questi eventi. 

## Modifica dello stato del gruppo
<a name="monitor-groups-syntax-detail-state-change"></a>

`"detail-type": "ResourceGroups Group State Change"`

Questo `detail-type` valore indica che lo stato del gruppo stesso, inclusi i relativi metadati, è cambiato. Questa modifica si verifica quando un gruppo viene creato, aggiornato o eliminato, come indicato dal `"change"` campo all'`detail`interno di. 

Le informazioni incluse nella `details` sezione quando questo `detail-type` viene specificato includono i campi descritti nella tabella seguente.


| Nome del campo | Tipo | Description | 
| --- | --- | --- | 
| event-sequence | Double | Un numero monotonicamente crescente che specifica la sequenza di eventi per un gruppo specifico. Il numero viene reimpostato quando si elimina il gruppo e si crea un altro gruppo con lo stesso nome.  | 
| group | [`Group`](#monitor-groups-syntax-detail-group-object)Oggetto JSON | L'oggetto gruppo associato all'evento tramite ARN, nome e ID univoco. | 
| state-change | Stringa | Il tipo di cambiamento di stato che si è verificato. Può essere uno dei seguenti valori:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/ARG/latest/userguide/monitor-groups-syntax-detail.html) | 
| old-state  | GroupStateoggetto JSON | Lo stato del gruppo prima della modifica. L'oggetto include solo i valori delle proprietà modificate.  | 
|  `new-state`  | GroupStateOggetto JSON | Lo stato del gruppo dopo la modifica. L'oggetto include solo i valori delle proprietà modificate. | 

L'oggetto `group` JSON contiene gli elementi descritti nella tabella seguente. 


| Nome del campo | Tipo | Description | 
| --- | --- | --- | 
| arn | Stringa | L'ARN del gruppo. | 
| name | Stringa | Il nome descrittivo del gruppo. | 
| unique-id | GUIDA | Un valore GUID univoco che distingue tra un gruppo eliminato e un gruppo diverso che è stato successivamente creato con lo stesso nome e ARN. Usa la concatenazione di ARN e questo valore come chiave univoca per il gruppo quando utilizzi questi eventi nel tuo codice.  | 

Gli oggetti `GroupState` JSON contengono gli elementi descritti nella tabella seguente.


| Nome del campo | Tipo | Description | 
| --- | --- | --- | 
| description | Stringa | La descrizione del gruppo di risorse fornita dal cliente. | 
| resource-query | ResourceQueryOggetto JSON | Una rappresentazione JSON della query che definisce i membri del gruppo. Questo campo è presente solo per i gruppi basati su una query. La sintassi di questo campo è definita dal [tipo di dati dell'ResourceQuery API](https://docs.aws.amazon.com//organizations/latest/APIReference/API_ResourceQuery.html). Alcuni esempi di ciò sono inclusi negli esempi di eventi [Create](#monitor-groups-syntax-detail-state-change-create) and [Update](#monitor-groups-syntax-detail-state-change-update). | 
| group-configuration | ConfigurationOggetto JSON | Una rappresentazione JSON dei parametri di configurazione associati a un gruppo collegato al servizio. Per ulteriori informazioni, consulta [Configurazioni dei servizi per i gruppi di risorse](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html) nell'API Reference.AWS Resource Groups  | 

Ciascuno dei seguenti esempi di codice illustra il contenuto del `detail` campo per ogni `state-change` tipo.

### Crea
<a name="monitor-groups-syntax-detail-state-change-create"></a>

`"state-change": "create"` 

L'evento indica che è stato creato un nuovo gruppo. L'evento contiene tutte le proprietà dei metadati di gruppo impostate durante la creazione del gruppo. Questo evento è in genere seguito da uno o più eventi di appartenenza al gruppo, a meno che il gruppo non sia vuoto. Le proprietà con un valore nullo non vengono visualizzate nel corpo dell'evento. 

L'evento di esempio seguente indica un gruppo di risorse appena creato denominato`my-service-group`. In questo esempio, il gruppo utilizza una query basata su tag che corrisponde solo alle istanze Amazon Elastic Compute Cloud (Amazon EC2) che dispongono del tag. `"project"="my-service"`

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group"
    ],
    "detail": {
        "event-sequence": 1.0,
        "state-change": "create", 
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group",
            "name": "my-service-group",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },        
        "new-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],
                    \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}]
                }"
            }
        }
    }
}
```

### Aggiorna
<a name="monitor-groups-syntax-detail-state-change-update"></a>

`"state-change": "update"`

L'evento indica che un gruppo esistente è stato modificato in qualche modo. L'evento contiene solo le proprietà modificate rispetto allo stato precedente. Le proprietà che non sono state modificate non vengono visualizzate nel corpo dell'evento.

L'evento di esempio seguente indica che la query basata su tag nel gruppo di risorse dell'esempio precedente è stata modificata per includere anche le risorse di volume Amazon EC2 nel gruppo.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group"
    ],
    "detail": {
        "event-sequence": 3.0,
        "state-change": "update",
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },        
        "new-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\", \"AWS::EC2::Volume\"],
                    \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}]
                }"
            }
        },
        "old-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],
                    \"TagFilters\": [{\"Key\":\"Project\", \"Values\":[\"my-service\"}]
                }"
            }
        }
    }
}
```

### Elimina
<a name="monitor-groups-syntax-detail-state-change-delete"></a>

`"state-change": "delete"`

L'evento indica che un gruppo esistente è stato eliminato. Il campo dei dettagli non include metadati sul gruppo oltre alla sua identificazione. Il `event-sequence` campo viene ripristinato dopo questo evento in quanto è, per definizione, l'ultimo evento di questo `arn` e`unique-id`.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service"
    ],
    "detail": {
        "event-sequence": 4.0,   
        "state-change": "delete",
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        }
    }
}
```

## Modifica dell'appartenenza al gruppo
<a name="monitor-groups-syntax-detail-membership-change"></a>

`"detail-type": "ResourceGroups Group Membership Change"`

Questo `detail-type` valore indica che l'appartenenza al gruppo è stata modificata dall'aggiunta o dalla rimozione di una risorsa dal gruppo. Quando `detail-type` viene specificato, il `resources` campo di primo livello include l'ARN del gruppo la cui appartenenza è stata modificata e ARNs quello di tutte le risorse che sono state aggiunte o rimosse dal gruppo.

Le informazioni incluse nella `details` sezione quando questo `detail-type` viene specificato includono i campi descritti nella tabella seguente.


| Nome del campo | Tipo | Description | 
| --- | --- | --- | 
| event-sequence | Double | Un numero monotonicamente crescente che indica la sequenza di eventi per un gruppo specifico. Il numero viene reimpostato quando il gruppo viene eliminato e il relativo ID univoco cambia.  | 
| group | GroupOggetto JSON | Identifica l'oggetto gruppo associato all'evento tramite ARN, nome e ID univoco. | 
|  `resources`  | Matrice di oggetti JSON ResourceChange |  Una serie di risorse la cui appartenenza al gruppo è cambiata. Questo `ResourceChange` oggetto contiene i seguenti campi per ogni risorsa: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/ARG/latest/userguide/monitor-groups-syntax-detail.html)  | 

Il seguente esempio di codice illustra il contenuto dell'evento per un tipo tipico di modifica dell'iscrizione. Questo esempio mostra una risorsa che viene aggiunta al gruppo e una risorsa che viene rimossa dal gruppo.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group Membership Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
        "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111",
        "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222"
    ],
    "detail": {
        "event-sequence": 2.0,
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },
        "resources": [
            {
                "membership-change": "add",
                "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111",
                "resource-type": "AWS::EC2::Instance"
            },
            {
                "membership-change": "remove",
                "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222",
                "resource-type": "AWS::EC2::Instance"
            }
        ]
    }
}
```

# Esempi di modelli di eventi EventBridge personalizzati per diversi casi d'uso
<a name="monitor-groups-example-eventbridge-filters"></a>

I modelli di eventi EventBridge personalizzati seguenti filtrano gli eventi generati da Resource Groups solo in base a quelli che ti interessano per una regola e un obiettivo di evento specifici.

Nei seguenti esempi di codice, se è necessario un gruppo o una risorsa specifici, sostituiteli *user input placeholder* con le vostre informazioni.

Tutti gli eventi Resource Groups  

```
{
    "source": [ "aws.resource-groups" ]
}
```

Eventi di modifica dello stato o dell'appartenenza al gruppo  
Il seguente esempio di codice riguarda tutte le modifiche *allo stato* del gruppo.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group State Change " ]
}
```
Il seguente esempio di codice riguarda tutte le modifiche relative *all'appartenenza* ai gruppi.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ]
}
```

Eventi per un gruppo specifico  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "group": {
            "arn": [ "my-group-arn" ]
        }
    }
}
```
L'esempio precedente acquisisce le modifiche al gruppo specificato. L'esempio seguente esegue la stessa operazione e acquisisce anche le modifiche quando il gruppo è una risorsa membro di un altro gruppo.  

```
{
    "source": [ "aws.resource-groups" ],
    "resources": [ "my-group-arn" ]
}
```

Eventi per una risorsa specifica  
È possibile filtrare solo gli eventi di modifica dell'appartenenza al gruppo per risorse specifiche dei membri.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change " ],
    "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ]
}
```

Eventi per un tipo di risorsa specifico  
È possibile utilizzare la corrispondenza del prefisso con ARNs per abbinare gli eventi per un tipo di risorsa specifico.  

```
{
    "source": [ "aws.resource-groups" ],
    "resources": [
        { "prefix": "arn:aws:ec2:us-east-1:123456789012:instance" } 
    ]
}
```
In alternativa, è possibile utilizzare la corrispondenza esatta utilizzando `resource-type` identificatori, che potenzialmente corrispondono a più di un tipo in modo conciso. A differenza dell'esempio precedente, l'esempio seguente corrisponde solo agli eventi di modifica dell'appartenenza al gruppo perché gli eventi di modifica dello stato del gruppo non includono un `resources` campo nel loro campo. `detail`  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "resources": {
                "resource-type": [ "AWS::EC2::Instance", "AWS::EC2::Volume" ]
         }
    }
}
```

Tutti gli eventi di rimozione delle risorse  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ]
        }
    }
}
```

Tutti gli eventi di rimozione delle risorse per una risorsa specifica  

```
 {
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ],
                "arn": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ]
         }
    }
}
```
Non è possibile utilizzare l'`resources`array **di primo livello** utilizzato nel primo esempio di questa sezione per questo tipo di filtro degli eventi. Questo perché una risorsa nell'`resources`elemento di primo livello potrebbe essere una risorsa aggiunta a un gruppo e l'evento continuerebbe a corrispondere. In altre parole, il seguente esempio di codice potrebbe restituire eventi imprevisti. Utilizzate invece la sintassi mostrata nell'esempio precedente.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ]
         }
     }
}
```