Usar o Lambda com o Amazon MSK
O Amazon Managed Streaming for Apache Kafka (Amazon MSK) é um serviço totalmente gerenciado que você pode usar para criar e executar aplicações que usam o Apache Kafka para processar dados de streaming. O Amazon MSK simplifica a configuração, o dimensionamento e o gerenciamento de clusters do Kafka. O Amazon MSK também facilita a configuração da aplicação para várias zonas de disponibilidade e para segurança com o AWS Identity and Access Management (IAM).
Este capítulo explica como usar um cluster do Amazon MSK como origem de eventos para a função do Lambda. O processo geral de integração do Amazon MSK com o Lambda envolve as seguintes etapas:
-
Configuração do cluster e da rede: primeiro, configure o cluster do Amazon MSK. Isso inclui a configuração da rede correta para permitir que o Lambda acesse o cluster.
-
Configuração do mapeamento da origem do evento: depois, crie o recurso de mapeamento da origem do evento de que o Lambda precisa para se conectar ao cluster Amazon MSK à função com segurança.
-
Configuração da função e das permissões: por fim, certifique-se de que a função esteja configurada corretamente e tenha as permissões exigidas em seu perfil de execução.
Para obter exemplos de como configurar uma integração do Lambda com um cluster do Amazon MSK, consulte Tutorial: Usar um mapeamento de origem do evento do Amazon MSK para invocar uma função do Lambda, Using Amazon MSK as an event source for AWS Lambda
Tópicos
Configurar o cluster do Amazon MSK e a rede do Amazon VPC para o Lambda
Configurar as origens de eventos do Amazon MSK para o Lambda
Usar a filtragem de eventos com uma origem de eventos do Amazon MSK
Capturar lotes descartados para uma origem de eventos do Amazon MSK
Tutorial: Usar um mapeamento de origem do evento do Amazon MSK para invocar uma função do Lambda
Exemplo de evento do
O Lambda envia o lote de mensagens no parâmetro de evento quando ele chama sua função. O payload do evento contém uma matriz de mensagens. Cada item de array contém detalhes do tópico do Amazon MSK e do identificador de partição, juntamente com um carimbo de data/hora e uma mensagem codificada em base64.
{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }