sam sync
Esta página fornece informações de referência para o comando Interface da Linha de Comando (AWS SAM CLI) sam sync do AWS Serverless Application Model.
-
Para obter uma introdução à CLI do AWS SAM, consulte O que é o AWS SAM do CLI?
-
Para obter a documentação sobre como usar o AWS SAM CLI, consulte AWS SAM CLI.
O comando sam sync sincroniza as alterações do aplicativo local com o Nuvem AWS.
Uso
$sam sync<options>
Opções
--base-dir, -sDIRECTORY-
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 para alterar a forma como os caminhos relativos para as 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 se aplica a aplicativos ou pilhas aninhados. Além disso, essa opção se aplica aos seguintes tipos e propriedades de recursos:
-
Tipo de recursos:
AWS::Serverless::FunctionPropriedade:CodeUri -
Tipo de recurso:
AWS::Serverless::FunctionAtributo do recurso:MetadataEntrada:DockerContext -
Tipo de recursos:
AWS::Serverless::LayerVersionPropriedade:ContentUri -
Tipo de recursos:
AWS::Lambda::FunctionPropriedade:Code -
Tipo de recursos:
AWS::Lambda::LayerVersionPropriedade:Content
-
--build-imageTEXT-
O URI da imagem do contêiner que você deseja usar ao criar o aplicativo. Por padrão, AWS SAM usa o URI do repositório de imagem do recipiente a partir do Amazon Elastic Container Registry (Amazon ECR) Public. Especifique essa opção para usar uma imagem diferente.
Você pode usar essa opção várias vezes em um único comando. Cada opção aceita uma sequência ou um par de chave/valor.
-
String - Especifique o URI da imagem do contêiner que todos os recursos do seu aplicativo usarão. Veja um exemplo a seguir:
$sam sync --build-imageamazon/aws-sam-cli-build-image-python3.8 -
Par de valores-chave - especifique o nome do recurso como chave e o URI da imagem do contêiner a ser usado com esse recurso como valor. Use esse formato para especificar um URI de imagem de contêiner diferente para cada recurso em seu aplicativo. Veja um exemplo a seguir:
$sam sync --build-imageFunction1=amazon/aws-sam-cli-build-image-python3.8
Essa opção só se aplica se a opção
--use-containerfor especificada, caso contrário, ocorrerá um erro. -
--build-in-source | --no-build-in-source-
Providencie
--build-in-sourcepara compilar seu projeto diretamente na pasta de origem.A opção
--build-in-sourceoferece 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-sourcenão é compatível com as seguintes opções:-
--use-container
Padrão:
--no-build-in-source -
--capabilitiesLIST-
Uma lista de recursos que você especifica para permitir que CloudFormation crie certas pilhas. Alguns modelos de pilha podem incluir recursos que podem afetar as permissões em sua Conta da AWS. Por exemplo, criando novos usuários AWS Identity and Access Management (IAM). Especifique essa opção para substituir os valores padrão. Entre os valores válidos estão os seguintes:
-
CAPACIDADE_IAM
-
CAPACIDADE_NAMED_IAM
-
POLÍTICA DE RECURSOS DE CAPACIDADE
-
CAPABILITY_AUTO_EXPAND
Padrão:
CAPABILITY_NAMED_IAMeCAPABILITY_AUTO_EXPAND -
--code-
Por padrão, AWS SAM sincroniza todos os recursos em seu aplicativo. Especifique essa opção para sincronizar somente recursos de código, que incluem o seguinte:
-
AWS::Serverless::Function -
AWS::Lambda::Function -
AWS::Serverless::LayerVersion -
AWS::Lambda::LayerVersion -
AWS::Serverless::Api -
AWS::ApiGateway::RestApi -
AWS::Serverless::HttpApi -
AWS::ApiGatewayV2::Api -
AWS::Serverless::StateMachine -
AWS::StepFunctions::StateMachine
Para sincronizar recursos de código, AWS SAM use APIs de serviço AWS diretamente, em vez de implantar por meio do AWS CloudFormation. Para atualizar sua pilha CloudFormation, execute sam sync --watch ou sam deploy.
-
--config-envTEXT-
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-filePATH-
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. --dependency-layer | --no-dependency-layer-
Especifica se as dependências de funções individuais devem ser separadas em outra camada para acelerar o processo de sincronização.
Padrão:
--dependency-layer --image-repositoryTEXT-
O nome do repositório do Amazon Elastic Container Registry (Amazon ECR) no qual esse comando faz upload da imagem da função. Necessário para funções declaradas com o tipo de pacote
Image. --image-repositoriesTEXT-
Um mapeamento de funções para o URI do repositório Amazon ECR. Funções de referência por meio de sua ID lógica. Veja um exemplo a seguir:
$sam sync --image-repositoriesFunction1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repoVocê pode especificar esta opção várias vezes em um único comando.
--kms-key-idTEXT-
O ID de uma chave (AWS KMS) do AWS Key Management Service usada para criptografar artefatos que estão em repouso no bucket do Amazon S3. Se não for especificada essa opção, AWS SAM usará chaves de criptografia gerenciadas pelo Amazon S3.
--metadata-
Um mapa de metadados para anexar a todos os artefatos que você faz referência no seu modelo.
--notification-arnsLIST-
Uma lista dos ARNs de tópicos do Amazon Simple Notification Service (Amazon SNS) que CloudFormation associa à pilha.
--no-use-container-
Uma opção que permite usar o kit de ferramentas do IDE para definir o comportamento padrão.
--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
--resourceTEXT-
Especifica o tipo de recurso a ser sincronizado. Para sincronizar vários recursos, você pode especificar essa opção várias vezes. Essa opção é compatível com a opção
--code. O valor deve ser um dos recursos listados em--code. Por exemplo,--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion. --resource-idTEXT-
Especifica o ID do recurso a ser sincronizado. Para sincronizar vários recursos, você pode especificar essa opção várias vezes. Essa opção é compatível com a opção
--code. Por exemplo,--resource-id Function1 --resource-id Function2. --role-arnTEXT-
O nome de recurso da Amazon (ARN) de um perfil do IAM que CloudFormation assume ao aplicar o conjunto de alterações.
--s3-bucketTEXT-
O nome do bucket do Amazon Simple Storage Service (Amazon S3) no qual esse comando faz upload do modelo CloudFormation. Se seu modelo for maior que 51.200 bytes, a opção
--s3-bucketou a opção--resolve-s3serão obrigatórias. Se você especificar as opções--s3-buckete--resolve-s3, ocorrerá um erro. --s3-prefixTEXT-
O prefixo adicionado aos nomes dos artefatos que você faz upload para o bucket do Amazon S3. O nome do prefixo é um nome de caminho (nome da pasta) para o bucket do Amazon S3. Isso se aplica somente às funções declaradas com o tipo de pacote
Zip. --save-params-
Salva os parâmetros fornecidos na linha de comando no arquivo de configuração AWS SAM.
--skip-deploy-sync | --no-skip-deploy-sync-
Especifica
--skip-deploy-syncpara ignorar a sincronização inicial da infraestrutura se ela não for necessária. O AWS SAM CLI comparará seu modelo AWS SAM local com o modelo CloudFormation implantado e executará uma implantação somente se uma alteração for detectada.Especifica
--no-skip-deploy-syncpara realizar uma implantação CloudFormation sempre quesam syncfor executada.Para saber mais, consulte Ignore a implantação inicial do CloudFormation.
Padrão:
--skip-deploy-sync --stack-nameTEXT-
O nome da pilha CloudFormation do seu aplicativo.
Essa opção é obrigatória.
-
Uma lista de tags a serem associadas à pilha criada ou atualizada. CloudFormation também propaga essas tags para recursos na pilha que as suportam.
--template-file, --template, -tPATH-
O caminho e o nome do arquivo em que seu modelo AWS SAM está localizado.
nota
Se você especificar essa opção, então AWS SAM implantará somente o modelo e os recursos locais para os quais ele aponta.
--use-container, -u-
Se suas funções dependerem de pacotes que tenham dependências compiladas de forma nativa, use essa opção para criar sua função dentro de um contêiner AWS Lambda semelhante a Docker.
nota
Atualmente, essa opção não é compatível com o
--dependency-layer. Se você usa--use-containercom--dependency-layer, AWS SAM CLI informa e continua com--no-dependency-layer. --watch-
Inicia um processo que monitora o aplicativo local em busca de alterações e as sincroniza automaticamente com Nuvem AWS. Por padrão, quando você especifica essa opção, AWS SAM sincroniza todos os recursos em seu aplicativo à medida que você os atualiza. Com essa opção, AWS SAM executa uma implantação CloudFormation inicial. Em seguida, AWS SAM usa APIs de serviço AWS para atualizar os recursos de código. AWS SAM usa CloudFormation para atualizar recursos de infraestrutura quando você atualiza seu modelo AWS SAM.
--watch-excludeTEXT-
Exclui um arquivo ou pasta da observação de alterações no arquivo. Para usar essa opção,
--watchdeverá ser fornecido.Cada opção recebe um par de valores-chave:
-
Chave — O ID lógico de uma função do Lambda em seu aplicativo.
-
Valor — O nome do arquivo ou pasta associado a ser excluído.
Ao atualizar quaisquer arquivos ou pastas especificados com a opção
--watch-exclude, o AWS SAM CLI não iniciará uma sincronização. No entanto, quando uma atualização de outros arquivos ou pastas inicia uma sincronização, esses arquivos ou pastas serão incluídos nessa sincronização.Você pode fornecer essa opção várias vezes em um único comando.
-
Exemplos
Para obter exemplos sobre como usar esse comando, consulte Opções para o comando sam sync.