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à.
Obiettivi dei bus di eventi in Amazon EventBridge
Un obiettivo è una risorsa o un endpoint che EventBridge invia un evento quando l'evento corrisponde al modello di evento definito per una regola. La regola elabora i dati dell'evento e invia le informazioni pertinenti alla destinazione. Per fornire i dati degli eventi a un target, è EventBridge necessaria l'autorizzazione per accedere alla risorsa di destinazione. Puoi definire fino a cinque destinazioni per ciascuna regola.
Quando si aggiungono destinazioni a una regola e la regola viene eseguita subito dopo, le destinazioni nuove o aggiornate potrebbero non essere richiamate immediatamente. È necessario un breve periodo di tempo affinché vengano applicate le modifiche.
Obiettivi del bus di eventi disponibili nella EventBridge console
È possibile configurare i seguenti tipi di target per le regole nella EventBridge console:
Destinazioni API
Le destinazioni API sono endpoint HTTPS che puoi richiamare come destinazione di una regola del bus di eventi. Quando si specifica una destinazione API come destinazione della regola, EventBridge richiama l'endpoint HTTPS per qualsiasi evento che corrisponde al modello di evento specificato nella regola e quindi fornisce le informazioni sull'evento con la richiesta. Per ulteriori informazioni, consulta Destinazioni API.
Bus per eventi
È possibile specificare altri bus di eventi come obiettivi per le regole. Sono inclusi i bus di eventi appartenenti allo stesso account o a AWS account diversi.
AWS servizi
È possibile EventBridge inviare eventi a diverse risorse di AWS servizio. Ciò include:
-
CodePipeline
-
Chiamata API
CreateSnapshotdi Amazon EBS -
EC2 Image Builder
-
Chiamata API
RebootInstancesdi EC2 -
Chiamata API
StopInstancesdi EC2 -
Chiamata API
TerminateInstancesdi EC2 -
Flussi di distribuzione Firehose
-
Workflow di Glue
-
Piano di risposta dello strumento di gestione degli incidenti
-
Modello di valutazione di Inspector
-
Flusso di Kinesis
-
Funzione Lambda (ASYNC)
-
Query sull'API dati del gruppo di lavoro Amazon Redshift serverless
-
SageMaker Pipeline AI
-
Argomento Amazon SNS
-
Macchine a stati di Step Functions (ASYNC)
-
Systems Manager Automation
-
Gestore di sistemi OpsItem
-
Run Command di Systems Manager
Parametri di destinazione
Alcuni target non inviano le informazioni contenute nel payload dell'evento al target, ma trattano l'evento come un trigger per richiamare un'API specifica. EventBridge utilizza i parametri Target per determinare cosa succede con quel target. Questi sono i seguenti:
-
Destinazioni API
I dati inviati a una destinazione API devono corrispondere alla struttura dell'API. Usa l'
InputTransformeroggetto per assicurarti che i dati siano strutturati correttamente. Se desideri includere il payload dell'evento originale, fai riferimento a esso nelInputTransformer. -
Gateway API
I dati inviati a API Gateway devono corrispondere alla struttura dell'API. Usa l'
InputTransformeroggetto per assicurarti che i dati siano strutturati correttamente. Se desideri includere il payload dell'evento originale, fai riferimento a esso nelInputTransformer. -
Amazon EC2 Image Builder
-
Cluster Amazon Redshift Data API
Utilizza
RedshiftDataParameters. -
Pipeline per la SageMaker creazione di modelli Amazon Runtime
Utilizza
SageMakerPipelineParameters. -
Code Amazon SQS Fair e FIFO
Consente
SqsParametersdi specificare il gruppo di messaggi da utilizzare come destinazione. -
Run Command di Systems Manager
Consente
RunCommandParametersdi specificare il documento SSM e le istanze di destinazione. Per ulteriori informazioni, vedere Systems Manager Run Command as a target.
Nota
EventBridge non supporta tutta la sintassi JSON Path e la valuta in fase di esecuzione. La sintassi supportata include:
notazione a punti (ad esempio,
$.detail)trattini
caratteri di sottolineatura
caratteri alfanumerici
indici array
caratteri jolly (*)
barre in avanti
Parametri di percorso dinamici
I parametri del percorso dinamico consentono di utilizzare la sintassi del percorso JSON per fare riferimento ai dati degli eventi in fase di esecuzione anziché ai valori statici.
È possibile utilizzare la sintassi del percorso JSON dinamico con i parametri di destinazione per specificare percorsi JSON anziché valori statici (ad esempio,). $.detail.state
Requisiti
L'intero valore deve essere un percorso JSON, non solo una parte di esso. Ad esempio:
-
✓ Corretto:
RedshiftParameters.Sqlpuò essere$.detail.state -
✗ Errato:
RedshiftParameters.Sqlnon può essere"SELECT * FROM $.detail.state"
EventBridge sostituisce questi percorsi in fase di esecuzione con i dati del payload dell'evento nel percorso specificato.
Limitazioni
I parametri del percorso dinamico non possono fare riferimento a valori nuovi o trasformati dalla trasformazione di input. La sintassi del percorso JSON è la stessa della sintassi di trasformazione dell'input. Per ulteriori informazioni, consulta Amazon EventBridge input transformation.
Parametri supportati
Puoi utilizzare la sintassi dinamica su tutti i campi stringa non enum di questi parametri:
-
HttpParameters(tranne le chiaviHeaderParameters)
Permissions
Per effettuare chiamate API sulle risorse che possiedi, sono EventBridge necessarie le autorizzazioni appropriate. Specifica un ruolo di esecuzione IAM utilizzando la EventBridge console o impostando il RoleARN parametro in PutTargets.
Ad esempio, la seguente politica definisce l'autorizzazione a inviare messaggi a una coda Amazon SQS:
E la seguente politica di fiducia consente di EventBridge assumere il ruolo:
Puoi richiamare un endpoint Gateway API con l'autorizzazione IAM configurata, ma il ruolo è facoltativo se non hai configurato l'autorizzazione. Per ulteriori informazioni, consulta Amazon EventBridge e AWS Identity and Access Management.
Se un altro account si trova nella stessa Regione e ti ha concesso l'autorizzazione, puoi inviare eventi a quell'account.
Per ulteriori informazioni, consulta Invio e ricezione di eventi tra AWS account in Amazon EventBridge.
Se il tuo obiettivo, ad esempio una coda Amazon SQS, utilizza la crittografia AWS Key Management Service (AWS KMS), devi includere la seguente sezione nella tua policy chiave KMS:
{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
AWS Batch code di lavoro come obiettivi
Alcuni parametri AWS Batch submitJob possono essere configurati tramite. BatchParameters
Altri possono essere specificati nel payload di eventi. Se il payload dell'evento (passato o tramite InputTransformers) contiene le seguenti chiavi, queste vengono mappate ai parametri della submitJob richiesta:
ContainerOverrides: containerOverridesNota
Include solo comando, ambiente, memoria e vcpu
DependsOn: dependsOnNota
Include solo jobId
Parameters: parameters
CloudWatch Registra i gruppi come obiettivi
Se non si utilizza an InputTransformer con una destinazione CloudWatch Logs, il payload dell'evento viene utilizzato come messaggio di registro e l'origine dell'evento come timestamp. Se usi un InputTransformer, il modello deve essere:
{"timestamp":<timestamp>,"message":<message>}
EventBridge raggruppa in batch le voci inviate a un flusso di log; pertanto, EventBridge può inviare uno o più eventi a un flusso di log, a seconda del traffico.
CodeBuild progetti come obiettivi
EventBridge supporta build standard e batch come obiettivi.
Se si utilizza un trasformatore di ingresso per modellare l'evento sorgente in modo che corrisponda alla StartBuildRequest struttura prima che venga consegnato a un CodeBuild target, i parametri verranno mappati 1 a 1 e trasmessi a per impostazione predefinita. codeBuild.StartBuild
Per passare i parametri a codeBuild.StartBuildBatch invece, trasformate l'evento sorgente in modo che corrisponda alla StartBuildBatchRequest struttura e aggiungete la key/value coppia seguente alla radice dell'evento trasformato:
"buildType": "BATCH"
Le attività di Amazon ECS come obiettivi
Se lo usi InputTransformers per modellare l'evento di input su un Target in modo che corrisponda alla RunTask TaskOverride struttura di Amazon ECS, i parametri verranno mappati 1 a 1 e trasmessi a. ecs.RunTask
I piani di risposta di Incident Manager come obiettivi
Se l'evento corrispondente proviene da CloudWatch Alarms, i dettagli relativi alla modifica dello stato dell'allarme vengono inseriti nei dettagli di attivazione della StartIncidentRequest chiamata a Incident Manager.
Systems Manager: Esegui il comando come destinazione
Quando si specifica Systems Manager Run Command come destinazione, EventBridge chiama l'SendCommandAPI per conto dell'utente. Configura la destinazione utilizzando RunCommandParameters, che specifica il documento SSM da eseguire e le istanze o i tag di destinazione.
RunCommandParameterscontiene i seguenti campi:
-
RunCommandTargets— (Obbligatorio) Un elenco di coppie chiave-valore che specificano le istanze di destinazione. UsaKeyset toInstanceIdscon un elenco di ID di istanza oKeyset totag:with tag per indirizzare le istanze tramite tag. È possibile specificare da 1 a 5 destinazioni per i comandi di esecuzione.tag-name
Per specificare quale documento SSM eseguire e passargli i parametri, utilizzate il Input campo sull'Targetoggetto. Il Input valore deve essere un oggetto JSON con la seguente struttura:
{
"DocumentName": "document-name",
"DocumentVersion": "version",
"Parameters": {
"parameter-key": ["parameter-value"]
}
}
Dove:
-
DocumentName— Il nome o l'ARN del documento SSM da eseguire. -
DocumentVersion— (Facoltativo) La versione del documento. Se omesso, viene utilizzata la versione predefinita. -
Parameters— (Facoltativo) Una mappa dei nomi dei parametri agli array di valori, che corrisponde ai parametri definiti nel documento SSM.
Ad esempio, il AWS CLI comando seguente crea una regola che esegue il AWS-RunShellScript documento su un'istanza specifica quando un EventBridge evento corrisponde:
aws events put-targets --rule "my-rule" --targets '[{ "Id": "ssm-target-1", "Arn": "arn:aws:ssm:region:account-id:document/AWS-RunShellScript", "RoleArn": "arn:aws:iam::account-id:role/EventBridgeSSMRole", "Input": "{\\"Parameters\\":{\\"commands\\":[\\"echo Hello from EventBridge\\"]}}", "RunCommandParameters": { "RunCommandTargets": [{ "Key": "InstanceIds", "Values": ["i-0123456789abcdef0"] }] } }]'
Nota
Il Input campo sull'Targetoggetto viene utilizzato per passare il nome e i parametri del documento a Systems Manager Run Command. Questo è diverso da InputTransformer, che trasforma il payload dell'evento. Quando si utilizza Systems Manager Run Command come destinazione, impostate i parametri del documento Input e specificate le istanze di destinazione in. RunCommandParameters
Le code di Amazon SQS come destinazioni
EventBridge non supporta l'utilizzo di code Amazon SQS crittografate con un. Chiave di proprietà di AWS Ciò include le destinazioni e le code Amazon SQS specificate come code di lettere morte per le destinazioni. Per ulteriori informazioni su, AWS consulta le chiavi possedute nella Chiavi di proprietà di AWS Developer Guide. AWS Key Management Service