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 degli Event Bus in Amazon EventBridge
Un target è 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 inviare i dati degli eventi a una destinazione, è 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.
Il video seguente illustra le nozioni di base sulle destinazioni:
Target del bus degli eventi disponibili nella EventBridge console
È possibile configurare i seguenti tipi di oggetto per le regole nella EventBridge console:
Destinazioni API
Le destinazioni API sono endpoint HTTPS che è possibile richiamare come destinazione di una regola del bus degli eventi. Quando specificate una destinazione API come destinazione della regola, EventBridge richiama l'endpoint HTTPS per qualsiasi evento che corrisponde al modello di evento specificato nella regola, quindi fornisce le informazioni sull'evento con la richiesta. Per ulteriori informazioni, consulta Destinazioni API.
Bus di eventi
È possibile specificare altri bus di eventi come destinazioni per le regole. Ciò include i bus di eventi nello stesso account o in AWS account diversi.
AWS servizi
È possibile EventBridge inviare eventi a diverse risorse di AWS servizio. Ciò include:
-
CodePipeline
-
Chiamata API
CreateSnapshot
di Amazon EBS -
EC2 Image Builder
-
EC2
RebootInstances
Chiamata API -
EC2
StopInstances
Chiamata API -
EC2
TerminateInstances
Chiamata API -
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
EventBridge non supporta gli argomenti Amazon SNS FIFO (first in, first out).
-
Coda Amazon SQS
-
Macchine a stati di Step Functions (ASYNC)
-
Systems Manager Automation
-
Systems Manager OpsItem
-
Run Command di Systems Manager
Parametri di destinazione
Alcune destinazioni non inviano le informazioni nel payload dell'evento alla destinazione, ma trattano l'evento come un trigger per richiamare un'API specifica. EventBridge utilizza i parametri Target per determinare cosa succede con quell'obiettivo. Questi sono i seguenti:
-
Destinazioni API: i dati inviati a una destinazione API devono corrispondere alla struttura dell'API. È necessario utilizzare l'oggetto
InputTransformer
per assicurarsi che i dati siano strutturati correttamente. Se vuoi includere il payload dell'evento originale, fai riferimento a esso inInputTransformer
. -
Gateway API: i dati inviati a Gateway API devono corrispondere alla struttura dell'API. È necessario utilizzare l'oggetto
InputTransformer
per assicurarsi che i dati siano strutturati correttamente. Se vuoi includere il payload dell'evento originale, fai riferimento a esso inInputTransformer
. -
Amazon EC2 Image Builder
-
RedshiftDataParameters
(cluster delle API dati di Amazon Redshift) -
SageMakerPipelineParameters
(Pipeline di creazione SageMaker di modelli Amazon Runtime)
Nota
EventBridge non supporta tutta la sintassi di 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 (*)
Parametri di percorso dinamici
Alcuni parametri di destinazione supportano la sintassi di percorso JSON dinamico facoltativa. Questa sintassi consente di specificare percorsi JSON anziché valori statici (ad esempio $.detail.state
). L'intero valore deve essere un percorso JSON, non solo una parte di esso. Ad esempio, RedshiftParameters.Sql
può essere $.detail.state
ma non può essere "SELECT * FROM $.detail.state"
. Questi percorsi vengono sostituiti dinamicamente al runtime con i dati del payload di eventi nel percorso specificato. I parametri di percorso dinamici non possono fare riferimento a valori nuovi o trasformati risultanti dalla trasformazione dell'input. La sintassi supportata per i percorsi JSON dei parametri dinamici è la stessa utilizzata per la trasformazione dell'input. Per ulteriori informazioni, consulta Trasformazione degli EventBridge input di Amazon
La sintassi dinamica può essere utilizzata in tutti i campi stringhe non enum di questi parametri:
-
HttpParameters
(tranne le chiaviHeaderParameters
)
Autorizzazioni
Per effettuare chiamate API sulle risorse di tua proprietà, è EventBridge necessaria l'autorizzazione appropriata. Per AWS Lambda le risorse Amazon SNS, EventBridge utilizza politiche basate sulle risorse. EC2 Ad esempio, i flussi di dati Kinesis e le macchine a stati Step Functions utilizzano EventBridge i ruoli IAM specificati nel parametro inRoleARN
. PutTargets
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 la destinazione è crittografata, devi includere la sezione seguente nella policy della chiave KMS.
{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
AWS Batch le 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 (trasmesso o trasmesso InputTransformers) contiene le seguenti chiavi, queste vengono mappate in base ai parametri di submitJob
richiesta:
ContainerOverrides: containerOverrides
Nota
Include solo comando, ambiente, memoria e vcpu
DependsOn: dependsOn
Nota
Include solo jobId
Parameters: parameters
CloudWatch Registra i gruppi come obiettivi
Se non si utilizza un oggetto InputTransformercon un obiettivo CloudWatch Logs, il payload dell'evento viene utilizzato come messaggio di registro e l'origine dell'evento come timestamp. Se si utilizza 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
Se si utilizza InputTransformersper modellare l'evento di input su un Target in modo che corrisponda alla CodeBuild StartBuildRequeststruttura, i parametri verranno mappati 1 a 1 e passati a. codeBuild.StartBuild
Le attività di Amazon ECS come obiettivi
Se lo utilizzi InputTransformersper modellare l'evento di input su un Target in modo che corrisponda alla RunTask TaskOverridestruttura di Amazon ECS, i parametri verranno mappati 1 a 1 e passati a. ecs.RunTask
I piani di risposta di Incident Manager come obiettivi
Se l'evento corrispondente proviene da CloudWatch Alarms, i dettagli della modifica dello stato dell'allarme vengono inseriti nei dettagli del trigger della StartIncidentRequest chiamata a Incident Manager.