Como acionar a AWS Lambda com AWS S3

Como acionar a AWS Lambda com AWS S3
O AWS Lambda é um serviço orientado a eventos sem servidor que executa códigos em diferentes linguagens de programação em resposta a eventos especificados. Essas funções na AWS Lambda podem ser invocadas ou acionadas conectando -se a outros serviços da AWS como a AWS S3. Por exemplo, desencadeando a função Lambda ao adicionar objetos a um balde, excluindo objetos do balde, etc.

Neste post, discutiremos como acionar ou invocar as funções Lambda com o AWS S3 Storage Service.

Como acionar a AWS Lambda com S3?

As funções da AWS Lambda podem ser acionadas pelos eventos ou mudanças acontecendo no serviço de armazenamento S3 da AWS. Há uma opção chamada "Adicionar gatilho" no console da AWS Lambda para acionar as funções Lambda. Vamos começar o processo do zero para melhor entender.

Crie um balde S3

Faça login no console de gerenciamento da AWS e abra o serviço S3 da AWS:

O usuário pode criar um balde ou usar um existente. Para este post, criaremos um novo balde. Clique no botão "Criar balde" na primeira interface do console AWS S3:

Digite um nome globalmente único para o balde e selecione uma região da AWS:

Adicione outras configurações necessárias para criar um novo balde e clique em e depois selecione o botão "Criar balde":

Dessa forma, o balde foi criado e o balde recém -criado aparecerá na lista dos baldes existentes:

Crie uma função lambda

Em seguida, o usuário precisa abrir o console da AWS Lambda. Selecione o AWS Lambda nos Serviços:

Selecione a opção "Funções" no menu do lado esquerdo e clique no botão "Criar função" se não houver balde existente:

Adicione a configuração necessária para criar uma nova função Lambda. Para esta postagem, prosseguimos com a opção “Autor do zero”. Os usuários podem definir todas as configurações de acordo com sua escolha:

Nomeie a função Lambda e, em seguida, selecione um idioma de tempo de execução nas opções no menu suspenso, onde a função Lambda deve aparecer no AWS Lambda Console. Aqui, selecionamos “Python 3.9 ”:

Clique no botão "Criar função":

A função Lambda foi criada dessa maneira:

Adicione o gatilho

Agora, podemos levar à etapa principal, o que está adicionando o gatilho. A interface exibirá uma opção "Adicionar gatilho" logo após abrir os detalhes da função Lambda. Basta clicar na opção:

Como é necessário aqui para acionar a função Lambda usando o serviço S3 da AWS, procure o S3 na configuração do gatilho e selecione a opção:

Depois de selecionar um serviço para se conectar ao AWS Lambda, a interface exibe instantaneamente um formulário de configuração de acordo com o serviço selecionado. Por exemplo, ao selecionarmos o serviço "S3", as configurações solicitadas são o nome do balde, eventos de S3, prefixo, sufixo, etc.:

Selecione o balde S3 no menu suspenso e, em seguida, selecione um tipo de evento para especificar quais alterações no balde S3 selecionado deve acionar a função Lambda. Por exemplo, selecionamos “Todos os objetos criam eventos”. Isso significa que sempre que um objeto for adicionado ou removido, ele desencadeará a função Lambda:

O usuário também pode adicionar um prefixo e sufixo para limitar as notificações de objetos começando e terminando com as mesmas chaves. Para este post, estamos deixando como padrão. Clique no botão "Adicionar":

Isso exibirá o gatilho no AWS Lambda Console:

O usuário pode visualizar todos os detalhes do gatilho para revisar as configurações:

Nos detalhes da função Lambda, o gatilho S3 aparecerá, indicando que o gatilho foi adicionado com sucesso à função:

Trabalhando do gatilho S3

Para entender o funcionamento do gatilho "S3" e monitorar as alterações no balde S3 adicionado ao gatilho, role para baixo até a seção "Monitor" e selecione o "View CloudWatch Logs":

Atualmente, existe um registro presente nos logs do CloudWatch:

Para acionar a função, podemos fazer upload de um objeto para o balde S3. Para fazer isso, vá para o console S3 e abra os detalhes do balde S3 usado para acionar a função AWS Lambda e clique no botão "Upload":

Navegue um arquivo do sistema e envie -o no botão "Upload":

Os logs serão atualizados nos logs do CloudWatch e o número de fluxos de log muda instantaneamente de um para dois exibindo a atividade recente do balde S3:

Isso foi tudo sobre como acionar a função da AWS Lambda do serviço S3.

Conclusão

Um dos serviços usados ​​para acionar as funções da AWS Lambda é o serviço de armazenamento Amazon S3. As funções lambda podem ser acionadas facilmente através da opção "Adicionar gatilho" presente no console da AWS Lambda. Ao conectar o serviço S3 à função Lambda ao adicionar o gatilho, as funções podem ser invocadas em eventos S3 específicos, como fazer upload, edição ou exclusão de arquivos em baldes.