

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à.

# Sorgenti di eventi per un bus di eventi personalizzato
<a name="eb-custom-bus-event-sources"></a>

Una fonte di eventi inserisce gli eventi di un AWS servizio o di un partner SaaS su un Custom Event Bus. Lo si crea con`CreateEventSource`, ad esempio`aws.s3`, nominando un bus di destinazione e un'origine e EventBridge trasmettendo gli eventi dall'origine al bus. Le tue applicazioni vengono pubblicate direttamente sul bus, quindi hai bisogno di una fonte di eventi solo per gli eventi che non produci tu stesso.

Gli eventi inseriti arrivano sul bus di destinazione nella EventBridge busta, con il tipo di contenuto. `application/eventbridge+json` I dati dell'evento contengono i campi della busta:`source`,,,`detail-type`, `account``time`, `region` e. `resources` `detail` EventBridge inoltre imposta i campi di metadati `aws:DetailType` del sistema `aws:Source` e a partire dal campo e dell'inviluppo. `source` `detail-type` Consulta [Struttura degli eventi: dati, metadati e metadati di sistema](eb-custom-bus-addressing.md).

## Come vengono spostati gli eventi
<a name="eb-custom-bus-event-sources-how"></a>

Quando crei una fonte di eventi, EventBridge crea una regola gestita e una destinazione nel tuo account, sul tuo Custom Event Bus - Classic, e trasferiscono gli eventi dall'origine al tuo Custom Event Bus. Entrambi vengono visualizzati nel tuo account con l'opzione `ManagedBy` impostata su`events.amazonaws.com`. Non li gestisci; l'eliminazione o la revoca della fonte dell'evento li rimuove. Gli eventi vengono quindi visualizzati ancora nelle metriche di Custom Event Bus - Classic.

## AWS sorgenti di eventi di servizio
<a name="eb-custom-bus-event-sources-aws"></a>

Una fonte di eventi di AWS servizio acquisisce gli eventi che un AWS servizio, ad esempio `aws.s3` o`aws.ec2`, emette per il tuo account. Per impostazione predefinita, ogni evento di quel servizio arriva sul bus; per restringere il campo, aggiungi un. `Pattern` L'esempio seguente crea una fonte di eventi che ammette solo eventi Amazon S3 Object Created.

```
aws eventsv2 create-event-source \
    --name s3-object-created \
    --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --configuration '{"AwsServiceEventsConfiguration":{"AwsService":"aws.s3","Pattern":"{\"detail-type\":[\"Object Created\"]}"}}'
```

Lo schema della sorgente dell'evento decide cosa attraversa il bus. Il filtro di un abbonato decide cosa riceve quell'abbonato dagli eventi che fluiscono attraverso il bus; vedi. [Filtrare gli eventi per un abbonato](eb-custom-bus-filtering.md) Scrivete il pattern in EventBridge event pattern syntax ([Schemi di EventBridge eventi Amazon](eb-event-patterns.md)) e lo EventBridge valuta rispetto alla busta. Lascia la `source` chiave, il livello superiore `account` e `region` le chiavi fuori dallo schema: EventBridge aggiunge le condizioni direttamente dal tuo account, dalla regione e dal servizio selezionato, e rifiuta uno schema che le fornisce.

## Origini eventi di partner
<a name="eb-custom-bus-event-sources-partner"></a>

Una fonte di eventi partner acquisisce gli eventi che un partner SaaS invia al tuo account. Prima di crearne una, il partner deve offrire una fonte di eventi partner al tuo account (vedi[Ricezione di eventi da un partner SaaS con Amazon EventBridge](eb-saas.md)) e tale fonte deve trovarsi nello `PENDING` stato. L'esempio seguente crea una relativa fonte di eventi.

```
aws eventsv2 create-event-source \
    --name example-partner-events \
    --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --configuration '{"PartnerEventsConfiguration":{"PartnerEventSourceArn":"arn:aws:events:us-east-1::event-source/aws.partner/example.com/12345"}}'
```

Quando crei l'origine dell'evento, EventBridge crea un bus di eventi partner gestito (un Custom Event Bus - Classic) nel tuo account per attivare la fonte partner. Quando elimini la fonte dell'evento, EventBridge elimina quel bus e restituisce la fonte partner a`PENDING`. Per crittografare quel bus con una chiave gestita dal cliente, imposta `PartnerBusKmsKeyIdentifier` una chiave nel tuo account e nella tua regione; altrimenti EventBridge utilizza una chiave AWS proprietaria.

## Dead-letter coda
<a name="eb-custom-bus-event-sources-dlq"></a>

Per catturare gli eventi che non riescono a raggiungere il bus, imposta `OnFailureConfiguration.Arn` una coda Amazon SQS standard nel tuo account e nella tua regione; una coda FIFO viene rifiutata. I messaggi arrivano in coda dal responsabile del `events.amazonaws.com` servizio, non da un ruolo assegnato dall'utente, quindi inserisci tale principale nella politica delle risorse della coda. `sqs:SendMessage`

```
{
    "Effect": "Allow",
    "Principal": { "Service": "events.amazonaws.com" },
    "Action": "sqs:SendMessage",
    "Resource": "arn:aws:sqs:us-east-1:111122223333:my-event-source-dlq",
    "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } }
}
```

Una fonte di eventi partner invia alla coda tramite due ARN di origine: la regola gestita, per gli errori di consegna, e il bus di eventi del partner gestito, per gli errori di crittografia. Una policy che prevede condizioni deve consentire entrambe le cose. `aws:SourceArn`

## Permissions
<a name="eb-custom-bus-event-sources-access"></a>

Per creare una fonte di eventi su un autobus in un altro account, il proprietario dell'autobus deve concederti`events:CreateEventSource`, tramite una AWS RAM condivisione (`AWSRAMEventBridgeEventBusV2EventSourceAccess`o`FullAccess`) o con una `PutResourcePolicy` dichiarazione sull'autobus. La chiave `events:source` condizionale riporta il nome del AWS servizio o il nome della fonte dell'evento del partner, in modo che il proprietario dell'autobus possa consentire o negare origini specifiche. Consulta [Condivisione di un Event Bus personalizzato con altri account](eb-custom-bus-sharing.md).

Per crittografare il bus di eventi del partner gestito, è necessario specificare l'identità dell'utente `kms:DescribeKey` e `kms:Decrypt` la chiave inserita`PartnerBusKmsKeyIdentifier`; senza di esse, `CreateEventSource` non è possibile eseguire il processo. `AccessDeniedException`

```
{
    "Effect": "Allow",
    "Action": ["kms:DescribeKey", "kms:Decrypt"],
    "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
```

Se il bus di destinazione è di proprietà di un altro account e lo crittografa con una chiave gestita dal cliente, la politica di tale chiave deve ammettere anche il tuo account; in caso contrario, la creazione, l'aggiornamento e la descrizione dell'origine dell'evento falliscono.

## Iscrizione agli eventi acquisiti
<a name="eb-custom-bus-event-sources-shape"></a>

Per abbinare gli eventi AWS del servizio o dei partner relativi a un abbonato, filtrate in base al campo dei metadati del sistema`aws:Source`. EventBridge scrive questo campo e nessuna chiamata di pubblicazione può impostare un valore che inizi con`aws.`, quindi una corrispondenza sul suo valore è l'unica corrispondenza che dimostra l'origine di un evento. Per gli eventi AWS di servizio, abbina il nome del servizio; per gli eventi partner, abbina il nome della fonte dell'evento partner.

```
{ "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[\"aws.s3\"]}" }

{ "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[{\"prefix\":\"aws.partner/example.com\"}]}" }
```

Per filtrare il contenuto dell'evento, aggiungi un `DATA` filtro. La busta riporta il contenuto al di sotto`detail`.

```
{ "Scope": "DATA", "Pattern": "{\"detail\":{\"bucket\":{\"name\":[\"amzn-s3-demo-bucket\"]}}}" }
```

I dati dell'evento contengono anche `source` e`detail-type`, e qualsiasi editore può scrivere quei valori in un payload, in modo che non provino l'origine. `aws:Source`Corrispondenza per valore, non per presenza: viene stabilita anche una `PutEvents` chiamata diretta`aws:Source`, a partire dalla propria`Source`, che non inizia mai con`aws.`.

## Interruzione definitiva della fonte di un evento
<a name="eb-custom-bus-event-sources-revoke"></a>

Il proprietario dell'autobus può impedire in modo permanente l'ingestione di un evento chiamando `RevokeResource` con il relativo ARN; vedi. [Revoca di un abbonato o di una fonte di eventi](eb-custom-bus-access-revoke.md) Una fonte di eventi revocata non può essere ripristinata. La revoca riguarda l'unica risorsa nominata, quindi abbinala a una politica sulle risorse del bus che impedisca allo stesso account di crearne un'altra. Per impedire all'account di creare qualsiasi fonte di eventi sul bus:

```
{
    "Effect": "Deny",
    "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
    "Action": "events:CreateEventSource",
    "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef"
}
```

Per bloccare un'origine e consentirne altre, condiziona l'opzione «negazione». `events:source`

```
{
    "Effect": "Deny",
    "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
    "Action": "events:CreateEventSource",
    "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef",
    "Condition": { "StringEquals": { "events:source": "aws.partner/example.com/12345" } }
}
```

## Confermando che gli eventi si trasferiscono sul bus
<a name="eb-custom-bus-event-sources-troubleshooting"></a>

Due set di metriche mostrano se gli eventi inseriti raggiungono il Custom Event Bus. La regola gestita riporta le normali metriche delle regole nel tuo account, in. `AWS/Events` Le metriche di pubblicazione del bus di destinazione hanno una `EventSource` dimensione che fornisce una ripartizione del traffico in entrata per sorgente per evento; vedi. [Osservabilità per il Custom Event Bus: metriche, registri e CloudTrail](eb-custom-bus-observability.md)

Quando un abbonato trasmette eventi da un Custom Event Bus a un altro su più account, gli eventi del AWS servizio e dei partner mantengono il loro valore `aws:DetailType` finché la struttura `aws:Source` e il contenuto dell'evento rimangono intatti. EventBridge autorizza il loro arrivo sul bus di destinazione con`events:PutEvents`, pertanto la politica delle risorse del bus di destinazione deve concedere tale azione al ruolo di inoltro. Gli eventi pubblicati dalle tue applicazioni vengono eseguiti`events:PutRawEvents`, quindi uno stream che combina entrambe le azioni richiede entrambe le azioni; vedi. [Obiettivo del bus dell'evento: da bus a bus](eb-custom-bus-target-bus.md)