

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

# Usando alvos universais no EventBridge Scheduler
<a name="managing-targets-universal"></a>

 Um *alvo universal* é um conjunto personalizável de parâmetros que permite invocar um conjunto mais amplo de operações de API para muitos AWS serviços. Por exemplo, você pode usar um parâmetro de destino universal (UTP) para criar uma nova fila do Amazon SQS usando a operação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue). 

 Para configurar uma meta universal para sua agenda usando o AWS CLI ou um dos EventBridge Agendadores SDKs, você precisa especificar as seguintes informações: 
+  **RoleArn**— O ARN da função de execução que você deseja usar para o destino. A função de execução que você especificar deve ter as permissões para chamar a operação de API que você deseja que seu agendamento vise. 
+  **Arn**: O ARN completo do serviço, incluindo a operação de API que você deseja atingir, no seguinte formato: `arn:aws:scheduler:::aws-sdk:{{service}}:{{apiAction}}`. 

   Por exemplo, para o Amazon SQS, o nome do serviço que você especifica é `arn:aws:scheduler:::aws-sdk:sqs:sendMessage`. 
**nota**  
 O {{service}} valor no ARN de destino universal deve corresponder ao identificador de serviço do AWS SDK para o serviço de destino. Esse identificador pode ser diferente do prefixo do endpoint do serviço. Por exemplo, para o Amazon Cognito Identity Provider, use `cognitoidentityprovider` (não`cognito-idp`). Para encontrar o identificador de serviço correto, consulte a documentação do AWS SDK para o serviço que você deseja segmentar. 
+  **Entrada** — Um JSON bem formado que você especifica com os parâmetros de solicitação que o EventBridge Scheduler envia para a API de destino. Os parâmetros e a forma do JSON que você configura em `Input` são determinados pela API de serviço que seu agendamento invoca. Para obter essas informações, consulte a referência da API do serviço da que você deseja segmentar. 

## Ações não compatíveis
<a name="unsupported-api-actions"></a>

 EventBridge O Scheduler não suporta ações de API somente para leitura, como `GET` operações comuns, que começam com a seguinte lista de prefixos: 

```
get
describe
list
poll
receive
search
scan
query
select
read
lookup
discover
validate
batchGet
batchDescribe
batchRead
transactGet
adminGet
adminList
testMigration
retrieve
testConnection
translateDocument
isAuthorized
invokeModel
```

 Por exemplo, o ARN do serviço para a ação da API de [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html) seria o seguinte: `arn:aws:scheduler:::aws-sdk:sqs:getQueueURL`. Como a ação da API começa com o `get` prefixo, o EventBridge Scheduler não é compatível com esse destino. Da mesma forma, a ação [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers.html#ListBrokers](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers.html#ListBrokers) do Amazon MQ não é aceita como destino porque a operação começa com o prefixo `list`. 

## Exemplos usando o destino universal
<a name="managing-targets-universal-examples"></a>

 Os parâmetros transmitidos no campo de agendamento de `Input` dependem dos parâmetros de solicitação que a API de serviço que você deseja invocar aceita. Por exemplo, para visar o [https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) Lambda, você pode definir os parâmetros listados na [Referência API de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestParameters). Isso inclui a [carga útil](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestBody) do JSON opcional que você pode passar para uma função do Lambda. 

 Para determinar os parâmetros que você pode definir para diferentes APIs, consulte a referência da API para esse serviço. Semelhante ao Lambda`Invoke`, alguns APIs aceitam parâmetros de URI, bem como uma carga útil do corpo da solicitação. Nesses casos, você especifica os parâmetros do caminho do URI, bem como a carga útil do JSON na `Input` de sua agenda. 

 Os exemplos a seguir mostram como usar a meta universal para invocar operações comuns de API com Lambda, Amazon SQS e Step Functions. 

**Example Lambda**  

```
$ aws scheduler create-schedule --name lambda-universal-schedule --schedule-expression 'rate(5 minutes)' \
--target '{"RoleArn": "{{ROLE_ARN}}", "Arn":"arn:aws:scheduler:::aws-sdk:lambda:invoke" "Input": "{\"FunctionName\":\"arn:aws:lambda:{{REGION}}:123456789012:function:HelloWorld\",\"InvocationType\":\"Event\",\"Payload\":\"{\\\"message\\\":\\\"testing function\\\"}\"}" }' \
--flexible-time-window '{ "Mode": "OFF"}'
```

**Example Amazon SQS**  

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

flex_window = { "Mode": "OFF" }

sqs_universal= {
    "RoleArn": "<ROLE_ARN>",
    "Arn": "arn:aws:scheduler:::aws-sdk:sqs:sendMessage",
    "Input": "{\"MessageBody\":\"My message\",\"QueueUrl\":\"<QUEUE_URL>\"}"}
}

scheduler.create_schedule(
    Name="sqs-sdk-test",
    ScheduleExpression="rate(5 minutes)",
    Target=sqs_universal,
    FlexibleTimeWindow=flex_window)
```

**Example Step Functions**  

```
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 stepFunctionsUniversalTarget = Target.builder()
                .roleArn("<ROLE_ARN>")
                .arn("arn:aws:scheduler:::aws-sdk:sfn:startExecution")
                .input("{\"Input\":\"{}\",\"StateMachineArn\":\"<STATE_MACHINE_ARN>\"}")
                .build();
                
        CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder()
                .name("<SCHEDULE_NAME>")
                .scheduleExpression("rate(10 minutes)")
                .target(stepFunctionsUniversalTarget)
                .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 universal target");
    }
}
```