

Há mais exemplos de AWS SDK disponíveis no repositório [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplos básicos de CloudTrail uso AWS SDKs
<a name="cloudtrail_code_examples_basics"></a>

Os exemplos de código a seguir mostram como usar o básico do AWS CloudTrail with AWS SDKs. 

**Contents**
+ [Ações](cloudtrail_code_examples_actions.md)
  + [`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)

# Ações para CloudTrail usar AWS SDKs
<a name="cloudtrail_code_examples_actions"></a>

Os exemplos de código a seguir demonstram como realizar CloudTrail ações individuais com AWS SDKs. Cada exemplo inclui um link para GitHub, onde você pode encontrar instruções para configurar e executar o código. 

 Os exemplos a seguir incluem apenas as ações mais utilizadas. Para obter uma lista completa, consulte a [Referência de APIs do 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)

# Use `CreateTrail` com um AWS SDK ou CLI
<a name="cloudtrail_example_cloudtrail_CreateTrail_section"></a>

Os exemplos de código a seguir mostram como usar o `CreateTrail`.

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

**SDK para C\$1\$1**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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();
}
```
+  Para obter detalhes da API, consulte [CreateTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/CreateTrail)a *Referência AWS SDK para C\$1\$1 da API*. 

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

**AWS CLI**  
**Para criar uma trilha**  
O comando `create-trail` a seguir cria uma trilha multirregional chamada `Trail1` e especifica um bucket do S3.  

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

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Para obter detalhes da API, consulte [CreateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Exemplo 2: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log. Os objetos do S3 que representam os logs terão um prefixo de chave comum de “mylogs”. Quando novos registros forem entregues ao bucket, uma notificação será enviada para o tópico do SNS “mlog-deliverytopic”. Este exemplo usa o nivelamento para fornecer os valores dos parâmetros ao cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Para obter detalhes da API, consulte [CreateTrail](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Exemplo 2: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log. Os objetos do S3 que representam os logs terão um prefixo de chave comum de “mylogs”. Quando novos registros forem entregues ao bucket, uma notificação será enviada para o tópico do SNS “mlog-deliverytopic”. Este exemplo usa o nivelamento para fornecer os valores dos parâmetros ao cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Para obter detalhes da API, consulte [CreateTrail](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

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

**SDK para Ruby**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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
```
+  Para obter detalhes da API, consulte [CreateTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/CreateTrail)a *Referência AWS SDK para Ruby da API*. 

------

# Use `DeleteTrail` com um AWS SDK ou CLI
<a name="cloudtrail_example_cloudtrail_DeleteTrail_section"></a>

Os exemplos de código a seguir mostram como usar o `DeleteTrail`.

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

**SDK para C\$1\$1**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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();
}
```
+  Para obter detalhes da API, consulte [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DeleteTrail)a *Referência AWS SDK para C\$1\$1 da API*. 

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

**AWS CLI**  
**Como para excluir uma trilha**  
O comando `delete-trail` a seguir cria uma trilha chamada `Trail1`:  

```
aws cloudtrail delete-trail --name Trail1
```
+  Para obter detalhes da API, consulte [DeleteTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: exclui a trilha especificada. Será solicitada uma confirmação antes que o comando seja executado. Para ignorar a confirmação, adicione o parâmetro -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Para obter detalhes da API, consulte [DeleteTrail](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: exclui a trilha especificada. Será solicitada uma confirmação antes que o comando seja executado. Para ignorar a confirmação, adicione o parâmetro -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Para obter detalhes da API, consulte [DeleteTrail](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

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

**SDK para Ruby**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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
```
+  Para obter detalhes da API, consulte [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/DeleteTrail)a *Referência AWS SDK para Ruby da API*. 

------

# Use `DescribeTrail` com um AWS SDK
<a name="cloudtrail_example_cloudtrail_DescribeTrail_section"></a>

O código de exemplo a seguir mostra como usar `DescribeTrail`.

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

**SDK para C\$1\$1**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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();
}
```
+  Para obter detalhes da API, consulte [DescribeTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DescribeTrail)a *Referência AWS SDK para C\$1\$1 da API*. 

------

# Usar `DescribeTrails` com uma CLI
<a name="cloudtrail_example_cloudtrail_DescribeTrails_section"></a>

Os exemplos de código a seguir mostram como usar o `DescribeTrails`.

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

**AWS CLI**  
**Para descrever uma trilha**  
O exemplo de `describe-trails` a seguir retorna as configurações de `Trail1` e `Trail2`.  

```
aws cloudtrail describe-trails \
    --trail-name-list Trail1 Trail2
```
Saída:  

```
{
    "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"
        }
    ]
}
```
+  Para obter detalhes da API, consulte [DescribeTrails](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/describe-trails.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: recupera as configurações de todas as trilhas associadas à região atual de sua conta.**  

```
Get-CTTrail
```
**Exemplo 2: retorna as configurações das trilhas especificadas.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Exemplo 3: retorna as configurações das trilhas especificadas que foram criadas em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt, eu-central-1).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Para obter detalhes da API, consulte [DescribeTrails](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: recupera as configurações de todas as trilhas associadas à região atual de sua conta.**  

```
Get-CTTrail
```
**Exemplo 2: retorna as configurações das trilhas especificadas.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Exemplo 3: retorna as configurações das trilhas especificadas que foram criadas em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt, eu-central-1).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Para obter detalhes da API, consulte [DescribeTrails](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

------

# Usar `GetTrailStatus` com uma CLI
<a name="cloudtrail_example_cloudtrail_GetTrailStatus_section"></a>

Os exemplos de código a seguir mostram como usar o `GetTrailStatus`.

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

**AWS CLI**  
**Para obter o status de uma trilha**  
O comando `get-trail-status` a seguir retorna os detalhes de entrega e registro em log da `Trail1`:  

```
aws cloudtrail get-trail-status --name Trail1
```
Saída:  

```
{
  "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"
}
```
+  Para obter detalhes da API, consulte [GetTrailStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-trail-status.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: Retorna informações de status da trilha com o nome 'myExampleTrail'. Os dados retornados incluem informações sobre erros de envio, erros do Amazon SNS e do Amazon S3, além dos horários de início e término do registro em log da trilha. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Exemplo 2: retorna as informações de status de uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt, eu-central-1).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [GetTrailStatus](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: Retorna informações de status da trilha com o nome 'myExampleTrail'. Os dados retornados incluem informações sobre erros de envio, erros do Amazon SNS e do Amazon S3, além dos horários de início e término do registro em log da trilha. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Exemplo 2: retorna as informações de status de uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt, eu-central-1).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [GetTrailStatus](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

------

# Use `ListTrails` com um AWS SDK
<a name="cloudtrail_example_cloudtrail_ListTrails_section"></a>

O código de exemplo a seguir mostra como usar `ListTrails`.

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

**SDK para Ruby**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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
```
+  Para obter detalhes da API, consulte [ListTrails](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/ListTrails)a *Referência AWS SDK para Ruby da API*. 

------

# Use `LookupEvents` com um AWS SDK ou CLI
<a name="cloudtrail_example_cloudtrail_LookupEvents_section"></a>

Os exemplos de código a seguir mostram como usar o `LookupEvents`.

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

**SDK para C\$1\$1**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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;
}
```
+  Para obter detalhes da API, consulte [LookupEvents](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/LookupEvents)a *Referência AWS SDK para C\$1\$1 da API*. 

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

**AWS CLI**  
**Como pesquisar eventos em uma trilha**  
O comando `lookup-events` a seguir pesquisa eventos de atividade da API pelo atributo `EventName`:  

```
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin
```
Saída:  

```
{
  "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": []
     }
  ]
}
```
+  Para obter detalhes da API, consulte [LookupEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/lookup-events.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna todos os eventos que ocorreram nos últimos sete dias. Por padrão, o cmdlet faz automaticamente várias chamadas para entregar todos os eventos, saindo quando o serviço indica que não há mais dados disponíveis.**  

```
Find-CTEvent
```
**Exemplo 2: retorna todos os eventos que ocorreram nos últimos sete dias, especificando uma região que não é o padrão atual do shell.**  

```
Find-CTEvent -Region eu-central-1
```
**Exemplo 3: retorna todos os eventos associados à chamada da RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Exemplo 4: retorna os primeiros cinco eventos disponíveis.**  

```
Find-CTEvent -MaxResult 5
```
+  Para obter detalhes da API, consulte [LookupEvents](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: retorna todos os eventos que ocorreram nos últimos sete dias. Por padrão, o cmdlet faz automaticamente várias chamadas para entregar todos os eventos, saindo quando o serviço indica que não há mais dados disponíveis.**  

```
Find-CTEvent
```
**Exemplo 2: retorna todos os eventos que ocorreram nos últimos sete dias, especificando uma região que não é o padrão atual do shell.**  

```
Find-CTEvent -Region eu-central-1
```
**Exemplo 3: retorna todos os eventos associados à chamada da RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Exemplo 4: retorna os primeiros cinco eventos disponíveis.**  

```
Find-CTEvent -MaxResult 5
```
+  Para obter detalhes da API, consulte [LookupEvents](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

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

**SDK para Ruby**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](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
```
+  Para obter detalhes da API, consulte [LookupEvents](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/LookupEvents)a *Referência AWS SDK para Ruby da API*. 

------

# Usar `StartLogging` com uma CLI
<a name="cloudtrail_example_cloudtrail_StartLogging_section"></a>

Os exemplos de código a seguir mostram como usar o `StartLogging`.

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

**AWS CLI**  
**Para iniciar o registro de uma trilha**  
O comando `start-logging` a seguir ativa o registro em log da `Trail1`:  

```
aws cloudtrail start-logging --name Trail1
```
+  Para obter detalhes da API, consulte [StartLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/start-logging.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: inicia a gravação das chamadas de AWS API e a entrega do arquivo de log para a trilha chamada 'myExampleTrail'. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Start-CTLogging -Name myExampleTrail
```
**Exemplo 2: inicia a gravação das chamadas de AWS API e a entrega do arquivo de log para uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [StartLogging](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: inicia a gravação das chamadas de AWS API e a entrega do arquivo de log para a trilha chamada 'myExampleTrail'. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Start-CTLogging -Name myExampleTrail
```
**Exemplo 2: inicia a gravação das chamadas de AWS API e a entrega do arquivo de log para uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [StartLogging](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

------

# Usar `StopLogging` com uma CLI
<a name="cloudtrail_example_cloudtrail_StopLogging_section"></a>

Os exemplos de código a seguir mostram como usar o `StopLogging`.

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

**AWS CLI**  
**Como parar de registrar uma trilha**  
O comando `stop-logging` a seguir desativa o registro em log da `Trail1`:  

```
aws cloudtrail stop-logging --name Trail1
```
+  Para obter detalhes da API, consulte [StopLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: suspende a gravação de chamadas de AWS API e a entrega do arquivo de log para a trilha chamada 'myExampleTrail'. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Exemplo 2: suspende a gravação de chamadas de AWS API e a entrega de arquivos de log para uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [StopLogging](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: suspende a gravação de chamadas de AWS API e a entrega do arquivo de log para a trilha chamada 'myExampleTrail'. Este exemplo pressupõe que a trilha foi criada na mesma região do shell padrão atual.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Exemplo 2: suspende a gravação de chamadas de AWS API e a entrega de arquivos de log para uma trilha que foi criada em uma região diferente do padrão atual do shell (nesse caso, a região de Frankfurt (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obter detalhes da API, consulte [StopLogging](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

------

# Usar `UpdateTrail` com uma CLI
<a name="cloudtrail_example_cloudtrail_UpdateTrail_section"></a>

Os exemplos de código a seguir mostram como usar o `UpdateTrail`.

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

**AWS CLI**  
**Para atualizar uma trilha**  
O exemplo de `update-trail` a seguir atualiza uma trilha para usar um bucket existente para entrega de logs.  

```
aws cloudtrail update-trail \
    --name Trail1 \
    --s3-bucket-name amzn-s3-demo-bucket
```
Saída:  

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Para obter detalhes da API, consulte [UpdateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html)em *Referência de AWS CLI Comandos*. 

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

**Ferramentas para PowerShell V4**  
**Exemplo 1: atualiza a trilha especificada para que os eventos globais do serviço (como os do IAM) sejam registrados e altera o prefixo de chave comum dos arquivos de log futuros para “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Exemplo 2: atualiza a trilha especificada para que as notificações sobre novas entregas de logs sejam enviadas ao tópico do SNS especificado.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Exemplo 3: atualiza a trilha especificada para que os logs sejam entregues em um bucket diferente.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Para obter detalhes da API, consulte [UpdateTrail](https://docs.aws.amazon.com/powershell/v4/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V4)*. 

**Ferramentas para PowerShell V5**  
**Exemplo 1: atualiza a trilha especificada para que os eventos globais do serviço (como os do IAM) sejam registrados e altera o prefixo de chave comum dos arquivos de log futuros para “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Exemplo 2: atualiza a trilha especificada para que as notificações sobre novas entregas de logs sejam enviadas ao tópico do SNS especificado.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Exemplo 3: atualiza a trilha especificada para que os logs sejam entregues em um bucket diferente.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Para obter detalhes da API, consulte [UpdateTrail](https://docs.aws.amazon.com/powershell/v5/reference)em *Referência de Ferramentas da AWS para PowerShell cmdlet (V5)*. 

------