

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.

# Utilisation de cibles modélisées dans EventBridge le planificateur
<a name="managing-targets-templated"></a>

 Les *cibles modélisées* sont un ensemble d'opérations d'API communes à un groupe de AWS services principaux, tels qu'Amazon SQS, Lambda et Step Functions. Par exemple, vous pouvez cibler le [https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke)fonctionnement de Lambda en fournissant la fonction ARN, ou le [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)fonctionnement d'Amazon SQS en utilisant l'ARN de la file d'attente. Pour configurer une cible modélisée, vous devez également accorder des autorisations au rôle d'exécution du calendrier pour effectuer l'opération d'API ciblée. 

 Pour configurer une cible modélisée par programmation à l'aide du AWS CLI ou de l'un des EventBridge planificateurs SDKs, vous devez spécifier l'ARN du rôle d'exécution, l'ARN de la ressource cible, une entrée facultative que vous souhaitez que le EventBridge planificateur fournisse à la cible et, pour certaines cibles modélisées, un ensemble unique de paramètres avec des options de configuration supplémentaires pour cette cible. Lorsque vous spécifiez l'ARN d'une ressource cible modélisée, EventBridge Scheduler suppose automatiquement que vous souhaitez appeler l'opération d'API prise en charge pour ce service. Si vous souhaitez que EventBridge Scheduler cible une opération d'API différente pour le service, vous devez configurer la cible en tant que cible [universelle](managing-targets-universal.md). 

 Vous trouverez ci-dessous une liste complète de toutes les cibles modélisées prises en charge EventBridge par Scheduler et, le cas échéant, l'ensemble unique de paramètres associés à chaque cible. Cliquez sur le lien correspondant à chaque ensemble de paramètres pour voir les champs obligatoires et facultatifs dans la référence de l'*API du EventBridge planificateur*. 
+ **CodeBuild** – [https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuild.html](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuild.html)
+ **CodePipeline** – [https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_StartPipelineExecution.html](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_StartPipelineExecution.html)
+ **Amazon ECS** — [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
  + Paramètres: [https://docs.aws.amazon.com/scheduler/latest/APIReference/API_EcsParameters.html](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_EcsParameters.html)
+ **EventBridge** – [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
  + Paramètres: [https://docs.aws.amazon.com/scheduler/latest/APIReference/API_EventBridgeParameters.html](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_EventBridgeParameters.html)
+ **Amazon Inspector** — [https://docs.aws.amazon.com/inspector/v1/APIReference/API_StartAssessmentRun.html](https://docs.aws.amazon.com/inspector/v1/APIReference/API_StartAssessmentRun.html)
+ **Kinesis** : [https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html)
  + Paramètres: [https://docs.aws.amazon.com/scheduler/latest/APIReference/API_KinesisParameters.html](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_KinesisParameters.html)
+ **Firehose — [https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html)**
+ **Lambda** – [https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html)
+ **SageMaker IA** — [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)
  + Paramètres: [https://docs.aws.amazon.com/scheduler/latest/APIReference/API_SageMakerPipelineParameters.html](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_SageMakerPipelineParameters.html)
+ **Amazon SNS — [https://docs.aws.amazon.com/sns/latest/api/API_Publish.html](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html)**
+ **Amazon SQS** : [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)
  + Paramètres: [https://docs.aws.amazon.com/scheduler/latest/APIReference/API_SqsParameters.html](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_SqsParameters.html)
+ **Step Functions** — [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)

 Utilisez les exemples suivants pour savoir comment configurer différentes cibles modélisées et les autorisations IAM requises pour chaque cible décrite. 

## Amazon SQS `SendMessage`
<a name="managing-targets-templated-sqs"></a>

**Example Politique d'autorisation pour le rôle d'exécution**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sqs:SendMessage"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

**Example AWS CLI**  

```
$ aws scheduler create-schedule --name sqs-templated --schedule-expression 'rate(5 minutes)' \
--target '{"RoleArn": "ROLE_ARN", "Arn":"QUEUE_ARN", "Input": "Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'" }' \
--flexible-time-window '{ "Mode": "OFF"}'
```

**Example Kit SDK Python**  

```
import boto3
scheduler = boto3.client('scheduler')

flex_window = { "Mode": "OFF" }

sqs_templated = {
    "RoleArn": "<ROLE_ARN>",
    "Arn": "<QUEUE_ARN>",
    "Input": "Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'"
}

scheduler.create_schedule(
    Name="sqs-python-templated",
    ScheduleExpression="rate(5 minutes)",
    Target=sqs_templated,
    FlexibleTimeWindow=flex_window)
```

**Example Kit SDK Java**  

```
package com.example;

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.scheduler.SchedulerClient;
import software.amazon.awssdk.services.scheduler.model.*;


public class MySchedulerApp {

    public static void main(String[] args) {
        
        final SchedulerClient client = SchedulerClient.builder()
                .region(Region.US_WEST_2)
                .build();
        
        Target sqsTarget = Target.builder()
                .roleArn("<ROLE_ARN>")
                .arn("<QUEUE_ARN>")
                .input("Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'")
                .build();
        
        CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder()
                .name("<SCHEDULE NAME>")
                .scheduleExpression("rate(10 minutes)")
                .target(sqsTarget)
                .flexibleTimeWindow(FlexibleTimeWindow.builder()
                        .mode(FlexibleTimeWindowMode.OFF)
                        .build())
                .build();
                
        client.createSchedule(createScheduleRequest);
        System.out.println("Created schedule with rate expression and an Amazon SQS templated target");
    }
}
```

## `Invoke` Lambda
<a name="managing-targets-templated-lambda"></a>

**Example Politique d'autorisation pour le rôle d'exécution**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

**Example AWS CLI**  

```
$ aws scheduler create-schedule --name lambda-templated-schedule --schedule-expression 'rate(5 minutes)' \
--target '{"RoleArn": "ROLE_ARN", "Arn":"FUNCTION_ARN", "Input": "{ \"Payload\": \"TEST_PAYLOAD\" }" }' \
--flexible-time-window '{ "Mode": "OFF"}'
```

**Example Kit SDK Python**  

```
import boto3
scheduler = boto3.client('scheduler')

flex_window = { "Mode": "OFF" }

lambda_templated = {
    "RoleArn": "<ROLE_ARN>",
    "Arn": "<LAMBDA_ARN>",
    "Input": "{ 'Payload': 'TEST_PAYLOAD' }"}
}

scheduler.create_schedule(
    Name="lambda-python-templated",
    ScheduleExpression="rate(5 minutes)",
    Target=lambda_templated,
    FlexibleTimeWindow=flex_window)
```

**Example Kit SDK Java**  

```
package com.example;

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.scheduler.SchedulerClient;
import software.amazon.awssdk.services.scheduler.model.*;


public class MySchedulerApp {

    public static void main(String[] args) {
        
        final SchedulerClient client = SchedulerClient.builder()
                .region(Region.US_WEST_2)
                .build();
                
        Target lambdaTarget = Target.builder()
                .roleArn("<ROLE_ARN>")
                .arn("<Lambda ARN>")
                .input("{ 'Payload': 'TEST_PAYLOAD' }")
                .build();
        
        CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder()
                .name("<SCHEDULE_NAME>")
                .scheduleExpression("rate(10 minutes)")
                .target(lambdaTarget)
                .flexibleTimeWindow(FlexibleTimeWindow.builder()
                        .mode(FlexibleTimeWindowMode.OFF)
                        .build())
                .clientToken("<Token GUID>")
                .build();
                
        client.createSchedule(createScheduleRequest);
        System.out.println("Created schedule with rate expression and Lambda templated target");        
    }
}
```

## Step Functions `StartExecution`
<a name="managing-targets-templated-sfn"></a>

**Example Politique d'autorisation pour le rôle d'exécution**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "states:StartExecution"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

**Example AWS CLI**  

```
$ aws scheduler create-schedule --name sfn-templated-schedule --schedule-expression 'rate(5 minutes)' \
--target '{"RoleArn": "ROLE_ARN", "Arn":"STATE_MACHINE_ARN", "Input": "{ \"Payload\": \"TEST_PAYLOAD\" }" }' \
--flexible-time-window '{ "Mode": "OFF"}'
```

**Example Kit SDK Python**  

```
import boto3
scheduler = boto3.client('scheduler')

flex_window = { "Mode": "OFF" }

sfn_templated= {
    "RoleArn": "<ROLE_ARN>",
    "Arn": "<STATE_MACHINE_ARN>",
    "Input": "{ 'Payload': 'TEST_PAYLOAD' }"
}

scheduler.create_schedule(Name="sfn-python-templated",
    ScheduleExpression="rate(5 minutes)",
    Target=sfn_templated,
    FlexibleTimeWindow=flex_window)
```

**Example Kit SDK Java**  

```
package com.example;

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.scheduler.SchedulerClient;
import software.amazon.awssdk.services.scheduler.model.*;


public class MySchedulerApp {

    public static void main(String[] args) {
        
        final SchedulerClient client = SchedulerClient.builder()
                .region(Region.US_WEST_2)
                .build();
                
        Target stepFunctionsTarget = Target.builder()
                .roleArn("<ROLE_ARN>")
                .arn("<STATE_MACHINE_ARN>")
                .input("{ 'Payload': 'TEST_PAYLOAD' }")
                .build();
        
        CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder()
                .name("<SCHEDULE_NAME>")
                .scheduleExpression("rate(10 minutes)")
                .target(stepFunctionsTarget)
                .flexibleTimeWindow(FlexibleTimeWindow.builder()
                        .mode(FlexibleTimeWindowMode.OFF)
                        .build())
                .clientToken("<Token GUID>")
                .build();
                
        client.createSchedule(createScheduleRequest);
        System.out.println("Created schedule with rate expression and Step Function templated target");
    }
}
```