

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de [ejemplos de AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplos de código para CloudTrail usar AWS SDKs
<a name="cloudtrail_code_examples"></a>

Los siguientes ejemplos de código muestran cómo usarlo AWS CloudTrail con un kit de desarrollo de AWS software (SDK).

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

**Más recursos**
+  **[ CloudTrail Guía para desarrolladores](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)**: más información sobre CloudTrail.
+ **[CloudTrail Referencia de la API](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html)**: detalles sobre todas CloudTrail las acciones disponibles.
+ **[AWS Centro para desarrolladores](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23)**: ejemplos de código que puedes filtrar por categoría o por búsqueda de texto completo.
+ **[AWS Ejemplos de SDK](https://github.com/awsdocs/aws-doc-sdk-examples)**: GitHub repositorio con código completo en los idiomas preferidos. Incluye instrucciones para configurar y ejecutar el código.

**Contents**
+ [Conceptos básicos](cloudtrail_code_examples_basics.md)
  + [Acciones](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)

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

Los siguientes ejemplos de código muestran cómo utilizar los conceptos básicos de AWS CloudTrail with AWS SDKs. 

**Contents**
+ [Acciones](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)

# Acciones para CloudTrail usar AWS SDKs
<a name="cloudtrail_code_examples_actions"></a>

Los siguientes ejemplos de código muestran cómo realizar CloudTrail acciones individuales con AWS SDKs. Cada ejemplo incluye un enlace a GitHub, donde puede encontrar instrucciones para configurar y ejecutar el código. 

 Los siguientes ejemplos incluyen solo las acciones que se utilizan con mayor frecuencia. Para ver una lista completa, consulte la [Referencia de la API de 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)

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

Los siguientes ejemplos de código muestran cómo utilizar `CreateTrail`.

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

**SDK para C\$1\$1**  
 Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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();
}
```
+  Para obtener más información sobre la API, consulta [CreateTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/CreateTrail)la *Referencia AWS SDK para C\$1\$1 de la API*. 

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

**AWS CLI**  
**Creación de un registro de seguimiento**  
En el siguiente ejemplo de `create-trail`, se crea un registro de seguimiento multirregional denominado `Trail1` y se especifica un bucket de S3.  

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

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Para obtener más información sobre la API, consulta [CreateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Crea un registro de seguimiento que utilizará el bucket “amzn-s3-demo-bucket” para almacenar los archivos de registro.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Ejemplo 2: Crea un registro de seguimiento que utilizará el bucket “amzn-s3-demo-bucket” para almacenar los archivos de registro. Los objetos de S3 que representan los registros tendrán el prefijo de clave común “mylogs”. Cuando se envíen nuevos registros al bucket, se enviará una notificación al tema de SNS “mlog-deliverytopic”. En este ejemplo, se utiliza el método splatting para proporcionar los valores de los parámetros al cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Para obtener más información sobre la API, consulte [CreateTrail Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Crea un registro de seguimiento que utilizará el bucket “amzn-s3-demo-bucket” para almacenar los archivos de registro.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Ejemplo 2: Crea un registro de seguimiento que utilizará el bucket “amzn-s3-demo-bucket” para almacenar los archivos de registro. Los objetos de S3 que representan los registros tendrán el prefijo de clave común “mylogs”. Cuando se envíen nuevos registros al bucket, se enviará una notificación al tema de SNS “mlog-deliverytopic”. En este ejemplo, se utiliza el método splatting para proporcionar los valores de los parámetros al cmdlet.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Para obtener más información sobre la API, consulte [CreateTrail](https://docs.aws.amazon.com/powershell/v5/reference)la *referencia de Herramientas de AWS para PowerShell cmdlets (*V5). 

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

**SDK para Ruby**  
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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
```
+  Para obtener más información sobre la API, consulta [CreateTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/CreateTrail)la *Referencia AWS SDK para Ruby de la API*. 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `DeleteTrail`.

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

**SDK para C\$1\$1**  
 Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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();
}
```
+  Para obtener más información sobre la API, consulta [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DeleteTrail)la *Referencia AWS SDK para C\$1\$1 de la API*. 

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

**AWS CLI**  
**Eliminación de un registro de seguimiento**  
En el siguiente comando `delete-trail`, se elimina un registro de seguimiento denominado `Trail1`:  

```
aws cloudtrail delete-trail --name Trail1
```
+  Para obtener más información sobre la API, consulta [DeleteTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Elimina el registro de seguimiento especificado. Se le pedirá confirmación antes de que se ejecute el comando. Para suprimir la confirmación, añada el parámetro modificador -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Para obtener más información sobre la API, consulte [DeleteTrail Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Elimina el registro de seguimiento especificado. Se le pedirá confirmación antes de que se ejecute el comando. Para suprimir la confirmación, añada el parámetro modificador -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Para obtener más información sobre la API, consulte [DeleteTrail](https://docs.aws.amazon.com/powershell/v5/reference)la *referencia de Herramientas de AWS para PowerShell cmdlets (*V5). 

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

**SDK para Ruby**  
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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
```
+  Para obtener más información sobre la API, consulta [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/DeleteTrail)la *Referencia AWS SDK para Ruby de la API*. 

------

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

En el siguiente ejemplo de código, se muestra cómo utilizar `DescribeTrail`.

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

**SDK para C\$1\$1**  
 Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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();
}
```
+  Para obtener más información sobre la API, consulta [DescribeTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DescribeTrail)la *Referencia AWS SDK para C\$1\$1 de la API*. 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `DescribeTrails`.

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

**AWS CLI**  
**Descripción de un registro de seguimiento**  
En el siguiente ejemplo de `describe-trails`, se devuelve el valor establecido para `Trail1` y `Trail2`.  

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

```
{
    "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 obtener más información sobre la API, consulte [DescribeTrails](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/describe-trails.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Recupera la configuración de todos los registros de seguimiento asociados a la región actual de su cuenta.**  

```
Get-CTTrail
```
**Ejemplo 2: Devuelve la configuración de todos los registros de seguimiento especificados.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Ejemplo 3: Devuelve la configuración de todos los registros de seguimiento especificados que se crearon en una región distinta de la predeterminada del intérprete de comandos actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte [DescribeTrails Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Recupera la configuración de todos los registros de seguimiento asociados a la región actual de su cuenta.**  

```
Get-CTTrail
```
**Ejemplo 2: Devuelve la configuración de todos los registros de seguimiento especificados.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Ejemplo 3: Devuelve la configuración de todos los registros de seguimiento especificados que se crearon en una región distinta de la predeterminada del intérprete de comandos actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte [DescribeTrails](https://docs.aws.amazon.com/powershell/v5/reference)la *referencia de Herramientas de AWS para PowerShell cmdlets (*V5). 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `GetTrailStatus`.

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

**AWS CLI**  
**Obtención del estado de un registro de seguimiento**  
En el siguiente comando `get-trail-status`, se obtienen los detalles de entrega y registro de `Trail1`:  

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

```
{
  "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 obtener más información sobre la API, consulte [GetTrailStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-trail-status.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Devuelve la información de estado de la ruta con el nombre 'myExampleTrail'. Los datos devueltos incluyen información sobre los errores de entrega, los errores de Amazon SNS y Amazon S3 y las horas de inicio y finalización de registro del registro de seguimiento. En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Ejemplo 2: Devuelve la configuración de un registro de seguimiento que se creó en una región distinta de la predeterminada del intérprete de comandos actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte [GetTrailStatus Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Devuelve la información de estado de la ruta con el nombre 'myExampleTrail'. Los datos devueltos incluyen información sobre los errores de entrega, los errores de Amazon SNS y Amazon S3 y las horas de inicio y finalización de registro del registro de seguimiento. En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Ejemplo 2: Devuelve la configuración de un registro de seguimiento que se creó en una región distinta de la predeterminada del intérprete de comandos actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte [GetTrailStatus Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet Reference (V5)*. 

------

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

En el siguiente ejemplo de código, se muestra cómo utilizar `ListTrails`.

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

**SDK para Ruby**  
 Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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
```
+  Para obtener más información sobre la API, consulta [ListTrails](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/ListTrails)la *Referencia AWS SDK para Ruby de la API*. 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `LookupEvents`.

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

**SDK para C\$1\$1**  
 Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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;
}
```
+  Para obtener más información sobre la API, consulta [LookupEvents](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/LookupEvents)la *Referencia AWS SDK para C\$1\$1 de la API*. 

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

**AWS CLI**  
**Búsqueda de los eventos de un registro de seguimiento**  
Con el siguiente comando `lookup-events`, se buscan los eventos de actividad de la API por el atributo `EventName`:  

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

```
{
  "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 obtener más información sobre la API, consulta [LookupEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/lookup-events.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Devuelve todos los eventos que se produjeron en los últimos siete días. De forma predeterminada, el cmdlet realiza automáticamente varias llamadas para entregar todos los eventos y termina de ejecutarse cuando el servicio indica que no hay más datos disponibles.**  

```
Find-CTEvent
```
**Ejemplo 2: Devuelve todos los eventos que se han producido en los últimos siete días y especifica una región que no es la predeterminada del intérprete de comandos actual.**  

```
Find-CTEvent -Region eu-central-1
```
**Ejemplo 3: Devuelve todos los eventos asociados a la llamada a la RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Ejemplo 4: Devuelve los cinco primeros eventos disponibles.**  

```
Find-CTEvent -MaxResult 5
```
+  Para obtener más información sobre la API, consulte [LookupEvents Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Devuelve todos los eventos que se produjeron en los últimos siete días. De forma predeterminada, el cmdlet realiza automáticamente varias llamadas para entregar todos los eventos y termina de ejecutarse cuando el servicio indica que no hay más datos disponibles.**  

```
Find-CTEvent
```
**Ejemplo 2: Devuelve todos los eventos que se han producido en los últimos siete días y especifica una región que no es la predeterminada del intérprete de comandos actual.**  

```
Find-CTEvent -Region eu-central-1
```
**Ejemplo 3: Devuelve todos los eventos asociados a la llamada a la RunInstances API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Ejemplo 4: Devuelve los cinco primeros eventos disponibles.**  

```
Find-CTEvent -MaxResult 5
```
+  Para obtener más información sobre la API, consulte [LookupEvents Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet Reference (V5)*. 

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

**SDK para Ruby**  
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de 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
```
+  Para obtener más información sobre la API, consulta [LookupEvents](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/LookupEvents)la *Referencia AWS SDK para Ruby de la API*. 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `StartLogging`.

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

**AWS CLI**  
**Inicio del registro de un registro de seguimiento**  
En el siguiente comando `start-logging`, se activa el registro de `Trail1`:  

```
aws cloudtrail start-logging --name Trail1
```
+  Para obtener más información sobre la API, consulte [StartLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/start-logging.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Inicia el registro de las llamadas a la AWS API y la entrega del archivo de registro para la ruta denominada 'myExampleTrail'. En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Start-CTLogging -Name myExampleTrail
```
**Ejemplo 2: Inicia el registro de las llamadas a la AWS API y la entrega de archivos de registro para una ruta que se creó en una región distinta de la predeterminada del shell actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte *Herramientas de AWS para PowerShell Cmdlet [StartLogging](https://docs.aws.amazon.com/powershell/v4/reference)Reference (*V4). 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Inicia el registro de las llamadas a la AWS API y la entrega del archivo de registro para la ruta denominada 'myExampleTrail'. En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Start-CTLogging -Name myExampleTrail
```
**Ejemplo 2: Inicia el registro de las llamadas a la AWS API y la entrega de archivos de registro para una ruta que se creó en una región distinta de la predeterminada del shell actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte *Herramientas de AWS para PowerShell Cmdlet [StartLogging](https://docs.aws.amazon.com/powershell/v5/reference)Reference (*V5). 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `StopLogging`.

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

**AWS CLI**  
**Detención del registro de un registro de seguimiento**  
Con el siguiente comando `stop-logging`, se desactiva el registro de `Trail1`:  

```
aws cloudtrail stop-logging --name Trail1
```
+  Para obtener más información sobre la API, consulte [StopLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: suspende la grabación de las llamadas a la AWS API y la entrega de archivos de registro para la ruta denominada 'myExampleTrail'. En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Ejemplo 2: suspende la grabación de las llamadas a la AWS API y la entrega de archivos de registro para una ruta que se creó en una región distinta de la predeterminada del shell actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte *Herramientas de AWS para PowerShell Cmdlet [StopLogging](https://docs.aws.amazon.com/powershell/v4/reference)*Reference (V4). 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: suspende la grabación de las llamadas a la AWS API y la entrega de archivos de registro para la ruta denominada ''. myExampleTrail En este ejemplo se presupone que el registro de seguimiento se creó en la misma región que el intérprete de comandos predeterminado actual.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Ejemplo 2: suspende la grabación de las llamadas a la AWS API y la entrega de archivos de registro para una ruta que se creó en una región distinta de la predeterminada del shell actual (en este caso, la región de Fráncfort (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Para obtener más información sobre la API, consulte *Herramientas de AWS para PowerShell Cmdlet [StopLogging](https://docs.aws.amazon.com/powershell/v5/reference)*Reference (V5). 

------

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

Los siguientes ejemplos de código muestran cómo utilizar `UpdateTrail`.

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

**AWS CLI**  
**Actualización de un registro de seguimiento**  
En el siguiente ejemplo de `update-trail`, se actualiza un registro de seguimiento de manera que utilice un bucket existente para la entrega del registro.  

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

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Para obtener más información sobre la API, consulte [UpdateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html)la *Referencia de AWS CLI comandos*. 

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

**Herramientas para la PowerShell versión 4**  
**Ejemplo 1: Actualiza el registro de seguimiento especificado para que se registren los eventos de servicio globales (como los de IAM) y cambia el prefijo de clave común de los archivos de registro para que en el futuro sea “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Ejemplo 2: Actualiza el registro de seguimiento especificado para que las notificaciones sobre las nuevas entregas de registros se envíen al tema de SNS especificado.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Ejemplo 3: Actualiza el registro de seguimiento especificado para que los registros se entreguen a un bucket diferente.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Para obtener más información sobre la API, consulte [UpdateTrail Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet Reference (V4)*. 

**Herramientas para la versión 5 PowerShell **  
**Ejemplo 1: Actualiza el registro de seguimiento especificado para que se registren los eventos de servicio globales (como los de IAM) y cambia el prefijo de clave común de los archivos de registro para que en el futuro sea “globallogs”.**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Ejemplo 2: Actualiza el registro de seguimiento especificado para que las notificaciones sobre las nuevas entregas de registros se envíen al tema de SNS especificado.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Ejemplo 3: Actualiza el registro de seguimiento especificado para que los registros se entreguen a un bucket diferente.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Para obtener más información sobre la API, consulte [UpdateTrail](https://docs.aws.amazon.com/powershell/v5/reference)la *referencia de Herramientas de AWS para PowerShell cmdlets (*V5). 

------