

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

# Invio di eventi a CloudWatch
<a name="examples-cloudwatch-send-events"></a>

CloudWatch Events offre un flusso quasi in tempo reale di eventi di sistema che descrivono le modifiche nelle AWS risorse alle istanze Amazon EC2, alle funzioni Lambda, ai flussi Kinesis, alle attività di Amazon ECS, alle macchine a stati Step Functions, agli argomenti di Amazon SNS, alle code Amazon SQS o alle destinazioni integrate. Puoi abbinare gli eventi e instradarli verso una o più funzioni o stream target utilizzando regole semplici.

**Nota**  
[Questi frammenti di codice presuppongono che tu abbia compreso il materiale contenuto in [Getting Started Using AWS SDK per C\$1\$1 e che tu abbia configurato le credenziali predefinite utilizzando le informazioni](getting-started.md) contenute in Providing Credentials. AWSAWS](credentials.md)

## Aggiunta di eventi
<a name="add-events"></a>

Per aggiungere CloudWatch eventi personalizzati, chiama la `PutEvents` funzione CloudWatchEventsClient th's con un [PutEventsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_events_request.html)oggetto che contiene uno o più [PutEventsRequestEntry](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_events_request_entry.html)oggetti che forniscono dettagli su ciascun evento. Puoi specificare diversi parametri per la voce, ad esempio l'origine e il tipo di evento, le risorse associate all'evento e così via.

**Nota**  
Puoi specificare un massimo di 10 eventi per chiamata a `putEvents`.

 **Include** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutEventsRequest.h>
#include <aws/events/model/PutEventsResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Codice** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;

        Aws::CloudWatchEvents::Model::PutEventsRequestEntry event_entry;
        event_entry.SetDetail(MakeDetails(event_key, event_value));
        event_entry.SetDetailType("sampleSubmitted");
        event_entry.AddResources(resource_arn);
        event_entry.SetSource("aws-sdk-cpp-cloudwatch-example");

        Aws::CloudWatchEvents::Model::PutEventsRequest request;
        request.AddEntries(event_entry);

        auto outcome = cwe.PutEvents(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to post CloudWatch event: " <<
                outcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout << "Successfully posted CloudWatch event" << std::endl;
        }
```

## Aggiunta di regole
<a name="add-rules"></a>

Per creare o aggiornare una regola, chiama la `PutRule` funzione CloudWatchEventsClient's con a [PutRuleRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_rule_request.html)con il nome della regola e parametri opzionali come il [modello di evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html), il ruolo IAM da associare alla regola e un'[espressione di pianificazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) che descriva la frequenza con cui viene eseguita la regola.

 **Include** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutRuleRequest.h>
#include <aws/events/model/PutRuleResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Codice** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;
        Aws::CloudWatchEvents::Model::PutRuleRequest request;
        request.SetName(rule_name);
        request.SetRoleArn(role_arn);
        request.SetScheduleExpression("rate(5 minutes)");
        request.SetState(Aws::CloudWatchEvents::Model::RuleState::ENABLED);

        auto outcome = cwe.PutRule(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to create CloudWatch events rule " <<
                rule_name << ": " << outcome.GetError().GetMessage() <<
                std::endl;
        }
        else
        {
            std::cout << "Successfully created CloudWatch events rule " <<
                rule_name << " with resulting Arn " <<
                outcome.GetResult().GetRuleArn() << std::endl;
        }
```

## Aggiunta di target
<a name="add-targets"></a>

I target sono le risorse che vengono invocate quando una regola viene attivata. Gli obiettivi di esempio includono istanze Amazon EC2, funzioni Lambda, flussi Kinesis, attività Amazon ECS, macchine a stati Step Functions e destinazioni integrate.

Per aggiungere un obiettivo a una regola, chiama la `PutTargets` funzione CloudWatchEventsClient th's con un messaggio [PutTargetsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_targets_request.html)contenente la regola da aggiornare e un elenco di obiettivi da aggiungere alla regola.

 **Include** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutTargetsRequest.h>
#include <aws/events/model/PutTargetsResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Codice** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;

        Aws::CloudWatchEvents::Model::Target target;
        target.SetArn(lambda_arn);
        target.SetId(target_id);

        Aws::CloudWatchEvents::Model::PutTargetsRequest request;
        request.SetRule(rule_name);
        request.AddTargets(target);

        auto putTargetsOutcome = cwe.PutTargets(request);
        if (!putTargetsOutcome.IsSuccess())
        {
            std::cout << "Failed to create CloudWatch events target for rule "
                << rule_name << ": " <<
                putTargetsOutcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout <<
                "Successfully created CloudWatch events target for rule "
                << rule_name << std::endl;
        }
```

Guarda l'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/eventbridge/put_targets.cpp).

## Ulteriori informazioni
<a name="more-information"></a>
+  [Aggiungere eventi con PutEvents](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/AddEventsPutEvents.html) la Amazon CloudWatch Events User Guide
+  [Pianifica le espressioni per le regole](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) nella Guida per l'utente di Amazon CloudWatch Events
+  [Tipi di CloudWatch eventi per gli eventi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html) nella Guida per l'utente di Amazon CloudWatch Events
+  [Eventi e modelli di eventi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) nella Guida per l'utente di Amazon CloudWatch Events
+  [PutEvents](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutEvents.html)nel riferimento all'API di riferimento di Amazon CloudWatch Events
+  [PutTargets](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutTargets.html)nel riferimento all'API di riferimento di Amazon CloudWatch Events
+  [PutRule](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutRule.html)nel riferimento all'API di riferimento di Amazon CloudWatch Events