

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

# Creazione di una mappatura della sorgente di eventi Lambda per un'origine di eventi Apache Kafka autogestita
<a name="kafka-esm-create"></a>

[Per creare una mappatura delle sorgenti degli eventi, puoi utilizzare la console Lambda, la [AWS Command Line Interface (CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)) o un SDK.AWS](https://aws.amazon.com/getting-started/tools-sdks/)

I seguenti passaggi della console aggiungono un cluster Apache Kafka autogestito come trigger per la funzione Lambda. Sotto il cofano, questo crea una risorsa di mappatura delle sorgenti degli eventi.

## Prerequisiti
<a name="kafka-esm-prereqs"></a>
+ Un cluster Apache Kafka autogestito. Lambda supporta la versione 0.10.1.0 e successive di Apache Kafka.
+ Un [ruolo di esecuzione](lambda-intro-execution-role.md) con autorizzazione ad accedere alle AWS risorse utilizzate dal cluster Kafka autogestito.

## Aggiunta di un cluster Kafka autogestito (console)
<a name="kafka-esm-console"></a>

Segui questi passaggi per aggiungere il cluster Apache Kafka autogestito e un argomento Kafka come trigger per la funzione Lambda.

**Per aggiungere un trigger Apache Kafka alla funzione Lambda (console)**

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegliere il nome della funzione Lambda.

1. In **Panoramica delle funzioni**, scegliere **Aggiungi trigger**.

1. In **Configurazione trigger**, effettua le operazioni seguenti:

   1. Scegliere il tipo di trigger **Apache Kafka**.

   1. Per **Server di bootstrap**, inserisci l'indirizzo composto dalla coppia host e porta di un broker Kafka nel cluster, quindi scegli **Aggiungi**. Ripeti la procedura per ogni broker Kafka del cluster.

   1. Per **Nome argomento**, inserisci il nome dell'argomento Kafka utilizzato per memorizzare i record nel cluster.

   1. Se configuri la modalità provisioned, inserisci un valore per **Minimum event poller**, un valore per **Maximum event poller** e un valore opzionale per PollerGroupName specificare il raggruppamento di più eventi ESMs all'interno dello stesso VPC di origine eventi.

   1. (Facoltativo) In **Dimensioni batch**, inserisci il numero massimo di record da ricevere in un singolo batch.

   1. Per **Finestra batch**, immetti il tempo massimo in secondi per la raccolta dei registri da parte di Lambda prima di richiamare la funzione.

   1. (Facoltativo) Per **ID gruppo di consumer**, inserisci l'ID di un gruppo di consumer Kafka a cui aderire.

   1. (Facoltativo) Per **Posizione di inizio**, scegli **Più recente** per iniziare a leggere il flusso dal record più recente, **Orizzonte di taglio** per iniziare dal primo record disponibile o **In corrispondenza del timestamp** per specificare un timestamp da cui iniziare la lettura.

   1. (Facoltativo) Per **VPC**, scegli Amazon VPC per il cluster Kafka. Quindi, scegli **Sottoreti VPC** e **Gruppi di sicurezza VPC**.

      Questa impostazione è necessaria soltanto se gli utenti del VPC accedono ai broker.

      

   1. (Facoltativo) Per **Autenticazione**, scegli **Aggiungi** e quindi esegui le seguenti operazioni:

      1. Scegli il protocollo di accesso o di autenticazione dei broker Kafka del cluster.
         + **Se il tuo broker Kafka utilizza l'autenticazione, scegli BASIC\$1AUTH. SASL/PLAIN **
         + Se il tuo broker utilizza SASL/SCRAM l'autenticazione, scegli uno dei protocolli. **SASL\$1SCRAM**
         + Se stai configurando l'autenticazione mTLS, scegli il protocollo **CLIENT\$1CERTIFICATE\$1TLS\$1AUTH**.

      1. Per SASL/SCRAM l'autenticazione MTLS, scegli la chiave segreta Secrets Manager che contiene le credenziali per il tuo cluster Kafka.

   1. (Facoltativo) Per **Crittografia**, scegli il segreto di Secrets Manager contenente il certificato CA root utilizzato dai broker Kafka per la crittografia TLS, se i broker Kafka utilizzano certificati firmati da una CA privata.

      Questa impostazione si applica alla crittografia TLS per SASL/PLAIN e all' SASL/SCRAM autenticazione MTLS.

   1. Per creare il trigger in uno stato disabilitato per il test (scelta consigliata), deselezionare **Abilita trigger**. Oppure, per attivare immediatamente il trigger, selezionare**Abilita trigger**.

1. Per creare il trigger, scegli **Aggiungi**.

## Aggiunta di un cluster Kafka autogestito (AWS CLI)
<a name="kafka-esm-cli"></a>

Usa i seguenti AWS CLI comandi di esempio per creare e visualizzare un trigger Apache Kafka autogestito per la tua funzione Lambda.

### Utilizzo di SASL/SCRAM
<a name="kafka-esm-cli-create"></a>

Se gli utenti Kafka accedono ai tuoi broker Kafka tramite Internet, specifica il segreto Secrets Manager che hai creato per l'autenticazione. SASL/SCRAM L'esempio seguente utilizza il [create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html) AWS CLI comando per mappare una funzione Lambda denominata `my-kafka-function` a un argomento di Kafka denominato. `AWSKafkaTopic`

```
aws lambda create-event-source-mapping \ 
  --topics AWSKafkaTopic \
  --source-access-configuration Type=SASL_SCRAM_512_AUTH,URI=arn:aws:secretsmanager:us-east-1:111122223333:secret:MyBrokerSecretName \
  --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \
  --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'
```

### Utilizzo di un VPC
<a name="kafka-esm-cli-create-vpc"></a>

Se solo gli utenti Kafka all'interno del proprio VPC accedono ai broker Kafka, dovrai specificare VPC, sottorete e gruppo di sicurezza del VPC. L'esempio seguente utilizza il [create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html) AWS CLI comando per mappare una funzione Lambda denominata `my-kafka-function` a un argomento di Kafka denominato. `AWSKafkaTopic`

```
aws lambda create-event-source-mapping \ 
  --topics AWSKafkaTopic \
  --source-access-configuration '[{"Type": "VPC_SUBNET", "URI": "subnet:subnet-0011001100"}, {"Type": "VPC_SUBNET", "URI": "subnet:subnet-0022002200"}, {"Type": "VPC_SECURITY_GROUP", "URI": "security_group:sg-0123456789"}]' \
  --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \
  --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'
```

### Visualizzazione dello stato utilizzando il AWS CLI
<a name="kafka-esm-cli-view"></a>

L'esempio seguente utilizza il [get-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/get-event-source-mapping.html) AWS CLI comando per descrivere lo stato della mappatura dell'origine degli eventi creata.

```
aws lambda get-event-source-mapping
              --uuid dh38738e-992b-343a-1077-3478934hjkfd7
```