sam build - 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 build

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

O comando sam build prepara um aplicativo para as etapas subsequentes do fluxo de trabalho de desenvolvimento, como testes locais ou implantação no Nuvem AWS.

Uso

$ sam build <arguments> <options>

Argumentos

ID do recurso

Opcional. Instrui AWS SAM a criar um único recurso declarado em um AWS SAM modelo. Os artefatos de construção do recurso especificado serão os únicos disponíveis para comandos subsequentes no fluxo de trabalho, ou seja, sam package e sam deploy.

Opções

--base-dir, -s DIRECTORY

Resolve caminhos relativos para o código-fonte da função ou da camada em relação a esse diretório. Use essa opção se quiser alterar a forma como os caminhos relativos às pastas de código-fonte são resolvidos. Por padrão, os caminhos relativos são resolvidos com relação à localização do modelo AWS SAM .

Além dos recursos no aplicativo raiz ou na pilha que você está criando, essa opção também aplica aplicativos ou pilhas aninhados.

Essa opção se aplica aos seguintes tipos e propriedades de recursos:

  • Tipo de recursos: AWS::Serverless::Function Propriedade: CodeUri

  • Tipo de recurso: AWS::Serverless::Function Atributo do recurso: Metadata Entrada: DockerContext

  • Tipo de recursos: AWS::Serverless::LayerVersion Propriedade: ContentUri

  • Tipo de recursos: AWS::Lambda::Function Propriedade: Code

  • Tipo de recursos: AWS::Lambda::LayerVersion Propriedade: Content

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

Permita ou negue recursos beta.

--build-dir, -b DIRECTORY

O caminho para um diretório onde os artefatos criados são armazenados. Esse diretório e todo o seu conteúdo são removidos com essa opção.

--build-image TEXT

O URI da imagem de contêiner que você deseja extrair para a compilação. Por padrão, o AWS SAM extrai a imagem de contêiner do Amazon ECR Public. Use essa opção para extrair a imagem de outro localização.

Especifique essa opção várias vezes. Cada instância dessa opção pode ter uma string ou um par de valores-chave. Se você especificar uma string, ela será a URI da imagem do contêiner a ser usada para todos os recursos do seu aplicativo. Por exemplo, sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8. Se você especificar um par de valores-chave, a chave será o nome do recurso e o valor será o URI da imagem do contêiner a ser usada para esse recurso. Por exemplo sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8. Com pares de valores-chave, você pode especificar imagens de contêiner diferentes para recursos diferentes.

Essa opção só se aplica se a opção --use-container for especificada, caso contrário, ocorrerá um erro.

--build-in-source | --no-build-in-source

Providencie --build-in-source para criar seu projeto diretamente na pasta de origem.

A opção --build-in-source oferece suporte aos seguintes runtimes e métodos de compilação:

  • Runtimes — Qualquer runtime Node.js suportado pela opção sam init --runtime.

  • Métodos de compilaçãoMakefile, esbuild.

A opção --build-in-source não é compatível com as seguintes opções:

  • --hook-name

  • --use-container

Padrão: --no-build-in-source

--cached | --no-cached

Habilite ou desabilite as compilações em cache. Use essa opção para reutilizar artefatos de construção que não foram alterados em relação às compilações anteriores. AWS SAM avalia se você alterou algum arquivo no diretório do projeto. Por padrão, as compilações não são armazenadas em cache. Se a opção --no-cached for invocada, ela substituirá a configuração cached = true em samcofig.toml.

nota

O AWS SAM não avalia se você alterou os módulos de terceiros dos quais seu projeto depende, nos quais você não forneceu uma versão específica. Por exemplo, se sua função Python incluir um requirements.txt arquivo com a entrada requests=1.x e a versão mais recente do módulo de solicitação mudar de 1.1 para1.2, AWS SAM não extrairá a versão mais recente até que você execute uma compilação sem cache.

--cache-dir

O diretório em que os artefatos do cache são armazenados quando --cached é especificado. O diretório padrão do cache é .aws-sam/cache.

--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-var, -e TEXT

Passe as variáveis de ambiente para um contêiner de build. Especifique essa opção várias vezes. Cada instância dessa opção usa um par de valores-chave, em que a chave é a variável de recurso e ambiente, e o valor é o valor da variável de ambiente. Por exemplo: --container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.

Essa opção só se aplica se a opção --use-container for especificada, caso contrário, ocorrerá um erro.

--container-env-var-file, -ef PATH

O caminho e o nome do arquivo JSON que contém valores para as variáveis de ambiente do contêiner. Para obter mais informações sobre arquivos variáveis de ambiente do contêiner, consulte As variáveis de ambiente do contêiner.

Essa opção só se aplica se a opção --use-container for especificada, caso contrário, ocorrerá um erro.

--debug

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

--docker-network TEXT

Especifica o nome ou ID de uma rede Docker existente à qual os contêineres do Docker 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 Docker da ponte padrão.

--exclude, -x

O nome do (s) recurso (s) a ser excluído do sam build. Por exemplo, se seu modelo contiver Function1, Function2 e Function3 e você executar sam build --exclude Function2, somente Function1 e Function3 será criado.

--help

Mostra esta mensagem e sai.

--hook-name TEXT

O nome do gancho usado para estender a funcionalidade AWS SAMCLI.

Valores aceitos: terraform.

--manifest , -m PATH

O caminho para um arquivo de manifesto de dependência personalizado (por exemplo, package.json) a ser usado em vez do padrão.

--parallel

Construções paralelas habilitadas. Use essa opção para criar as funções e camadas do seu AWS SAM modelo em paralelo. Por padrão, as funções e camadas são criadas em sequência.

--parameter-overrides

(Opcional) Uma string que contém substituições de AWS CloudFormation parâmetros codificadas como pares de valores-chave. Usa o mesmo formato do AWS Command Line Interface (AWS CLI). Por exemplo: 'ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro'. Essa opção não é compatível com o --hook-name.

--profile TEXT

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

--region TEXT

O Região da AWS para implantar. Por exemplo, us-east-1.

--save-params

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

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

Especifica se o comando deve ignorar a extração da imagem mais recente do Docker para o tempo de execução do Lambda.

--template-file, --template, -t PATH

O caminho e o nome do arquivo de AWS SAM modelo[default: template.[yaml|yml]]. Essa opção não é compatível com o --hook-name.

--terraform-project-root-path

O caminho relativo ou absoluto para o diretório de nível superior contendo seus arquivos de configuração Terraform ou código-fonte da função. Se esses arquivos estiverem localizados fora do diretório que contém seu módulo raiz Terraform, use essa opção para especificar seu caminho absoluto ou relativo. Essa opção exige que --hook-name seja definida como terraform.

--use-container, -u

Se as funções dependerem de pacotes com dependências compiladas de forma nativa, use essa opção para desenvolver a função dentro de um contêiner do Docker semelhante ao Lambda.