As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Primeiros passos: Crie um EventBridge cachimbo da Amazon
Para nos familiarizarmos com os tubos e seus recursos, usaremos um AWS CloudFormation modelo para configurar um EventBridge tubo e os componentes associados. Em seguida, podemos explorar várias características do tubo.
O modelo cria um EventBridge canal que conecta um stream de uma tabela do DynamoDB a uma fila do Amazon SQS. Sempre que um registro é criado ou modificado na tabela do banco de dados, o pipe envia o evento resultante para a fila.
O tubo implantado consiste em:
Uma tabela (e stream) do DynamoDB para atuar como origem do canal e uma fila do Amazon SQS como destino.
Uma função de execução que EventBridge concede as permissões necessárias para acessar a tabela do DynamoDB e a fila do Amazon SQS.
O canal em si, que contém um filtro de eventos que seleciona somente os eventos gerados quando um item da tabela é criado (inserido) ou modificado.
Para obter detalhes técnicos específicos do modelo, consulteDetalhes do modelo.
Criando o tubo usando AWS CloudFormation
Para criar o tubo e seus recursos associados, criaremos um CloudFormation modelo e o usaremos para criar uma pilha contendo um tubo de amostra, completo com origem e destino.
Importante
Você será cobrado pelos recursos da Amazon usados se criar uma pilha a partir desse modelo.
Criando o modelo
Primeiro, crie o CloudFormation modelo.
Na Modelo seção, clique no ícone de cópia na guia JSON ou YAML para copiar o conteúdo do modelo.
Cole o conteúdo do modelo em um novo arquivo.
Salve o arquivo localmente.
Criação da pilha do
Em seguida, use o modelo que você salvou para provisionar uma CloudFormation pilha.
Abra o AWS CloudFormation console.
Na página Pilhas, no menu Criar pilha, escolha com novos recursos (padrão).
Especifique o modelo:
Em Pré-requisito, escolha Escolher um modelo existente.
Em Especificar modelo, escolha Fazer upload de um arquivo de modelo.
Escolha Escolher arquivo, navegue até o arquivo de modelo e escolha-o.
Escolha Próximo.
Especifique os detalhes da pilha:
Insira o nome da pilha.
Para parâmetros, aceite os valores padrão ou insira seus próprios.
Escolha Próximo.
Configure as opções da pilha:
Em Opções de falha de pilha, escolha Excluir todos os recursos recém-criados.
nota
A escolha dessa opção evita que você seja cobrado por recursos cuja política de exclusão especifica que eles sejam retidos mesmo que a criação da pilha falhe. Para obter mais informações, consulte o
DeletionPolicy
atributo no Guia AWS CloudFormation do usuário.Aceite todos os outros valores padrão.
Em Capacidades, marque a caixa para reconhecer que isso CloudFormation pode criar recursos do IAM em sua conta.
Escolha Próximo.
Revise os detalhes da pilha e escolha Enviar.
AWS CloudFormation cria a pilha. Quando a criação da pilha estiver concluída, os recursos da pilha estarão prontos para uso. Você pode usar a guia Recursos na página de detalhes da pilha para visualizar os recursos que foram provisionados em sua conta.
Explorando as capacidades dos tubos
Depois que o tubo for criado, você poderá usar o EventBridge console para observar a operação do tubo e testar a entrega do evento.
Abra o EventBridge console em https://console.aws.amazon.com/events/casa? #/tubos
. -
Escolha o tubo que você criou.
Na página de detalhes do tubo, a seção Componentes do tubo exibe os recursos que compõem o tubo e contém guias que fornecem mais detalhes sobre cada componente.
Você pode encontrar a função de execução que criamos para o pipe na guia Configurações, na seção Permissões.
Examinando o filtro de tubulação
Antes de testarmos a operação do tubo, vamos examinar o filtro que especificamos para controlar quais eventos são enviados ao destino. O pipe enviará somente eventos que correspondam aos critérios do filtro para o destino; todos os outros serão descartados. Nesse caso, só queremos que os eventos gerados quando as entradas da tabela são criadas ou modificadas sejam enviadas para a fila do Amazon SQS.
Na página de detalhes da tubulação, em Componentes da tubulação, escolha a guia Filtragem.
Incluímos um filtro que seleciona somente eventos em que o
eventName
está definido comoINSERT
ouMODIFY
.{ "eventName": ["INSERT", "MODIFY"] }
Enviando eventos pelo tubo
Em seguida, geraremos eventos na fonte do tubo para testar se a filtragem e a entrega do tubo estão funcionando corretamente. Para fazer isso, criaremos e editaremos um item na tabela do DynamoDB que especificamos como fonte do pipe.
Na página de detalhes da tubulação, em Componentes da tubulação, escolha a guia Fonte.
Em Origem, escolha o nome do stream do DynamoDB.
Isso abre o console do DynamoDB em uma janela separada, com os detalhes da tabela de origem exibidos.
Escolha Explore table items (Explorar itens da tabela).
-
Gere um
INSERT
evento criando um item na tabela:Selecione Create Item (Criar item).
Adicione valores para os atributos Álbum e Artista.
Selecione Create Item (Criar item).
Gere um
INSERT
eventoDELETE
e um editando o item:Escolha o item na lista e, no menu Ações, escolha Editar item.
Insira um novo valor para o atributo Álbum ou Artista.
Marque a caixa que confirma que você está alterando o valor das chaves do item e escolha Recriar item.
Isso resulta na exclusão e recriação do item, gerando um
DELETE
evento e, em seguida, um novoINSERT
evento.
Gere um
MODIFY
evento adicionando um atributo ao item:Escolha o item na lista e, no menu Ações, escolha Editar item.
No menu Adicionar novo atributo, escolha Número.
Para o nome do atributo, insira Ano e, em seguida, insira um valor para o atributo. Escolha Save and close.
Confirmando a entrega do evento pela tubulação
Por fim, confirmaremos que o canal filtrou e entregou com sucesso os eventos que geramos ao criar e editar o item da tabela no DynamoDB.
Na página de detalhes do tubo, em Componentes do tubo, escolha a guia Destino.
Em Target, escolha o nome da fila do Amazon SQS.
Isso abre o console do Amazon SQS em uma janela separada, com os detalhes da fila de destino exibidos.
Escolha Enviar e receber mensagens.
Em Receber mensagens, escolha Sondar mensagens.
O Amazon SQS carrega as mensagens recebidas na fila. Clique em uma mensagem individual para ver seus detalhes.
Deve haver três mensagens de eventos na fila:
Dois do tipo
INSERT
, um gerado quando você criou o item da tabela pela primeira vez e o outro gerado quando você recriou o item alterando um valor-chave.Um do tipo
MODIFY
, gerado quando você adiciona um atributo ao item da tabela.
Observe que não há uma mensagem de evento do tipo
DELETE
na fila, mesmo que uma tenha sido gerada quando você excluiu e recriou o item da tabela alterando um valor de chave. O filtro de tubulação que especificamos apenas seleciona emINSERT
eMODIFY
, portanto, o canal filtrou oDELETE
evento em vez de entregá-lo à fila.
Limpeza: excluindo recursos
Como etapa final, excluiremos a pilha e os recursos que ela contém.
Importante
Você será cobrado pelos recursos da Amazon contidos na pilha enquanto ela existir.
Abra o AWS CloudFormation console.
-
Na página Pilhas, escolha a pilha criada a partir do modelo, escolha Excluir e confirme Excluir.
CloudFormation inicia a exclusão da pilha e de todos os recursos que ela inclui.
CloudFormation detalhes do modelo
Esse modelo cria recursos e concede permissões em sua conta.
Recursos
O AWS CloudFormation modelo deste tutorial criará os seguintes recursos em sua conta:
Importante
Você será cobrado pelos recursos da Amazon usados se criar uma pilha a partir desse modelo.
AWS::DynamoDB::Table
: uma tabela do DynamoDB que atua como fonte de eventos para o canal.AWS::SQS::Queue
: uma fila do Amazon SQS que atua como destino para os eventos que fluem pelo canal.AWS::IAM::Role
: uma função de execução do IAM que concede permissões ao serviço EventBridge Pipes em sua conta.AWS::Pipes::Pipe
: o canal que conecta a tabela do DynamoDB à fila do Amazon SQS.
Permissões
O modelo inclui um AWS::IAM::Role
recurso que representa uma função de execução. Essa função concede ao serviço EventBridge Pipes (pipes.amazonaws.com
) as seguintes permissões em sua conta.
As permissões a seguir têm como escopo a tabela do DynamoDB e transmitem o modelo criado como fonte do evento para o canal:
dynamodb:DescribeStream
dynamodb:GetRecords
dynamodb:GetShardIterator
dynamodb:ListStreams
A permissão a seguir tem como escopo a fila do Amazon SQS que a pilha cria como destino do canal:
sqs:SendMessage
CloudFormation modelo
Salve o código JSON ou YAML a seguir como um arquivo separado para usar como CloudFormation modelo neste tutorial.