sam sync - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

sam sync

Esta página proporciona información de referencia para el AWS Serverless Application Model comando Command Line Interface (AWS SAMCLI)sam sync.

El comando sam sync sincroniza los cambios de la aplicación local con Nube de AWS.

Uso

$ sam sync <options>

Opciones

--base-dir, -s DIRECTORY

Resuelve las rutas relativas al código fuente de la función o capa con respecto a este directorio. Utilice esta opción para cambiar la forma en que se resuelven las rutas relativas a las carpetas de código fuente. De forma predeterminada, las rutas relativas se resuelven con respecto a la ubicación de la AWS SAM plantilla.

Además de los recursos de la aplicación o pila raíz que esté creando, esta opción también se aplica a las aplicaciones o pilas anidadas. Además, esta opción se aplica a los siguientes tipos y propiedades de recursos:

  • Tipo de recurso: AWS::Serverless::Function Propiedad: CodeUri

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

  • Tipo de recurso: AWS::Serverless::LayerVersion Propiedad: ContentUri

  • Tipo de recurso: AWS::Lambda::Function Propiedad: Code

  • Tipo de recurso: AWS::Lambda::LayerVersion Propiedad: Content

--build-image TEXT

El URI de la imagen de contenedor que quiere utilizar al crear la aplicación. De forma predeterminada, AWS SAM utiliza el URI del repositorio de imágenes del contenedor de Amazon Elastic Container Registry (Amazon ECR) Public. Especifique esta opción para utilizar una imagen diferente.

Puede utilizar esta opción varias veces con un solo comando. Cada opción acepta una cadena o un par clave-valor.

  • Cadena: especifique el URI de la imagen del contenedor que utilizarán todos los recursos de la aplicación. A continuación, se muestra un ejemplo:

    $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  • Par clave-valor: especifique el nombre del recurso como clave y el URI de la imagen del contenedor que se utilizará con ese recurso como valor. Utilice este formato para especificar un URI de imagen de contenedor diferente para cada recurso de la aplicación. A continuación, se muestra un ejemplo:

    $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8

Esta opción solo se aplica si se especifica la opción --use-container; de lo contrario, se producirá un error.

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

Proporciona --build-in-source para compilar el proyecto directamente en la carpeta de origen.

La opción --build-in-source admite los siguientes tiempos de ejecución y métodos de compilación:

  • Tiempos de ejecución: cualquier tiempo de ejecución Node.js compatible con la opción sam init --runtime.

  • Métodos de compilación: Makefile, esbuild.

La opción --build-in-source no es compatible con las siguientes opciones:

  • --use-container

Valor predeterminado: --no-build-in-source

--capabilities LIST

Una lista de capacidades que especifique para AWS CloudFormation permitir la creación de determinadas pilas. Algunas plantillas de pila pueden incluir recursos que pueden afectar a los permisos de tu Cuenta de AWS. Por ejemplo, mediante la creación de nuevos usuarios AWS Identity and Access Management (IAM). Especifique esta opción para anular los valores predeterminados. Entre los valores válidos se incluyen los siguientes:

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_RESOURCE_POLICY

  • CAPABILITY_AUTO_EXPAND

Valores predeterminados: CAPABILITY_NAMED_IAM y CAPABILITY_AUTO_EXPAND

--code

De forma predeterminada, AWS SAM sincroniza todos los recursos de la aplicación. Especifique esta opción para sincronizar solo los recursos de código, que incluyen lo siguiente:

  • 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 los recursos de código, AWS SAM utiliza las API AWS de servicio directamente, en lugar de desplegarlas directamente. AWS CloudFormation Para actualizar tu AWS CloudFormation pila, ejecuta sam sync --watch osam deploy.

--config-env TEXT

El nombre del entorno que especifica los valores de los parámetros predeterminados del archivo de configuración que se va a utilizar. El valor por defecto es “predeterminado”. Para obtener más información sobre los archivos de configuración, consulte Archivo de configuración de la CLI de AWS SAM.

--config-file PATH

La ruta y el nombre del archivo de configuración que contiene los valores de parámetros predeterminados que se van a utilizar. El valor por defecto es “samconfig.toml” en la raíz del directorio del proyecto. Para obtener más información sobre los archivos de configuración, consulte Archivo de configuración de la CLI de AWS SAM.

--dependency-layer | --no-dependency-layer

Especifica si se deben separar las dependencias de las funciones individuales en otra capa para acelerar el proceso de sincronización.

Valor predeterminado: --dependency-layer

--image-repository TEXT

El nombre del repositorio Amazon Elastic Container Registry (Amazon ECR) en el que este comando carga la imagen de la función. Es necesario para las funciones declaradas con el tipo de paquete Image.

--image-repositories TEXT

Una asignación de funciones a su URI de repositorio de Amazon ECR. Haga referencia a las funciones por su ID lógico. A continuación, se muestra un ejemplo:

$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

Puede especificar esta opción varias veces con un solo comando.

--kms-key-id TEXT

El ID de una clave AWS Key Management Service (AWS KMS) que se utiliza para cifrar los artefactos que se encuentran en reposo en el bucket de Amazon S3. Si no especifica esta opción, utilizará claves de cifrado administradas por Amazon S3. AWS SAM

--metadata

Un mapa de metadatos para adjuntar a todos los artefactos a los que haga referencia en la plantilla.

--notification-arns LIST

Una lista de los ARN de temas de Amazon Simple Notification Service (Amazon SNS) asociados a la pila AWS CloudFormation .

--parameter-overrides

Una cadena que contiene anulaciones de AWS CloudFormation parámetros codificadas como pares clave-valor. Use el mismo formato que AWS Command Line Interface (AWS CLI). Por ejemplo, ParameterKey=ParameterValue InstanceType=t1.micro.

--resource TEXT

Especifica el tipo de recurso que se va a sincronizar. Para sincronizar varios recursos, puede especificar esta opción varias veces. Esta opción es compatible con la opción --code. El valor debe ser uno de los recursos que se enumeran en --code. Por ejemplo, --resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion.

--resource-id TEXT

Especifica el ID del recurso que se va a sincronizar. Para sincronizar varios recursos, puede especificar esta opción varias veces. Esta opción es compatible con la opción --code. Por ejemplo, --resource-id Function1 --resource-id Function2.

--role-arn TEXT

El nombre de recurso de Amazon (ARN) de una función de IAM que se AWS CloudFormation asume al aplicar el conjunto de cambios.

--s3-bucket TEXT

El nombre del depósito de Amazon Simple Storage Service (Amazon S3) en el que este comando carga AWS CloudFormation la plantilla. Si la plantilla tiene más de 51 200 bytes, se requiere la opción --s3-bucket o la --resolve-s3. Si especifica ambas opciones --s3-bucket y --resolve-s3, se producirá un error.

--s3-prefix TEXT

El prefijo que se agrega a los nombres de los artefactos que carga en el bucket de Amazon S3. El nombre del prefijo es un nombre de ruta (nombre de carpeta) del bucket de Amazon S3. Esto se aplica únicamente a las funciones declaradas con el tipo de paquete Zip.

--save-params

Guarda los parámetros que proporciona en la línea de comandos en el archivo de AWS SAM configuración.

--skip-deploy-sync | --no-skip-deploy-sync

Especifica --skip-deploy-sync para omitir la sincronización inicial de la infraestructura si no es necesaria. AWS SAMCLIComparará su AWS SAM plantilla local con la AWS CloudFormation plantilla desplegada y realizará una implementación solo si se detecta un cambio.

--no-skip-deploy-syncEspecifica que se debe realizar un AWS CloudFormation despliegue cada vez sam sync que se ejecute.

Para obtener más información, consulte Omita la AWS CloudFormation implementación inicial.

Valor predeterminado: --skip-deploy-sync

--stack-name TEXT

El nombre de la AWS CloudFormation pila de la aplicación.

Esta opción es obligatoria.

--tags LIST

Una lista de etiquetas para asociarlas a la pila que se crea o actualiza. AWS CloudFormation también propaga estas etiquetas a los recursos de la pila que las admiten.

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

La ruta y el nombre del archivo donde se encuentra la AWS SAM plantilla.

nota

Si especifica esta opción, solo se AWS SAM despliega la plantilla y los recursos locales a los que apunta.

--use-container, -u

Si sus funciones dependen de paquetes que tienen dependencias compiladas de forma nativa, utilice esta opción para crear la función dentro de un AWS Lambda contenedor similar. Docker

nota

Actualmente, esta opción no es compatible con --dependency-layer. Si usa --use-container con --dependency-layer, la CLI de AWS SAM le informará y continuará con --no-dependency-layer.

--watch

Inicia un proceso que vigila la aplicación local en busca de cambios y los sincroniza automáticamente con la. Nube de AWS De forma predeterminada, al especificar esta opción, AWS SAM sincroniza todos los recursos de la aplicación a medida que los actualiza. Con esta opción, AWS SAM realiza un AWS CloudFormation despliegue inicial. A continuación, AWS SAM utiliza las API AWS de servicio para actualizar los recursos de código. AWS SAM AWS CloudFormation se utiliza para actualizar los recursos de infraestructura al actualizar la AWS SAM plantilla.

--watch-exclude TEXT

Excluye un archivo o carpeta de ser observado para cambios de archivo. Para utilizar esta opción, también se debe proporcionar --watch.

Esta opción recibe un par de clave-valor:

  • Clave: el identificador lógico de una función de Lambda en la aplicación.

  • Valor: el nombre del archivo o la carpeta asociados que se van a excluir.

Al actualizar los archivos o carpetas especificados en la --watch-exclude opción, no AWS SAM CLI se iniciará la sincronización. Sin embargo, cuando una actualización de otros archivos o carpetas inicie una sincronización, estos archivos o carpetas se incluirán en dicha sincronización.

Puede proporcionar esta opción varias veces en un mismo comando.