

Sono disponibili altri esempi AWS SDK nel repository [AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples) Examples. GitHub 

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

# Azioni per l'utilizzo CloudTrail AWS SDKs
<a name="cloudtrail_code_examples_actions"></a>

I seguenti esempi di codice mostrano come eseguire singole CloudTrail azioni con AWS SDKs. Ogni esempio include un collegamento a GitHub, dove sono disponibili le istruzioni per la configurazione e l'esecuzione del codice. 

 Gli esempi seguenti includono solo le azioni più comunemente utilizzate. Per un elenco completo, consulta la [documentazione di riferimento dell’API AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html). 

**Topics**
+ [`CreateTrail`](cloudtrail_example_cloudtrail_CreateTrail_section.md)
+ [`DeleteTrail`](cloudtrail_example_cloudtrail_DeleteTrail_section.md)
+ [`DescribeTrail`](cloudtrail_example_cloudtrail_DescribeTrail_section.md)
+ [`DescribeTrails`](cloudtrail_example_cloudtrail_DescribeTrails_section.md)
+ [`GetTrailStatus`](cloudtrail_example_cloudtrail_GetTrailStatus_section.md)
+ [`ListTrails`](cloudtrail_example_cloudtrail_ListTrails_section.md)
+ [`LookupEvents`](cloudtrail_example_cloudtrail_LookupEvents_section.md)
+ [`StartLogging`](cloudtrail_example_cloudtrail_StartLogging_section.md)
+ [`StopLogging`](cloudtrail_example_cloudtrail_StopLogging_section.md)
+ [`UpdateTrail`](cloudtrail_example_cloudtrail_UpdateTrail_section.md)

# Utilizzo `CreateTrail` con un AWS SDK o una CLI
<a name="cloudtrail_example_cloudtrail_CreateTrail_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `CreateTrail`.

------
#### [ C\$1\$1 ]

**SDK per C\$1\$1**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudtrail#code-examples). 

```
// Routine which creates an AWS CloudTrail trail.
/*!
  \param trailName: The name of the CloudTrail trail.
  \param bucketName: The Amazon S3 bucket designate for publishing logs.
  \param clientConfig: Aws client configuration.
  \return bool: Function succeeded.
*/
bool AwsDoc::CloudTrail::createTrail(const Aws::String trailName,
                                     const Aws::String bucketName,
                                     const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::CloudTrail::CloudTrailClient trailClient(clientConfig);
    Aws::CloudTrail::Model::CreateTrailRequest request;
    request.SetName(trailName);
    request.SetS3BucketName(bucketName);

    Aws::CloudTrail::Model::CreateTrailOutcome outcome = trailClient.CreateTrail(
            request);
    if (outcome.IsSuccess()) {
        std::cout << "Successfully created trail " << trailName << std::endl;
    }
    else {
        std::cerr << "Failed to create trail " << trailName <<
                  ": " << outcome.GetError().GetMessage() << std::endl;
    }

    return outcome.IsSuccess();
}
```
+  Per i dettagli sull'API, consulta la [CreateTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/CreateTrail)sezione *AWS SDK per C\$1\$1 API Reference*. 

------
#### [ CLI ]

**AWS CLI**  
**Come creare un trail**  
L’esempio `create-trail` seguente crea un trail multi-Regione denominato `Trail1` e specifica un bucket S3.  

```
aws cloudtrail create-trail \
    --name Trail1 \
    --s3-bucket-name amzn-s3-demo-bucket \
    --is-multi-region-trail
```
Output:  

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Per i dettagli sull'API, consulta [CreateTrail AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html)*Command Reference*. 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: crea un trail che utilizzerà il bucket “amzn-s3-demo-bucket” per l’archiviazione dei file di log.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Esempio 2: crea un trail che utilizzerà il bucket “amzn-s3-demo-bucket” per l’archiviazione dei file di log. Gli oggetti S3 che rappresentano i log saranno tutti associati al prefisso di chiave comune “mylogs”. Quando vengono distribuiti nuovi log al bucket, verrà inviata una notifica all’argomento SNS “mlog-deliverytopic”. In questo esempio viene utilizzato lo splatting per fornire i valori dei parametri al cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Per i dettagli sull'API, vedere [CreateTrail](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: crea un trail che utilizzerà il bucket “amzn-s3-demo-bucket” per l’archiviazione dei file di log.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Esempio 2: crea un trail che utilizzerà il bucket “amzn-s3-demo-bucket” per l’archiviazione dei file di log. Gli oggetti S3 che rappresentano i log saranno tutti associati al prefisso di chiave comune “mylogs”. Quando vengono distribuiti nuovi log al bucket, verrà inviata una notifica all’argomento SNS “mlog-deliverytopic”. In questo esempio viene utilizzato lo splatting per fornire i valori dei parametri al cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Per i dettagli sull'API, vedere [CreateTrail](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------
#### [ Ruby ]

**SDK per Ruby**  
 C'è altro su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/cloudtrail#code-examples). 

```
require 'aws-sdk-cloudtrail' # v2: require 'aws-sdk'
require 'aws-sdk-s3'
require 'aws-sdk-sts'

def create_trail_example(s3_client, sts_client, cloudtrail_client, trail_name, bucket_name)
  resp = sts_client.get_caller_identity({})
  account_id = resp.account

  # Attach policy to an Amazon Simple Storage Service (S3) bucket.
  s3_client.create_bucket(bucket: bucket_name)
  begin
    policy = {
      'Version' => '2012-10-17',
      'Statement' => [
        {
          'Sid' => 'AWSCloudTrailAclCheck20150319',
          'Effect' => 'Allow',
          'Principal' => {
            'Service' => 'cloudtrail.amazonaws.com'
          },
          'Action' => 's3:GetBucketAcl',
          'Resource' => "arn:aws:s3:::#{bucket_name}"
        },
        {
          'Sid' => 'AWSCloudTrailWrite20150319',
          'Effect' => 'Allow',
          'Principal' => {
            'Service' => 'cloudtrail.amazonaws.com'
          },
          'Action' => 's3:PutObject',
          'Resource' => "arn:aws:s3:::#{bucket_name}/AWSLogs/#{account_id}/*",
          'Condition' => {
            'StringEquals' => {
              's3:x-amz-acl' => 'bucket-owner-full-control'
            }
          }
        }
      ]
    }.to_json

    s3_client.put_bucket_policy(
      bucket: bucket_name,
      policy: policy
    )
    puts "Successfully added policy to bucket #{bucket_name}"
  end

  begin
    cloudtrail_client.create_trail({
                                     name: trail_name, # required
                                     s3_bucket_name: bucket_name # required
                                   })

    puts "Successfully created trail: #{trail_name}."
  rescue StandardError => e
    puts "Got error trying to create trail #{trail_name}:\n #{e}"
    puts e
    exit 1
  end
```
+  Per i dettagli sull'API, consulta la [CreateTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/CreateTrail)sezione *AWS SDK per Ruby API Reference*. 

------

# Utilizzo `DeleteTrail` con un AWS SDK o una CLI
<a name="cloudtrail_example_cloudtrail_DeleteTrail_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `DeleteTrail`.

------
#### [ C\$1\$1 ]

**SDK per C\$1\$1**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudtrail#code-examples). 

```
// Routine which deletes an AWS CloudTrail trail.
/*!
  \param trailName: The name of the CloudTrail trail.
  \param clientConfig: Aws client configuration.
  \return bool: Function succeeded.
*/
bool AwsDoc::CloudTrail::deleteTrail(const Aws::String trailName,
                                     const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::CloudTrail::CloudTrailClient trailClient(clientConfig);

    Aws::CloudTrail::Model::DeleteTrailRequest request;
    request.SetName(trailName);

    auto outcome = trailClient.DeleteTrail(request);
    if (outcome.IsSuccess()) {
        std::cout << "Successfully deleted trail " << trailName << std::endl;
    }
    else {
        std::cerr << "Error deleting trail " << trailName << " " <<
                  outcome.GetError().GetMessage() << std::endl;
    }

    return outcome.IsSuccess();
}
```
+  Per i dettagli sull'API, consulta la [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DeleteTrail)sezione *AWS SDK per C\$1\$1 API Reference*. 

------
#### [ CLI ]

**AWS CLI**  
**Come eliminare un trail**  
Il comando `delete-trail` seguente elimina un trail denominato `Trail1`.  

```
aws cloudtrail delete-trail --name Trail1
```
+  Per i dettagli sull'API, consulta [DeleteTrail AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html)*Command Reference*. 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: elimina il trail specificato. Prima di eseguire il comando, verrà richiesta una conferma. Per disattivare la conferma, aggiungi il parametro -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Per i dettagli sull'API, vedere [DeleteTrail](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: elimina il trail specificato. Prima di eseguire il comando, verrà richiesta una conferma. Per disattivare la conferma, aggiungi il parametro -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Per i dettagli sull'API, vedere [DeleteTrail](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------
#### [ Ruby ]

**SDK per Ruby**  
 C'è altro su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/cloudtrail#code-examples). 

```
  client.delete_trail({
                        name: trail_name # required
                      })
  puts "Successfully deleted trail: #{trail_name}"
rescue StandardError => e
  puts "Got error trying to delete trail: #{trail_name}:"
  puts e
  exit 1
end
```
+  Per i dettagli sull'API, consulta la [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/DeleteTrail)sezione *AWS SDK per Ruby API Reference*. 

------

# Utilizzare `DescribeTrail` con un AWS SDK
<a name="cloudtrail_example_cloudtrail_DescribeTrail_section"></a>

Il seguente esempio di codice mostra come utilizzare`DescribeTrail`.

------
#### [ C\$1\$1 ]

**SDK per C\$1\$1**  
 C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudtrail#code-examples). 

```
// Routine which describes the AWS CloudTrail trails in an account.
/*!
  \param clientConfig: Aws client configuration.
  \return bool: Function succeeded.
*/

bool AwsDoc::CloudTrail::describeTrails(
        const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::CloudTrail::CloudTrailClient cloudTrailClient(clientConfig);
    Aws::CloudTrail::Model::DescribeTrailsRequest request;

    auto outcome = cloudTrailClient.DescribeTrails(request);
    if (outcome.IsSuccess()) {
        const Aws::Vector<Aws::CloudTrail::Model::Trail> &trails = outcome.GetResult().GetTrailList();
        std::cout << trails.size() << " trail(s) found." << std::endl;
        for (const Aws::CloudTrail::Model::Trail &trail: trails) {
            std::cout << trail.GetName() << std::endl;
        }
    }
    else {
        std::cerr << "Failed to describe trails." << outcome.GetError().GetMessage()
                  << std::endl;
    }
    return outcome.IsSuccess();
}
```
+  Per i dettagli sull'API, consulta la [DescribeTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DescribeTrail)sezione *AWS SDK per C\$1\$1 API Reference*. 

------

# Utilizzare `DescribeTrails` con una CLI
<a name="cloudtrail_example_cloudtrail_DescribeTrails_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `DescribeTrails`.

------
#### [ CLI ]

**AWS CLI**  
**Come descrivere un trail**  
L’esempio `describe-trails` seguente restituisce le impostazioni per `Trail1` e `Trail2`.  

```
aws cloudtrail describe-trails \
    --trail-name-list Trail1 Trail2
```
Output:  

```
{
    "trailList": [
        {
            "IncludeGlobalServiceEvents": true,
            "Name": "Trail1",
            "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1",
            "LogFileValidationEnabled": false,
            "IsMultiRegionTrail": false,
            "S3BucketName": "amzn-s3-demo-bucket",
            "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role",
            "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*",
            "SnsTopicName": "my-topic",
            "HomeRegion": "us-east-1"
        },
        {
            "IncludeGlobalServiceEvents": true,
            "Name": "Trail2",
            "S3KeyPrefix": "my-prefix",
            "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2",
            "LogFileValidationEnabled": false,
            "IsMultiRegionTrail": false,
            "S3BucketName": "amzn-s3-demo-bucket2",
            "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769",
            "HomeRegion": "us-east-1"
        }
    ]
}
```
+  Per i dettagli sull'API, consulta [DescribeTrails AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/describe-trails.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: restituisce le impostazioni di tutti i trail associati alla Regione corrente per l’account in uso.**  

```
Get-CTTrail
```
**Esempio 2: restituisce le impostazioni dei trail specificati.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Esempio 3: restituisce le impostazioni dei trail specificati creati in una Regione diversa dall’attuale impostazione predefinita della shell (in questo caso la Regione Francoforte (eu-central)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [DescribeTrails](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: restituisce le impostazioni di tutti i trail associati alla Regione corrente per l’account in uso.**  

```
Get-CTTrail
```
**Esempio 2: restituisce le impostazioni dei trail specificati.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Esempio 3: restituisce le impostazioni dei trail specificati creati in una Regione diversa dall’attuale impostazione predefinita della shell (in questo caso la Regione Francoforte (eu-central)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [DescribeTrails](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------

# Utilizzare `GetTrailStatus` con una CLI
<a name="cloudtrail_example_cloudtrail_GetTrailStatus_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `GetTrailStatus`.

------
#### [ CLI ]

**AWS CLI**  
**Come ottenere lo stato di un trail**  
Il comando `get-trail-status` seguente restituisce i dettagli di distribuzione e registrazione per `Trail1`.  

```
aws cloudtrail get-trail-status --name Trail1
```
Output:  

```
{
  "LatestNotificationTime": 1454022144.869,
  "LatestNotificationAttemptSucceeded": "2016-01-28T23:02:24Z",
  "LatestDeliveryAttemptTime": "2016-01-28T23:02:24Z",
  "LatestDeliveryTime": 1454022144.869,
  "TimeLoggingStarted": "2015-11-06T18:36:38Z",
  "LatestDeliveryAttemptSucceeded": "2016-01-28T23:02:24Z",
  "IsLogging": true,
  "LatestCloudWatchLogsDeliveryTime": 1454022144.918,
  "StartLoggingTime": 1446834998.695,
  "StopLoggingTime": 1446834996.933,
  "LatestNotificationAttemptTime": "2016-01-28T23:02:24Z",
  "TimeLoggingStopped": "2015-11-06T18:36:36Z"
}
```
+  Per i dettagli sull'API, consulta [GetTrailStatus AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-trail-status.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: restituisce le informazioni sullo stato del percorso con il nome 'myExampleTrail'. I dati restituiti includono informazioni su errori di distribuzione, errori di Amazon SNS e Amazon S3 e tempi di avvio e arresto della registrazione per il trail. Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Esempio 2: restituisce le impostazioni sullo stato di un trail creato in una Regione diversa dall’attuale impostazione predefinita della shell (in questo caso la Regione Francoforte (eu-central)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [GetTrailStatus](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (V4)*. 

**Strumenti per V5 PowerShell **  
**Esempio 1: restituisce le informazioni sullo stato del percorso con il nome 'myExampleTrail'. I dati restituiti includono informazioni su errori di distribuzione, errori di Amazon SNS e Amazon S3 e tempi di avvio e arresto della registrazione per il trail. Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Esempio 2: restituisce le impostazioni sullo stato di un trail creato in una Regione diversa dall’attuale impostazione predefinita della shell (in questo caso la Regione Francoforte (eu-central)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [GetTrailStatus](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (V5)*. 

------

# Utilizzare `ListTrails` con un SDK AWS
<a name="cloudtrail_example_cloudtrail_ListTrails_section"></a>

Il seguente esempio di codice mostra come utilizzare`ListTrails`.

------
#### [ Ruby ]

**SDK per Ruby**  
 C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/cloudtrail#code-examples). 

```
require 'aws-sdk-cloudtrail' # v2: require 'aws-sdk'

def describe_trails_example(client)
  resp = client.describe_trails({})
  puts "Found #{resp.trail_list.count} trail(s)."

  resp.trail_list.each do |trail|
    puts "Name:           #{trail.name}"
    puts "S3 bucket name: #{trail.s3_bucket_name}"
    puts
  end
```
+  Per i dettagli sull'API, consulta la [ListTrails](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/ListTrails)sezione *AWS SDK per Ruby API Reference*. 

------

# Utilizzo `LookupEvents` con un AWS SDK o una CLI
<a name="cloudtrail_example_cloudtrail_LookupEvents_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `LookupEvents`.

------
#### [ C\$1\$1 ]

**SDK per C\$1\$1**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudtrail#code-examples). 

```
// Routine which looks up events captured by AWS CloudTrail.
/*!
  \param clientConfig: Aws client configuration.
  \return bool: Function succeeded.
*/
bool AwsDoc::CloudTrail::lookupEvents(
        const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::CloudTrail::CloudTrailClient cloudtrail(clientConfig);

    Aws::String nextToken; // Used for pagination.
    Aws::Vector<Aws::CloudTrail::Model::Event> allEvents;

    Aws::CloudTrail::Model::LookupEventsRequest request;

    size_t count = 0;
    do {
        if (!nextToken.empty()) {
            request.SetNextToken(nextToken);
        }

        Aws::CloudTrail::Model::LookupEventsOutcome outcome = cloudtrail.LookupEvents(
                request);
        if (outcome.IsSuccess()) {
            const Aws::Vector<Aws::CloudTrail::Model::Event> &events = outcome.GetResult().GetEvents();
            count += events.size();
            allEvents.insert(allEvents.end(), events.begin(), events.end());
            nextToken = outcome.GetResult().GetNextToken();
        }
        else {
            std::cerr << "Error: " << outcome.GetError().GetMessage() << std::endl;
            return false;
        }
    } while (!nextToken.empty() && count <= 50); // Limit to 50 events.

    std::cout << "Found " << allEvents.size() << " event(s)." << std::endl;

    for (auto &event: allEvents) {
        std::cout << "Event name: " << event.GetEventName() << std::endl;
        std::cout << "Event source: " << event.GetEventSource() << std::endl;
        std::cout << "Event id: " << event.GetEventId() << std::endl;
        std::cout << "Resources: " << std::endl;
        for (auto &resource: event.GetResources()) {
            std::cout << "  " << resource.GetResourceName() << std::endl;
        }
    }

    return true;
}
```
+  Per i dettagli sull'API, consulta la [LookupEvents](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/LookupEvents)sezione *AWS SDK per C\$1\$1 API Reference*. 

------
#### [ CLI ]

**AWS CLI**  
**Come cercare gli eventi relativi a un percorso**  
Il comando `lookup-events` seguente cerca gli eventi delle attività dell’API in base all’attributo `EventName`:  

```
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin
```
Output:  

```
{
  "Events": [
     {
         "EventId": "654ccbc0-ba0d-486a-9076-dbf7274677a7",
         "Username": "my-session-name",
         "EventTime": "2021-11-18T09:41:02-08:00",
         "CloudTrailEvent": "{\"eventVersion\":\"1.02\",\"userIdentity\":{\"type\":\"AssumedRole\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4:my-session-name\",\"arn\":\"arn:aws:sts::123456789012:assumed-role/my-role/my-session-name\",\"accountId\":\"123456789012\",\"sessionContext\":{\"attributes\":{\"mfaAuthenticated\":\"false\",\"creationDate\":\"2016-01-26T21:42:12Z\"},\"sessionIssuer\":{\"type\":\"Role\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4\",\"arn\":\"arn:aws:iam::123456789012:role/my-role\",\"accountId\":\"123456789012\",\"userName\":\"my-role\"}}},\"eventTime\":\"2016-01-26T21:42:12Z\",\"eventSource\":\"signin.amazonaws.com\",\"eventName\":\"ConsoleLogin\",\"awsRegion\":\"us-east-1\",\"sourceIPAddress\":\"72.21.198.70\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36\",\"requestParameters\":null,\"responseElements\":{\"ConsoleLogin\":\"Success\"},\"additionalEventData\":{\"MobileVersion\":\"No\",\"MFAUsed\":\"No\"},\"eventID\":\"654ccbc0-ba0d-486a-9076-dbf7274677a7\",\"eventType\":\"AwsConsoleSignIn\",\"recipientAccountId\":\"123456789012\"}",
         "EventName": "ConsoleLogin",
         "Resources": []
     }
  ]
}
```
+  Per i dettagli sull'API, consulta [LookupEvents AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/lookup-events.html)*Command Reference*. 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: restituisce tutti gli eventi che si sono verificati negli ultimi sette giorni. Per impostazione predefinita, il cmdlet effettua automaticamente più chiamate per distribuire tutti gli eventi, uscendo dal processo quando il servizio indica che non sono disponibili altri dati.**  

```
Find-CTEvent
```
**Esempio 2: restituisce tutti gli eventi che si sono verificati negli ultimi sette giorni specificando una Regione diversa dall’impostazione predefinita della shell corrente.**  

```
Find-CTEvent -Region eu-central-1
```
**Esempio 3: restituisce tutti gli eventi associati alla chiamata RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Esempio 4: restituisce i primi 5 eventi disponibili.**  

```
Find-CTEvent -MaxResult 5
```
+  Per i dettagli sull'API, vedere [LookupEvents](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (V4)*. 

**Strumenti per V5 PowerShell **  
**Esempio 1: restituisce tutti gli eventi che si sono verificati negli ultimi sette giorni. Per impostazione predefinita, il cmdlet effettua automaticamente più chiamate per distribuire tutti gli eventi, uscendo dal processo quando il servizio indica che non sono disponibili altri dati.**  

```
Find-CTEvent
```
**Esempio 2: restituisce tutti gli eventi che si sono verificati negli ultimi sette giorni specificando una Regione diversa dall’impostazione predefinita della shell corrente.**  

```
Find-CTEvent -Region eu-central-1
```
**Esempio 3: restituisce tutti gli eventi associati alla chiamata RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Esempio 4: restituisce i primi 5 eventi disponibili.**  

```
Find-CTEvent -MaxResult 5
```
+  Per i dettagli sull'API, vedere [LookupEvents](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (V5)*. 

------
#### [ Ruby ]

**SDK per Ruby**  
 C'è altro su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/cloudtrail#code-examples). 

```
require 'aws-sdk-cloudtrail' # v2: require 'aws-sdk'

# @param [Object] client
def lookup_events_example(client)
  resp = client.lookup_events
  puts "Found #{resp.events.count} events:"
  resp.events.each do |e|
    puts "Event name:   #{e.event_name}"
    puts "Event ID:     #{e.event_id}"
    puts "Event time:   #{e.event_time}"
    puts 'Resources:'

    e.resources.each do |r|
      puts "  Name:       #{r.resource_name}"
      puts "  Type:       #{r.resource_type}"
      puts ''
    end
  end
end
```
+  Per i dettagli sull'API, consulta la [LookupEvents](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/LookupEvents)sezione *AWS SDK per Ruby API Reference*. 

------

# Utilizzare `StartLogging` con una CLI
<a name="cloudtrail_example_cloudtrail_StartLogging_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `StartLogging`.

------
#### [ CLI ]

**AWS CLI**  
**Come avviare la registrazione per un trail**  
Il comando `start-logging` seguente attiva la registrazione dei log per `Trail1`:  

```
aws cloudtrail start-logging --name Trail1
```
+  Per i dettagli sull'API, consulta [StartLogging AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/start-logging.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: avvia la registrazione delle chiamate AWS API e la consegna dei file di registro per il percorso denominato 'myExampleTrail'. Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Start-CTLogging -Name myExampleTrail
```
**Esempio 2: avvia la registrazione delle chiamate AWS API e la consegna dei file di registro per un percorso creato in una regione diversa dall'attuale impostazione predefinita della shell (in questo caso, la regione di Francoforte (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [StartLogging](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: avvia la registrazione delle chiamate AWS API e la consegna dei file di registro per il percorso denominato 'myExampleTrail'. Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Start-CTLogging -Name myExampleTrail
```
**Esempio 2: avvia la registrazione delle chiamate AWS API e la consegna dei file di registro per un percorso creato in una regione diversa dall'attuale impostazione predefinita della shell (in questo caso, la regione di Francoforte (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [StartLogging](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------

# Utilizzare `StopLogging` con una CLI
<a name="cloudtrail_example_cloudtrail_StopLogging_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `StopLogging`.

------
#### [ CLI ]

**AWS CLI**  
**Come arrestare la registrazione di un trail**  
Il comando `stop-logging` seguente disattiva la registrazione dei log per `Trail1`:  

```
aws cloudtrail stop-logging --name Trail1
```
+  Per i dettagli sull'API, consulta [StopLogging AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: sospende la registrazione delle chiamate AWS API e la consegna dei file di registro per il percorso denominato ''. myExampleTrail Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Esempio 2: sospende la registrazione delle chiamate AWS API e la consegna dei file di registro per un trail creato in una regione diversa dall'attuale impostazione predefinita della shell (in questo caso, la regione di Francoforte (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [StopLogging](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet* Reference (V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: sospende la registrazione delle chiamate AWS API e la consegna dei file di registro per il percorso denominato ''. myExampleTrail Questo esempio presuppone che il trail sia stato creato nella stessa Regione della shell predefinita corrente.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Esempio 2: sospende la registrazione delle chiamate AWS API e la consegna dei file di registro per un trail creato in una regione diversa dall'attuale impostazione predefinita della shell (in questo caso, la regione di Francoforte (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Per i dettagli sull'API, vedere [StopLogging](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet* Reference (V5). 

------

# Utilizzare `UpdateTrail` con una CLI
<a name="cloudtrail_example_cloudtrail_UpdateTrail_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `UpdateTrail`.

------
#### [ CLI ]

**AWS CLI**  
**Come aggiornare un trail**  
L’esempio `update-trail` seguente aggiorna un trail in modo che venga utilizzato un bucket esistente per la distribuzione dei log.  

```
aws cloudtrail update-trail \
    --name Trail1 \
    --s3-bucket-name amzn-s3-demo-bucket
```
Output:  

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Per i dettagli sull'API, consulta [UpdateTrail AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html)*Command Reference.* 

------
#### [ PowerShell ]

**Strumenti per PowerShell V4**  
**Esempio 1: aggiorna il trail specificato in modo che gli eventi del servizio globale, ad esempio quelli di IAM, vengano registrati e modifica il prefisso di chiave comune per i successivi file di log in “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Esempio 2: aggiorna il trail specificato in modo che le notifiche relative alle nuove distribuzioni di log vengano inviate all’argomento SNS specificato.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Esempio 3: aggiorna il trail specificato in modo che i log vengano distribuiti a un bucket diverso.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Per i dettagli sull'API, vedere [UpdateTrail](https://docs.aws.amazon.com/powershell/v4/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V4). 

**Strumenti per V5 PowerShell **  
**Esempio 1: aggiorna il trail specificato in modo che gli eventi del servizio globale, ad esempio quelli di IAM, vengano registrati e modifica il prefisso di chiave comune per i successivi file di log in “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Esempio 2: aggiorna il trail specificato in modo che le notifiche relative alle nuove distribuzioni di log vengano inviate all’argomento SNS specificato.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Esempio 3: aggiorna il trail specificato in modo che i log vengano distribuiti a un bucket diverso.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Per i dettagli sull'API, vedere [UpdateTrail](https://docs.aws.amazon.com/powershell/v5/reference)in *AWS Strumenti per PowerShell Cmdlet Reference (*V5). 

------