sam local invoke - 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á.

sam local invoke

Esta página fornece informações de referência para o AWS Serverless Application Model sam local invoke subcomando Command Line Interface (AWS SAMCLI).

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

nota

Para funções duráveis, sam local invoke suporta execução em estado com verificação e repetição automáticas. O contêiner permanece em execução durante a execução durável da função para lidar com a persistência e a retomada do estado.

Uso

$ sam local invoke <arguments> <options>
nota

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

Argumentos

Resource ID (ID do recurso)

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

Esse argumento é opcional. Se seu aplicativo contiver uma única função 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 SAMCLI em um contêiner do Docker no macOS, você pode especificar host.docker.internal. Se você quiser executar o contêiner em um host diferente AWS SAMCLI, 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 SAMCLI 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.

--durable-execution-name TEXT

Nome da execução durável (somente para funções duráveis)

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

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 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 registros 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, links simbólicos 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 chamada local, mesmo quando a memória está configurada no AWS SAM modelo.

--parameter-overrides

Uma string que contém substituições de CloudFormation parâmetros codificadas como pares de valores-chave. Use o mesmo formato do 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 as AWS credenciais.

--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 AWS SAM de configuração.

--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 o --hook-name.

nota

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

--tenant-id TEXT

O ID do locatário para funções Lambda de vários locatários. Usado para garantir o isolamento computacional entre diferentes inquilinos. Obrigatório ao invocar funções configuradas com o modo de isolamento do inquilino.

--terraform-plan-file

O caminho relativo ou absoluto para seu arquivo de Terraform plano local ao usar o AWS SAMCLI 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

O exemplo a seguir testa a função HelloWorldFunction com nome de execução durável

$ sam local invoke HelloWorldFunction --durable-execution-name my-execution