sam local invoke - AWS Serverless Application Model

sam local invoke

Esta página fornece informações de referência para o subcomando Interface da Linha de Comando (AWS SAM CLI) sam local invoke do AWS Serverless Application Model.

O subcomando sam local invoke inicia uma invocação única de uma função localmente AWS Lambda.

Uso

$ sam local invoke <arguments> <options>
nota

Se você tiver mais de uma função definida em seu modelo AWS SAM, forneça a ID lógica da função que você deseja invocar.

Argumentos

ID do recurso

O ID da função do Lambda a ser invocada.

Esse argumento é opcional. Se seu aplicativo contiver uma única função do Lambda, a AWS SAM CLI a invocará. Se seu aplicativo contiver várias funções, forneça o ID da função a ser invocada.

Valores válidos: o ID lógico do recurso ou o ARN do recurso.

Opções

--add-host LIST

Passa um nome de host para mapeamento de endereço IP para o arquivo host do contêiner do Docker. Esse parâmetro pode ser passado várias vezes.

Exemplo: --add-host example.com:127.0.0.1

--beta-features | --no-beta-features

Permita ou negue recursos beta.

--config-env TEXT

O nome do ambiente que especifica os valores de parâmetros padrão no arquivo de configuração a serem usados. O valor padrão é “padrão”. Para obter mais informações sobre esses arquivos de configuração, consulte Arquivo de configuração do AWS SAM CLI.

--config-file PATH

O caminho e o nome do arquivo de configuração contendo valores de parâmetros padrão a serem usados. O valor padrão é “samconfig.toml“ na raiz do diretório do projeto. Para obter mais informações sobre esses arquivos de configuração, consulte Arquivo de configuração do AWS SAM CLI.

--container-env-vars

(Opcional) Passe variáveis de ambiente para o contêiner de imagem da função do Lambda ao depurar localmente.

--container-host TEXT

Host do contêiner Lambda emulado localmente. O valor padrão é localhost. Se você quiser executar AWS SAM CLI em um contêiner do Docker no macOS, você pode especificar host.docker.internal. Se quiser executar o contêiner em um host diferente AWS SAM CLI, você pode especificar o endereço IP do host remoto.

--container-host-interface TEXT

O endereço IP da interface de rede do host à qual as portas do contêiner devem se vincular. O valor padrão é 127.0.0.1. Use 0.0.0.0 para vincular a todas as interfaces.

--debug

Ativa o registro de depuração para imprimir mensagens de depuração que o AWS SAM CLI gera e para exibir timestamps.

--debug-args TEXT

Argumentos adicionais a serem transmitidos para o depurador.

--debug-port, -d TEXT

Quando especificado, inicia o contêiner da função do Lambda no modo de depuração e expõe essa porta no host local.

--debugger-path TEXT

O caminho do host para um depurador montado no contêiner Lambda.

--docker-network TEXT

Especifica o nome ou ID de uma rede Docker existente à qual os contêineres do Docker do Lambda devem se conectar, juntamente com a rede de ponte padrão. Se não for especificado, os contêineres do Lambda se conectarão somente à rede de Docker de ponte padrão.

--docker-volume-basedir, -v TEXT

A localização do diretório base em que o AWS SAM arquivo existe. Se o Docker estiver sendo executado em uma máquina remota, você deverá montar o caminho em que o AWS SAM arquivo existe na máquina Docker e modificar esse valor para corresponder à máquina remota.

--env-vars, -n PATH

O arquivo JSON que contém valores para as variáveis de ambiente da função do Lambda. Para obter mais informações sobre variáveis de ambiente, consulte Arquivo de variável de ambiente.

--event, -e PATH

O arquivo JSON que contém dados de eventos que são passados para a função do Lambda quando ela é invocada. Se você não especificar essa opção, nenhum evento será assumido. Para inserir JSON destdin, você deve passar o valor '-'. Para obter detalhes sobre formatos de mensagens de eventos de diferentes AWS serviços, consulte Como trabalhar com outros serviços no Guia do AWS Lambda desenvolvedor.

--force-image-build

Especifica se o AWS SAM CLI deve reconstruir a imagem usada para invocar função do Lambda com camadas.

--help

Mostra esta mensagem e sai.

--hook-name TEXT

O nome do hook usado para estender a funcionalidade AWS SAM CLI.

Valores aceitos: terraform.

--invoke-image TEXT

O URI da imagem do contêiner que você deseja usar para a invocação da função local. Por padrão, o AWS SAM extrai a imagem de contêiner do Amazon ECR Public (que está listada em Repositórios de imagens para o AWS SAM). Use essa opção para extrair a imagem de outro localização.

Por exemplo, sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8.

--layer-cache-basedir DIRECTORY

Especifica a localização do diretório base onde as camadas que seu modelo usa são baixadas.

--log-file, -l TEXT

O arquivo de log para o qual enviar os logs de runtime.

Garante que a CLI do AWS SAM sempre monte symlinks que estão presentes nos arquivos a serem criados ou invocados. Isso se aplica somente aos symlinks no diretório de nível superior (ou seja, lsymlinks que estão diretamente na raiz da função). Por padrão, os symlinks não são montados, exceto aqueles necessários para usar o build-in-source no node_modules no NodeJS.

--no-event

Invoca a função com um evento vazio.

--no-memory-limit

Remove a limitação de memória no contêiner durante a invocação local, mesmo quando a memória está configurada no modelo do AWS SAM.

--parameter-overrides

Uma sequência que contém substituições de parâmetros CloudFormation codificados como pares chave-valor. Use o mesmo formato de AWS Command Line Interface (AWS CLI). O formato da CLI do AWS SAM é uma palavra-chave explícita de chave e valor e cada substituição é separada por um espaço. Veja dois exemplos a seguir:

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--profile TEXT

O perfil específico do seu arquivo de credenciais que obtém credenciais da AWS.

--region TEXT

A AWS região para a qual implantar. Por exemplo, us-east-1.

--runtime TEXT

Usa o runtime especificado para invocar uma função do Lambda localmente. Isso substitui o runtime definido no arquivo template.yml. Isso também permite testar as funções do Lambda com diferentes tempos de execução sem modificar a configuração original da função.

--save-params

Salve os parâmetros fornecidos na linha de comando no arquivo de configuração AWS SAM.

--shutdown

Emula um evento de desligamento após a conclusão da invocação, a fim de testar o tratamento da extensão sobre o comportamento de desligamento.

--skip-prepare-infra

Ignora a fase de preparação se nenhuma alteração na infraestrutura tiver sido feita. Execute com a opção --hook-name.

--skip-pull-image

Por padrão, ele AWS SAMCLI verifica o ambiente de runtime remoto mais recente do Lambda e atualiza sua imagem local automaticamente para se manter sincronizada.

Especifique essa opção para pular a remoção da Docker imagem mais recente para seu ambiente de runtime do Lambda.

--template, -t PATH

O arquivo AWS SAM de modelo.

Essa opção não é compatível com --hook-name.

nota

Se você especificar essa opção, AWS SAM carrega somente o modelo e os recursos locais para os quais ele aponta.

--terraform-plan-file

O caminho relativo ou absoluto para seu arquivo de Terraform plano local ao usar o AWS SAM CLI com Terraform Cloud. Essa opção exige que --hook-name seja definida como terraform.

Exemplos

O exemplo a seguir usa um evento gerado para testes locais usando um evento s3.json para invocar uma função do Lambda localmente

$ sam local invoke --event events/s3.json S3JsonLoggerFunction

O exemplo a seguir testa a função HelloWorldFunction usando o runtime do Python 3.11

$ sam local invoke --runtime python3.11 HelloWorldFunction