

D'autres exemples de AWS SDK sont disponibles dans le référentiel [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemples de code pour CloudTrail l'utilisation AWS SDKs
<a name="cloudtrail_code_examples"></a>

Les exemples de code suivants vous montrent comment utiliser AWS CloudTrail un kit de développement AWS logiciel (SDK).

Les *actions* sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

**Ressources supplémentaires**
+  **[ CloudTrail Guide du développeur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)** — Plus d'informations sur CloudTrail.
+ **[CloudTrail Référence d'API](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html)** : détails sur toutes les CloudTrail actions disponibles.
+ **[AWS Centre pour les développeurs](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23)** : exemples de code que vous pouvez filtrer par catégorie ou par recherche en texte intégral.
+ **[AWS Exemples de SDK](https://github.com/awsdocs/aws-doc-sdk-examples)** : GitHub dépôt avec code complet dans les langues préférées. Inclut des instructions sur la configuration et l’exécution du code.

**Contents**
+ [Principes de base](cloudtrail_code_examples_basics.md)
  + [Actions](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)

# Exemples de base pour CloudTrail l'utilisation AWS SDKs
<a name="cloudtrail_code_examples_basics"></a>

Les exemples de code suivants montrent comment utiliser les principes de base de AWS CloudTrail with AWS SDKs. 

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

# Actions d' CloudTrail utilisation AWS SDKs
<a name="cloudtrail_code_examples_actions"></a>

Les exemples de code suivants montrent comment effectuer des CloudTrail actions individuelles avec AWS SDKs. Chaque exemple inclut un lien vers GitHub, où vous pouvez trouver des instructions pour configurer et exécuter le code. 

 Les exemples suivants incluent uniquement les actions les plus couramment utilisées. Pour obtenir la liste complète, consultez la [Référence des 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)

# Utilisation `CreateTrail` avec un AWS SDK ou une CLI
<a name="cloudtrail_example_cloudtrail_CreateTrail_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateTrail`.

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

**SDK pour C\$1\$1**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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();
}
```
+  Pour plus de détails sur l'API, reportez-vous [CreateTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/CreateTrail)à la section *Référence des AWS SDK pour C\$1\$1 API*. 

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

**AWS CLI**  
**Pour créer un journal de suivi**  
L’exemple `create-trail` suivant crée un journal de suivi multi-région nommé `Trail1` et spécifie un compartiment S3.  

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

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Pour plus de détails sur l'API, reportez-vous [CreateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Exemple 2 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux. Les objets S3 représentant les journaux auront le préfixe de clé commun « mylogs ». Lorsque de nouveaux journaux sont envoyés au compartiment, une notification est envoyée à la rubrique SNS « mlog-deliverytopic ». Cet exemple utilise le splatting pour fournir les valeurs des paramètres à l’applet de commande.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Pour plus de détails sur l'API, reportez-vous [CreateTrail](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux.**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**Exemple 2 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux. Les objets S3 représentant les journaux auront le préfixe de clé commun « mylogs ». Lorsque de nouveaux journaux sont envoyés au compartiment, une notification est envoyée à la rubrique SNS « mlog-deliverytopic ». Cet exemple utilise le splatting pour fournir les valeurs des paramètres à l’applet de commande.**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  Pour plus de détails sur l'API, reportez-vous [CreateTrail](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

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

**Kit SDK pour Ruby**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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
```
+  Pour plus de détails sur l'API, reportez-vous [CreateTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/CreateTrail)à la section *Référence des AWS SDK pour Ruby API*. 

------

# Utilisation `DeleteTrail` avec un AWS SDK ou une CLI
<a name="cloudtrail_example_cloudtrail_DeleteTrail_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteTrail`.

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

**SDK pour C\$1\$1**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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();
}
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DeleteTrail)à la section *Référence des AWS SDK pour C\$1\$1 API*. 

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

**AWS CLI**  
**Pour supprimer un journal de suivi**  
La commande `delete-trail` suivante supprime un journal de suivi nommé `Trail1` :  

```
aws cloudtrail delete-trail --name Trail1
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : supprime le journal de suivi spécifié. Vous devrez confirmer avant que la commande ne soit exécutée. Pour supprimer la confirmation, ajoutez le paramètre de commutateur -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteTrail](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : supprime le journal de suivi spécifié. Vous devrez confirmer avant que la commande ne soit exécutée. Pour supprimer la confirmation, ajoutez le paramètre de commutateur -Force.**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteTrail](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

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

**Kit SDK pour Ruby**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteTrail](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/DeleteTrail)à la section *Référence des AWS SDK pour Ruby API*. 

------

# Utilisation `DescribeTrail` avec un AWS SDK
<a name="cloudtrail_example_cloudtrail_DescribeTrail_section"></a>

L'exemple de code suivant montre comment utiliser`DescribeTrail`.

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

**SDK pour C\$1\$1**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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();
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeTrail](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/DescribeTrail)à la section *Référence des AWS SDK pour C\$1\$1 API*. 

------

# Utilisation de `DescribeTrails` avec une CLI
<a name="cloudtrail_example_cloudtrail_DescribeTrails_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeTrails`.

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

**AWS CLI**  
**Pour décrire un journal de suivi**  
L’exemple `describe-trails` suivant renvoie les paramètres pour `Trail1` et `Trail2`.  

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

```
{
    "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"
        }
    ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeTrails](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/describe-trails.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : renvoie les paramètres de tous les journaux de suivi associés à la région actuelle pour votre compte.**  

```
Get-CTTrail
```
**Exemple 2 : renvoie les paramètres pour les journaux de suivi spécifiés.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Exemple 3 : renvoie les paramètres pour les journaux de suivi spécifiés qui ont été créés dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeTrails](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : renvoie les paramètres de tous les journaux de suivi associés à la région actuelle pour votre compte.**  

```
Get-CTTrail
```
**Exemple 2 : renvoie les paramètres pour les journaux de suivi spécifiés.**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**Exemple 3 : renvoie les paramètres pour les journaux de suivi spécifiés qui ont été créés dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeTrails](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetTrailStatus` avec une CLI
<a name="cloudtrail_example_cloudtrail_GetTrailStatus_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetTrailStatus`.

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

**AWS CLI**  
**Pour obtenir le statut d’un journal de suivi**  
La commande `get-trail-status` suivante renvoie les informations de livraison et de journalisation pour `Trail1` :  

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

```
{
  "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"
}
```
+  Pour plus de détails sur l'API, reportez-vous [GetTrailStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-trail-status.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : renvoie les informations d'état du parcours portant le nom « myExampleTrail ». Les données renvoyées incluent des informations sur les erreurs de livraison, les erreurs Amazon SNS et Amazon S3, ainsi que les heures de début et de fin de journalisation du journal de suivi. Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Exemple 2 : renvoie les informations de statut pour un journal de suivi créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [GetTrailStatus](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : renvoie les informations d'état du parcours portant le nom « myExampleTrail ». Les données renvoyées incluent des informations sur les erreurs de livraison, les erreurs Amazon SNS et Amazon S3, ainsi que les heures de début et de fin de journalisation du journal de suivi. Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**Exemple 2 : renvoie les informations de statut pour un journal de suivi créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [GetTrailStatus](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `ListTrails` avec un AWS SDK
<a name="cloudtrail_example_cloudtrail_ListTrails_section"></a>

L'exemple de code suivant montre comment utiliser`ListTrails`.

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

**Kit SDK pour Ruby**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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
```
+  Pour plus de détails sur l'API, reportez-vous [ListTrails](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/ListTrails)à la section *Référence des AWS SDK pour Ruby API*. 

------

# Utilisation `LookupEvents` avec un AWS SDK ou une CLI
<a name="cloudtrail_example_cloudtrail_LookupEvents_section"></a>

Les exemples de code suivants illustrent comment utiliser `LookupEvents`.

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

**SDK pour C\$1\$1**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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;
}
```
+  Pour plus de détails sur l'API, reportez-vous [LookupEvents](https://docs.aws.amazon.com/goto/SdkForCpp/cloudtrail-2013-11-01/LookupEvents)à la section *Référence des AWS SDK pour C\$1\$1 API*. 

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

**AWS CLI**  
**Pour rechercher des événements pour un journal de suivi**  
La commande `lookup-events` suivante recherche les événements d’activité de l’API par attribut `EventName` :  

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

```
{
  "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": []
     }
  ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [LookupEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/lookup-events.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : renvoie tous les événements qui se sont produits au cours des sept derniers jours. Par défaut, l’applet de commande effectue automatiquement plusieurs appels pour transmettre tous les événements, puis s’arrête lorsque le service indique qu’aucune autre donnée n’est disponible.**  

```
Find-CTEvent
```
**Exemple 2 : renvoie tous les événements survenus au cours des sept derniers jours en spécifiant une région qui n’est pas la valeur par défaut du shell actuel.**  

```
Find-CTEvent -Region eu-central-1
```
**Exemple 3 : renvoie tous les événements associés à l'appel RunInstances d'API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Exemple 4 : renvoie les cinq premiers événements disponibles.**  

```
Find-CTEvent -MaxResult 5
```
+  Pour plus de détails sur l'API, reportez-vous [LookupEvents](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : renvoie tous les événements qui se sont produits au cours des sept derniers jours. Par défaut, l’applet de commande effectue automatiquement plusieurs appels pour transmettre tous les événements, puis s’arrête lorsque le service indique qu’aucune autre donnée n’est disponible.**  

```
Find-CTEvent
```
**Exemple 2 : renvoie tous les événements survenus au cours des sept derniers jours en spécifiant une région qui n’est pas la valeur par défaut du shell actuel.**  

```
Find-CTEvent -Region eu-central-1
```
**Exemple 3 : renvoie tous les événements associés à l'appel RunInstances d'API.**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**Exemple 4 : renvoie les cinq premiers événements disponibles.**  

```
Find-CTEvent -MaxResult 5
```
+  Pour plus de détails sur l'API, reportez-vous [LookupEvents](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

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

**Kit SDK pour Ruby**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code 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
```
+  Pour plus de détails sur l'API, reportez-vous [LookupEvents](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudtrail-2013-11-01/LookupEvents)à la section *Référence des AWS SDK pour Ruby API*. 

------

# Utilisation de `StartLogging` avec une CLI
<a name="cloudtrail_example_cloudtrail_StartLogging_section"></a>

Les exemples de code suivants illustrent comment utiliser `StartLogging`.

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

**AWS CLI**  
**Pour démarrer la journalisation pour un journal de suivi**  
La commande `start-logging` suivante active la journalisation pour `Trail1` :  

```
aws cloudtrail start-logging --name Trail1
```
+  Pour plus de détails sur l'API, reportez-vous [StartLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/start-logging.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : Démarre l'enregistrement des appels d' AWS API et la livraison du fichier journal pour le journal nommé « myExampleTrail ». Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Start-CTLogging -Name myExampleTrail
```
**Exemple 2 : Démarre l'enregistrement des appels d' AWS API et la livraison du fichier journal pour un journal créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [StartLogging](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : Démarre l'enregistrement des appels d' AWS API et la livraison du fichier journal pour le journal nommé « myExampleTrail ». Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Start-CTLogging -Name myExampleTrail
```
**Exemple 2 : Démarre l'enregistrement des appels d' AWS API et la livraison du fichier journal pour un journal créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [StartLogging](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `StopLogging` avec une CLI
<a name="cloudtrail_example_cloudtrail_StopLogging_section"></a>

Les exemples de code suivants illustrent comment utiliser `StopLogging`.

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

**AWS CLI**  
**Pour arrêter la journalisation d’un journal de suivi**  
La commande `stop-logging` suivante désactive la journalisation pour `Trail1` :  

```
aws cloudtrail stop-logging --name Trail1
```
+  Pour plus de détails sur l'API, reportez-vous [StopLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : Suspend l'enregistrement des appels d' AWS API et la livraison du fichier journal pour le journal nommé « myExampleTrail ». Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Exemple 2 : Suspend l'enregistrement des appels d' AWS API et la livraison du fichier journal pour un journal créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [StopLogging](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : Suspend l'enregistrement des appels d' AWS API et la livraison du fichier journal pour le journal nommé « myExampleTrail ». Cet exemple suppose que le journal de suivi a été créé dans la même région que le shell par défaut actuel.**  

```
Stop-CTLogging -Name myExampleTrail
```
**Exemple 2 : Suspend l'enregistrement des appels d' AWS API et la livraison du fichier journal pour un journal créé dans une région autre que la région par défaut du shell actuel (dans ce cas, la région de Francfort (eu-central-1)).**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  Pour plus de détails sur l'API, reportez-vous [StopLogging](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `UpdateTrail` avec une CLI
<a name="cloudtrail_example_cloudtrail_UpdateTrail_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateTrail`.

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

**AWS CLI**  
**Pour mettre à jour un journal de suivi**  
L’exemple `update-trail` suivant met à jour un journal afin d’utiliser un compartiment existant pour la livraison du journal.  

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

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html)à la section *Référence des AWS CLI commandes*. 

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

**Outils pour PowerShell V4**  
**Exemple 1 : met à jour le journal de suivi spécifié afin que les événements de service globaux (tels que ceux provenant d’IAM) soient enregistrés et change le préfixe de clé commun des fichiers journaux à venir pour « globallogs ».**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Exemple 2 : met à jour le journal de suivi spécifié afin que les notifications concernant les nouvelles livraisons de journaux soient envoyées à la rubrique SNS spécifiée.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Exemple 3 : met à jour le journal de suivi spécifié afin que les journaux soient envoyés dans un autre compartiment.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateTrail](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : met à jour le journal de suivi spécifié afin que les événements de service globaux (tels que ceux provenant d’IAM) soient enregistrés et change le préfixe de clé commun des fichiers journaux à venir pour « globallogs ».**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**Exemple 2 : met à jour le journal de suivi spécifié afin que les notifications concernant les nouvelles livraisons de journaux soient envoyées à la rubrique SNS spécifiée.**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**Exemple 3 : met à jour le journal de suivi spécifié afin que les journaux soient envoyés dans un autre compartiment.**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateTrail](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------