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.
Uso de objetivos con plantillas en EventBridge Scheduler
Los objetivos con plantillas son un conjunto de operaciones de API comunes en un grupo de AWS servicios principales, como Amazon SQS, Lambda y Step Functions. Por ejemplo, puede segmentar la operación Invoke de Lambda proporcionando la función ARN o la operación SendMessage de Amazon SQS mediante el ARN de cola. Para configurar un destino basado en plantilla, también debe conceder permisos a la función de ejecución del programa para que realice la operación de API de destino.
Para configurar un destino con plantilla mediante programación mediante el SDK del EventBridge programador AWS CLI o uno de ellos, debe especificar el ARN del rol de ejecución, el ARN del recurso de destino, una entrada opcional que desee que EventBridge Scheduler entregue al destino y, para algunos destinos con plantilla, un conjunto único de parámetros con opciones de configuración adicionales para ese destino. Cuando especificas el ARN de un recurso de destino con plantilla, EventBridge Scheduler asume automáticamente que quieres llamar a la operación de API compatible para ese servicio. Si quieres que EventBridge Scheduler se dirija a una operación de API diferente para el servicio, debes configurar el destino como un objetivo universal.
La siguiente es una lista completa de todos los destinos con plantillas compatibles con EventBridge Scheduler y, si corresponde, del conjunto único de parámetros asociados a cada objetivo. Elija el enlace de cada conjunto de parámetros para ver los campos obligatorios y opcionales en la referencia de la API del EventBridge programador.
-
CodeBuild –
StartBuild -
CodePipeline –
StartPipelineExecution -
Amazon ECS –
RunTaskParámetros:
EcsParameters
-
EventBridge –
PutEventsParámetros:
EventBridgeParameters
importante
EventBridge El programador no admite la entrega entre regiones cuando se usa EventBridge
PutEventscomo destino con plantilla. Puedes usar este destino para enviar eventos a un bus de eventos en un lugar diferente Cuenta de AWS solo si el bus de eventos coincide con la programación Región de AWS . Para enviar eventos a un autobús de eventos de una región diferente, cree un horario en la región en la que se encuentra el autobús de eventos de destino. -
Amazon Inspector –
StartAssessmentRun -
Kinesis –
PutRecordParámetros:
KinesisParameters
-
Firehose:
PutRecord -
Lambda:
Invoke -
SageMaker IA:
StartPipelineExecutionParámetros:
SageMakerPipelineParameters
-
Amazon SNS –
Publish -
Amazon SQS –
SendMessageParámetros:
SqsParameters
-
Step Functions –
StartExecution
Use los siguientes ejemplos para aprender a configurar diferentes destinos basados en plantillas y los permisos de IAM necesarios para cada destino descrito.
Amazon SQS SendMessage
ejemplo Política de permisos para el rol de ejecución
ejemplo 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"}'
ejemplo SDK de 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)
ejemplo SDK de de 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"); } }
Lambda Invoke
ejemplo Política de permisos para el rol de ejecución
ejemplo 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"}'
ejemplo SDK de 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)
ejemplo SDK de de 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
ejemplo Política de permisos para el rol de ejecución
ejemplo 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"}'
ejemplo SDK de 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)
ejemplo SDK de de 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"); } }