

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di obiettivi universali in EventBridge Scheduler
<a name="managing-targets-universal"></a>

 Un *target universale* è un set di parametri personalizzabile che consente di richiamare un set più ampio di operazioni API per molti servizi. AWS Ad esempio, puoi utilizzare un Universal Target Parameter (UTP) per creare una nuova coda Amazon SQS utilizzando l'operazione. [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue) 

 Per configurare un obiettivo universale per la tua pianificazione utilizzando lo AWS CLI Scheduler o uno degli EventBridge Scheduler SDKs, devi specificare le seguenti informazioni: 
+  **RoleArn**— L'ARN per il ruolo di esecuzione che si desidera utilizzare per la destinazione. Il ruolo di esecuzione specificato deve disporre delle autorizzazioni necessarie per richiamare l'operazione API a cui si desidera indirizzare la pianificazione. 
+  **Arn**: l'ARN del servizio completo, inclusa l'operazione API a cui desideri indirizzare, nel seguente formato:. `arn:aws:scheduler:::aws-sdk:service:apiAction` 

   Ad esempio, per Amazon SQS, il nome del servizio specificato è. `arn:aws:scheduler:::aws-sdk:sqs:sendMessage` 
**Nota**  
 Il *service* valore nell'ARN di destinazione universale deve corrispondere all'identificatore del servizio AWS SDK per il servizio di destinazione. Questo identificatore può differire dal prefisso dell'endpoint del servizio. Ad esempio, per Amazon Cognito Identity Provider, usa `cognitoidentityprovider` (non`cognito-idp`). Per trovare l'identificatore di servizio corretto, consulta la documentazione AWS SDK relativa al servizio a cui desideri rivolgerti. 
+  **Input**: un JSON ben formato che specifichi con i parametri di richiesta che EventBridge Scheduler invia all'API di destinazione. I parametri e la forma del JSON che imposti `Input` sono determinati dall'API di servizio richiamata dalla pianificazione. Per trovare queste informazioni, consulta il riferimento all'API per il servizio che desideri scegliere come target. 

## Azioni non supportate
<a name="unsupported-api-actions"></a>

 EventBridge Scheduler non supporta le azioni API di sola lettura, come le `GET` operazioni comuni, che iniziano con il seguente elenco di prefissi: 

```
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
```

 Ad esempio, l'ARN del servizio per l'azione [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html)API sarebbe il seguente:. `arn:aws:scheduler:::aws-sdk:sqs:getQueueURL` Poiché l'azione API inizia con il `get` prefisso, EventBridge Scheduler non supporta questa destinazione. Allo stesso modo, l'azione Amazon MQ non [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)è supportata come destinazione perché l'operazione inizia con il prefisso. `list` 

## Esempi che utilizzano il target universale
<a name="managing-targets-universal-examples"></a>

 I parametri passati nel `Input` campo di pianificazione dipendono dai parametri di richiesta accettati dall'API del servizio che si desidera richiamare. Ad esempio, per scegliere come target Lambda [https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html), puoi impostare i parametri elencati in [AWS Lambda API](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestParameters) Reference. Ciò include il [payload](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestBody) JSON opzionale che puoi passare a una funzione Lambda. 

 Per determinare i parametri che puoi impostare per diversi tipi APIs, consulta il riferimento all'API per quel servizio. Analogamente a Lambda`Invoke`, alcuni APIs accettano parametri URI e un payload del corpo della richiesta. In questi casi, specificate i parametri del percorso URI e il payload JSON nella pianificazione. `Input` 

 Gli esempi seguenti mostrano come utilizzare il target universale per richiamare operazioni API comuni con 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");
    }
}
```