sam sync - AWS Serverless Application Model

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.

O comando sam sync sincroniza as alterações do aplicativo local com o Nuvem AWS.

Uso

$ sam sync <options>

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

--build-image TEXT

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-image amazon/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-image Function1=amazon/aws-sam-cli-build-image-python3.8

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

  • --use-container

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

--capabilities LIST

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_IAM e CAPABILITY_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-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.

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

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

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-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

Você pode especificar esta opção várias vezes em um único comando.

--kms-key-id TEXT

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

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

--resource TEXT

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

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

O nome de recurso da Amazon (ARN) de um perfil do IAM que CloudFormation assume ao aplicar o conjunto de alterações.

--s3-bucket TEXT

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-bucket ou a opção --resolve-s3 serão obrigatórias. Se você especificar as opções --s3-bucket e --resolve-s3, ocorrerá um erro.

--s3-prefix TEXT

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-sync para 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-sync para realizar uma implantação CloudFormation sempre que sam sync for executada.

Para saber mais, consulte Ignore a implantação inicial do CloudFormation.

Padrão: --skip-deploy-sync

--stack-name TEXT

O nome da pilha CloudFormation do seu aplicativo.

Essa opção é obrigatória.

--tags LIST

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, -t PATH

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-container com --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-exclude TEXT

Exclui um arquivo ou pasta da observação de alterações no arquivo. Para usar essa opção, --watch deverá 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.