Introdução aos testes em nuvem com sam remote test-event - AWS Serverless Application Model

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

Introdução aos testes em nuvem com sam remote test-event

Use o comando Command Line Interface AWS Serverless Application Model (AWS SAMCLI) sam remote test-event para acessar e gerenciar eventos de teste compartilháveis para suas funções AWS Lambda.

Para saber mais sobre eventos de teste compartilháveis, consulte Eventos de teste compartilháveis no Guia do desenvolvedor do AWS Lambda.

Para usar o sam remote test-event, instale o AWS SAM CLI fazendo o seguinte:

Se você já tem o AWS SAM CLI instalado, recomendamos atualizar para a versão mais recente da versão AWS SAM CLI. Para saber mais, consulte Atualizar o AWS SAM CLI.

Antes de usar sam remote test-event, recomendamos uma compreensão básica do seguinte:

Configure a AWS SAM CLI para usar o sam remote test-event

Conclua as seguintes etapas para configurar o uso do comando AWS SAM CLI sam remote test-event:

  1. Configure o AWS SAM CLI para usar seu Conta da AWS – Os eventos de teste compartilháveis do Lambda podem ser acessados e gerenciados por usuários dentro do mesmo Conta da AWS. Para configurar o AWS SAM CLI para usar seu Conta da AWS, consulte Configurando o AWS SAM CLI

  2. Configurar permissões para eventos de teste compartilháveis – Para acessar e gerenciar eventos de teste compartilháveis, você deve ter as permissões adequadas. Para saber mais, consulte Eventos de teste compartilháveis no Guia do desenvolvedor do AWS Lambda.

Usar o comando sam remote test-event

O comando AWS SAM CLI sam remote test-event fornece os seguintes subcomandos que você pode usar para acessar e gerenciar seus eventos de teste compartilháveis:

  • delete – Exclua um evento de teste compartilhável do registro do esquema do Amazon EventBridge.

  • get – Obtenha um evento de teste compartilhável do registro do esquema do EventBridge.

  • list – Liste os eventos de teste compartilháveis existentes para uma função do registro do esquema do EventBridge.

  • put – Salve um evento de um arquivo local no registro do esquema do EventBridge.

Para listar esses subcomandos usando o AWS SAM CLI, execute o seguinte:

$ sam remote test-event --help

Excluindo eventos de teste compartilháveis

Você pode excluir um evento de teste compartilhável usando o subcomando delete junto com o seguinte:

  • Forneça o nome do evento compartilhável de teste a ser excluído.

  • Forneça uma identificação aceitável da função do Lambda associada ao evento.

  • Se você estiver fornecendo o ID lógico da função do Lambda, também deverá fornecer o nome da pilha AWS CloudFormation associado à função do Lambda.

Veja um exemplo a seguir:

$ sam remote test-event delete HelloWorldFunction --stack-name sam-app --name demo-event

Para obter uma lista de opções a serem usadas com o subcomando delete, consulte sam remote test-event delete. Você também pode executar as seguintes atividades no AWS SAM CLI:

$ sam remote test-event delete --help

Obtendo eventos de teste compartilháveis

Você pode obter um evento de teste compartilhável do registro do esquema do EventBridge usando o subcomando get junto com o seguinte:

  • Forneça o nome do evento de teste compartilhável a ser obtido.

  • Forneça uma identificação aceitável da função do Lambda associada ao evento.

  • Se você estiver fornecendo o ID lógico da função do Lambda, também deverá fornecer o nome da pilha AWS CloudFormation associado à função do Lambda.

Veja a seguir um exemplo que obtém um evento de teste compartilhável chamado demo-event associado à função do Lambda HelloWorldFunction da pilha sam-app. Esse comando imprimirá o evento em seu console.

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event

Para obter um evento de teste compartilhável e salvá-lo em sua máquina local, use a opção --output-file e forneça um nome e um caminho de arquivo. Veja a seguir um exemplo que salva demo-event como demo-event.json no diretório de trabalho atual:

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json

Para obter uma lista de opções a serem usadas com o subcomando get, consulte sam remote test-event get. Você também pode executar as seguintes atividades no AWS SAM CLI:

$ sam remote test-event get --help

Listando eventos de teste compartilháveis

Você pode listar todos os eventos de teste compartilháveis para uma função do Lambda específica no registro do esquema. Use o subcomando list junto com o seguinte:

  • Forneça um ID aceitável da função do Lambda associada aos eventos.

  • Se você estiver fornecendo o ID lógico da função do Lambda, também deverá fornecer o nome da pilha CloudFormation associado à função do Lambda.

Veja a seguir um exemplo que obtém uma lista de todos os eventos de teste compartilháveis associados à função do Lambda HelloWorldFunction da pilha sam-app:

$ sam remote test-event list HelloWorldFunction --stack-name sam-app

Para obter uma lista de opções a serem usadas com o subcomando list, consulte sam remote test-event list. Você também pode executar as seguintes atividades no AWS SAM CLI:

$ sam remote test-event list --help

Salvando eventos de teste compartilháveis

Você pode salvar eventos de teste compartilháveis no registro do esquema do EventBridge. Use o subcomando put junto com o seguinte:

  • Forneça uma ID aceitável da função do Lambda associada ao evento de teste compartilhável.

  • Forneça um nome para o evento compartilhável de teste.

  • Forneça o caminho e o nome do arquivo para o evento local a ser carregado.

Veja a seguir um exemplo que salva o evento local demo-event.json como demo-event e o associa à função do Lambda HelloWorldFunction da pilha sam-app:

$ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json

Se existir um evento de teste compartilhável com o mesmo nome no registro do esquema do EventBridge, o AWS SAM CLI não o substituirá. Para sobrescrever, adicione a opção --force ao seu comando.

Para obter uma lista de opções a serem usadas com o subcomando put, consulte sam remote test-event put. Você também pode executar as seguintes atividades no AWS SAM CLI:

$ sam remote test-event put --help

Usando eventos de teste compartilháveis

Use eventos de teste compartilháveis para testar suas funções do Lambda no Nuvem AWS com o comando sam remote invoke. Para saber mais, consulte Transmita eventos de teste compartilháveis para uma função do Lambda na nuvem.

Usando eventos de teste compartilháveis

Este tópico contém exemplos de como você pode gerenciar e usar eventos de teste compartilháveis.

Obtenha um evento de teste compartilhável, modifique-o e use-o

Você pode obter um evento de teste compartilhável do registro do esquema do EventBridge, modificá-lo localmente e usar o evento de teste local com sua função do Lambda no Nuvem AWS. Veja um exemplo a seguir:

  1. Recupere o evento de teste compartilhável – Use o subcomando sam remote test-event get para recuperar um evento de teste compartilhável para uma função do Lambda específica e salvá-lo localmente:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Modificar o evento de teste compartilhável – Use um editor de texto de sua escolha para modificar o evento de teste compartilhável.

  3. Use o evento de teste compartilhável – Use o comando sam remote invoke e forneça o caminho do arquivo e o nome do evento com --event-file:

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json

Obtenha um evento de teste compartilhável, modifique-o, carregue-o e use-o

Você pode obter um evento de teste compartilhável do registro do esquema do EventBridge, modificá-lo localmente e carregá-lo. Em seguida, você pode passar o evento de teste compartilhável diretamente para sua função do Lambda no Nuvem AWS. Veja um exemplo a seguir:

  1. Recupere o evento de teste compartilhável – Use o subcomando sam remote test-event get para recuperar um evento de teste compartilhável para uma função do Lambda específica e salvá-lo localmente:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Modificar o evento de teste compartilhável – Use um editor de texto de sua escolha para modificar o evento de teste compartilhável.

  3. Carregar o evento de teste compartilhável – Use o subcomando sam remote test-event put para carregar e salvar o evento de teste compartilhável no registro do esquema do EventBridge. Neste exemplo, usamos a opção --force de sobrescrever uma versão mais antiga do nosso teste compartilhável:

    $ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json --force
  4. Passe o evento de teste compartilhável para sua função do Lambda – Use o comando sam remote invoke para passar o evento de teste compartilhável diretamente para sua função do Lambda no Nuvem AWS:

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event