Olá a todos e bem-vindos de volta.
Agora, no vídeo de hoje, falaremos sobre os fluxos do Dynamo DB.
Agora, em uma visão geral de alto nível, o Dynamo, que transmite, captura a sequência ordenada por tempo da
modificação no nível do item em qualquer tabela do Dynamo DB e armazena as informações em um log por até 24 horas.
Por exemplo, neste diagrama, você vê que o cliente está executando várias operações relacionadas à
adição, à exclusão e assim por diante no Dynamo DB.
Portanto, o Dynamo DB armazena todas essas informações em um arquivo de log específico por meio do qual o usuário pode identificar
o registro exato.
Até mesmo a necessidade de registro e outros detalhes serão registrados como parte dos fluxos do Dynamo DB.
E é isso que o segundo ponto afirma onde o aplicativo pode acessar esse arquivo de log para visualizar os
itens como eles apareceram antes e depois de serem modificados em tempo real.
E isso é um grande benefício não apenas em termos de segurança de auditoria, mas também em termos de reconstrução
de toda a tabela.
Agora, neste slide, adicionei uma captura de tela relacionada à aparência de um log.
Agora, se você olhar para este arquivo de log específico no Cloud Watch, você tem uma remoção e as chaves
no caso de você ter um ID de usuário e você tem zero um e você também tem algo chamado esta imagem antiga
e no nome do curso você tem o curso de certificação E.
Portanto, ele fornecerá grandes detalhes sobre qual é o registro antigo que foi removido, qual é o novo registro
que foi adicionado e assim por diante.
Então vamos fazer uma coisa.
Vamos em frente e experimentá-lo de forma prática.
Então, vou procurar Dynamo DB E aqui vamos em frente e rapidamente criar uma nova tabela.
Vou chamá-lo apenas como dados de sublinhado do usuário, a chave de partição, vamos colocá-lo como ID do usuário e vamos em frente
e criar uma tabela.
Portanto, o status está criando.
Se eu atualizar rapidamente, o status agora está ativo.
Agora vamos rapidamente para uma tabela aqui e aqui você tem exportações e fluxos.
Dentro dessa guia, você tem streams do Dynamo DB.
Vamos em frente e habilitá-lo.
Agora, ao habilitá-lo no tipo de visualização, você tem várias coisas como nova imagem, imagem antiga, imagem nova
e antiga.
Então, basicamente, dependendo do que você deseja gravar, se deseja apenas gravar as coisas novas que estão
sendo adicionadas ao Dynamo.
DB você deseja gravar as imagens novas e antigas e assim por diante.
Então, selecionarei as imagens novas e antigas que indicam a imagem nova e a antiga do item de alteração.
Então isso é interessante.
Vamos em frente e usar isso e também clicarei em Enable Stream.
Então, se descermos um pouco, você verá que nosso fluxo de TV do Dynamo está ativado e também está nos fornecendo
o URL associado a ele.
Agora, o que faremos será integrar esse dynamo DB com a função lambda, e essa função lambda enviará
os logs associados ao fluxo do Dynamo DB para o Cloud Watch Log Service.
Portanto, antes de fazermos isso, vamos ter rapidamente uma arquitetura baseada em casos de uso de exemplo, que fornece
uma visão geral de como o Lambda pode ser útil aqui.
Então, digamos que você tenha uma tabela do Dynamo DB aqui e nesta etapa um novo item foi adicionado
à tabela do Dynamo DB.
Agora, como os fluxos do Dynamo DB estão habilitados, os dados relacionados a esse novo item seriam adicionados como parte
do fluxo do Dynamo DB.
Agora, assim que um novo registro for adicionado ao fluxo do Dynamo DB, isso acionará uma função
lambda que foi criada, e essa função lambda será integrada ao tópico SNS e esse tópico SNS seguirá em
frente e enviará um e-mail ou talvez um SMS informando que há um novo item adicionado à tabela
do Dynamo DB.
Portanto, este é um dos casos de uso em que a função lambda se mostra útil.
Lambda pode ser usado para outros usos.
Casos como esse podem recuperar os dados dos fluxos do Dynamo DB e adicioná-los aos logs de observação na nuvem e você pode visualizá-los
diretamente nos logs de observação na nuvem.
Tudo bem.
Então, com este conjunto básico, vamos em frente e rapidamente criar uma função lambda.
Agora, a partir daqui, vamos abrir rapidamente o lambda.
Tudo bem.
Agora, dentro do console do Lambda, vamos criar rapidamente uma função e usaremos um
blueprint aqui e vamos procurar o Dynamo.
DB E você tem o Dynamo DB Process Stream Python.
Então eu vou selecionar isso.
Vamos clicar em configurar, vamos dar um nome de função, direi Dynamo Stream to Cloud Watch e essa função lambda específica que estamos criando,
ela precisa de acesso a esse stream do Dynamo DB e também precisa de acesso ao serviço de
log de observação na nuvem.
Portanto, o que faremos criará rapidamente uma nova função do IAM que permitirá que nossa função Lambda execute essas
operações.
Agora, no console do IEM, vamos rapidamente às regras.
Vamos criar uma nova regra.
Esta regra será para Lambda.
Vamos fazer um próximo a permissão apenas para simplificar.
Digamos acesso total ao Dynamo DB.
Vamos procurar uma nuvem que dará acesso total ao nosso relógio de nuvem apenas para simplificar.
Vamos fazer um próximo nome do rolo.
Você pode apenas dizer função lambda para o Dynamo DB e, atualmente,
há duas políticas associadas.
Vamos em frente e criar um papel.
Tudo bem.
Então nosso papel está criado.
Vamos voltar para lambda.
Dentro do lambda, irei em frente e selecionarei uma função existente aqui.
E dentro de você você deve ver nosso papel lambda para o Dynamo.
DB Vamos descer um pouco no gatilho do Dynamo DB.
Você pode ir em frente e selecionar a tabela Dynamo DB, que neste caso é a posição inicial dos dados do usuário.
Você pode simplesmente alterá-lo para o horizonte dos sonhos.
Vamos descer um pouco.
Vamos criar uma função.
Tudo bem.
Então quando um trigger é criado, basta verificar também se ele está no estado habilitado ou não.
Portanto, a partir de agora, está nos dando esta nota informando que o gatilho configurado dos dados de sublinhado do usuário está
no estado desabilitado.
Portanto, não o queremos realmente no estado desativado.
Então, o que faremos irá adiante e o habilitará.
Excelente.
Então, uma vez que isso é ativado, estamos configurados.
Tudo o que precisamos fazer é ir em frente e testar as coisas.
Então, vamos adicionar alguns itens à nossa tabela do Dynamo DB.
Então eu vou para as ações.
Clico em Create Item, digamos zero um, adiciono um novo atributo de string, digamos nome de Ellis,
e adiciono mais um atributo.
Digamos interesse e interesse.
Eu vou dizer viajando, tudo bem.
E eu vou criar um item.
Então, se você explorar os itens da mesa aqui, verá que nosso item está pronto.
Agora vamos em frente e também modificar isso.
Vou em frente e editar o item.
Digamos que Alice tenha interesse em viajar para astronomia, então eu mudei.
Clico em Salvar alterações e com base nisso, nosso lambda deve ter sido acionado.
Agora, se você abrir rapidamente a tabela mais uma vez, vamos exportar os fluxos de sinais.
Na seção de gatilho, você verá que nossa função lambda está aparecendo, o estado está habilitado e o resultado do
último processo está correto.
Então, a próxima parte é ir para a nuvem, observar o serviço de log para verificar se o Lambda adicionou os detalhes
ou não.
Então, vou procurar por cloud watch e aqui irei rapidamente para grupos de log e aqui você verá um grupo
de log relacionado ao lambda e o nome é Dynamo.
Transmissão ao vivo para o Cloud Watch.
Vamos abrir isso.
Você tem um fluxo de log.
Vamos abrir isso e você tem todos os detalhes necessários.
Vamos olhar para isso do zero.
Na verdade, deixe-me ampliar um pouco para que seja mais fácil de ler.
Agora na primeira etapa você tem um registro de inserção, o ID do usuário chave e você tem zero um e a nova imagem
com o interesse está viajando.
Isso é algo que já sabemos e o nome era Alice, então essa foi uma parte.
Então você tem o pedido final aqui e então você tem um novo conjunto de pedidos.
Dessa vez foi um pedido de modificação e o que foi modificado aqui, o interesse foi modificado e
foi a astronomia.
E também está mostrando a imagem antiga.
E qual era a imagem antiga?
A imagem antiga estava passando por aqui e então o pedido foi encerrado.
Excelente.
Espero que você tenha entendido o básico do que o Dynamo Stream nos permite fazer.
Portanto, antes de concluirmos, vamos analisar rapidamente alguns dos casos de uso em que o Dynamo Live Stream
pode ser útil.
A primeira é que permite configurar o relacionamento entre várias tabelas nas quais, com base no valor
de um item de uma tabela, você pode atualizar o item na segunda tabela.
Novamente, isso é algo que você pode conseguir usando lambda.
A segunda é que você pode acionar um evento com base em uma alteração de item específica.
Isso é muito semelhante ao caso de uso que estávamos discutindo usando o Dynamo DB, Lambda e talvez Psns
ou qualquer outro serviço pode ser usado.
Terceiro, você pode auditar ou até mesmo arquivar os dados e também pode ser usado para replicar os dados em
várias tabelas.
Então essa é a visão geral de alto nível e com isso concluiremos o vídeo de hoje.