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
.
-
Para obter uma introdução ao AWS SAMCLI, consulteO que é o AWS SAMCLI?.
-
Para obter a documentação sobre o uso do AWS SAMCLI
sam build
comando, consulteUsar o 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
esam 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 exemplosam 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ção —
Makefile
,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çãocached = 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 entradarequests=1.x
e a versão mais recente do módulo de solicitação mudar de1.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 contiverFunction1
,Function2
eFunction3
e você executarsam build --exclude Function2
, somenteFunction1
eFunction3
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 comoterraform
. --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.